{"report_id":"c5cb0910-5b4a-4e37-88fc-5720b4068233","version":0,"status":"done","tags":[],"date":"2026-07-27T02:53:17Z","url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"final":{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"title":"trust wealth avenue | CFD Trading — Trading on Stocks, Gold, Oil, Indices","dom":{"size":250400,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (40540)","md5":"d2000142d0e039027d244b33f4692948","sha1":"910ff20a1e4354c83280266c87aadab02139c5e2","sha256":"6091c17c26fc07ca5ff25037c2224d5eb3490e53a9e1e2a391bd700b49aacf99","sha512":"857b733be355e3a05d097fb23e06ccdd4d4d32b4d5b934f290bb3b54b1ed4c1a85079b47b6b6e10f519a84060b9cbc372450f63e431c0de0b7920aa03aa46450","ssdeep":"1536:49h5hPFszcBEOcMJQOuyQjzsju51OMs/KC0gYZnqdQPJzH8XziM:4NhwcQj/51OMsJ4hqdQPJg9","tlshash":"ee34d76562f1007f9cc3c1e1faa6af6eae69d587da2784d8b39c4141afc3c96cc43650","dom_hash":"domhash80e316266ec3c937aa1f7ad0c6d8a627","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T02:53:17Z","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":1}},"detection":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"fonts.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":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":1,"received_data":13319,"sent_data":551,"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":"api.coingecko.com","ip":{"addr":"104.20.41.132","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2014-03-26","domain_rank":442226,"first_seen":"2018-05-18T12:16:11Z","last_seen":"2026-07-21T20:24:11.162909Z","alert_count":0,"request_count":1,"received_data":1300,"sent_data":588,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"s2.coinmarketcap.com","ip":{"addr":"143.204.238.34","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":51,"received_data":128286,"sent_data":28564,"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 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"]}]},{"fqdn":"www.googletagmanager.com","ip":{"addr":"142.250.178.72","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":"cdnjs.cloudflare.com","ip":{"addr":"104.17.24.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2009-02-17","domain_rank":1222,"first_seen":"2012-05-23T12:49:49Z","last_seen":"2026-07-26T22:43:30.214545Z","alert_count":0,"request_count":3,"received_data":363140,"sent_data":1803,"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"]}]},{"fqdn":"www.smartsuppchat.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2014-02-02","domain_rank":491650,"first_seen":"2017-01-30T05:24:57Z","last_seen":"2026-07-24T07:15:25.153212Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":478,"comment":"","tags":null,"fingerprints":null},{"fqdn":"unpkg.com","ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2016-01-06","domain_rank":1093,"first_seen":"2016-01-07T23:26:01Z","last_seen":"2026-07-20T07:49:24.133645Z","alert_count":0,"request_count":2,"received_data":47738,"sent_data":974,"comment":"","tags":null,"fingerprints":[{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","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"]}]},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.67","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":6,"received_data":279262,"sent_data":3488,"comment":"","tags":null,"fingerprints":null},{"fqdn":"360trustwealthavenue.stglen.com","ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2026-01-15","domain_rank":0,"first_seen":"2026-07-27T02:47:27.239252Z","last_seen":"2026-07-27T02:47:27.239252Z","alert_count":23,"request_count":23,"received_data":1442532,"sent_data":28817,"comment":"","tags":null,"fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"PHP:8.2.29","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":"Unpkg","description":"Unpkg is a content delivery network for everything on npm.","website":"https://unpkg.com","common_platform_enumeration":"","icon":"Unpkg.png","categories":["CDN"]},{"name":"Tailwind CSS","description":"Tailwind is a utility-first CSS framework.","website":"https://tailwindcss.com/","common_platform_enumeration":"","icon":"tailwindcss.svg","categories":["UI frameworks"]},{"name":"jQuery CDN","description":"jQuery CDN is a way to include jQuery in your website without actually downloading and keeping it your website's folder.","website":"https://code.jquery.com/","common_platform_enumeration":"","icon":"jQuery.svg","categories":["CDN"]},{"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"]},{"name":"Alpine.js","description":"","website":"https://github.com/alpinejs/alpine","common_platform_enumeration":"","icon":"Alpine.js.png","categories":["JavaScript frameworks"]},{"name":"jQuery:3.6.0","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"]}]},{"fqdn":"cdn.tailwindcss.com","ip":{"addr":"104.26.2.143","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-07-20","domain_rank":117330,"first_seen":"2018-07-09T05:46:13Z","last_seen":"2026-07-20T08:40:19.100598Z","alert_count":0,"request_count":2,"received_data":408705,"sent_data":968,"comment":"","tags":null,"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"]}]},{"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":115,"received_data":3793754,"sent_data":62385,"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":"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":29,"received_data":1710983,"sent_data":16078,"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":"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 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":"cdn.gtranslate.net","ip":{"addr":"104.26.13.42","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2011-05-26","domain_rank":101861,"first_seen":"2022-11-07T21:49:20Z","last_seen":"2026-07-24T01:31:43.488627Z","alert_count":0,"request_count":2,"received_data":25363,"sent_data":1054,"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":"widgetdata.tradingview.com","ip":{"addr":"93.123.102.226","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"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":772,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.google.com","ip":{"addr":"142.251.157.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":63330,"sent_data":497,"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":7,"received_data":107724,"sent_data":3549,"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":"s.tradingview.com","ip":{"addr":"3.164.240.104","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":1,"received_data":77929,"sent_data":947,"comment":"","tags":null,"fingerprints":[{"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"]},{"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"]}]},{"fqdn":"code.jquery.com","ip":{"addr":"151.101.129.155","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"domain_registered":"2005-12-10","domain_rank":4915,"first_seen":"2012-05-21T17:28:02Z","last_seen":"2026-07-27T00:05:00.24147Z","alert_count":0,"request_count":1,"received_data":90143,"sent_data":496,"comment":"","tags":null,"fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]}]},{"fqdn":"i.ytimg.com","ip":{"addr":"142.250.178.118","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2007-12-11","domain_rank":436,"first_seen":"2012-10-03T19:11:04Z","last_seen":"2026-07-20T08:16:40.328836Z","alert_count":0,"request_count":1,"received_data":629,"sent_data":557,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.youtube.com","ip":{"addr":"142.251.150.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":3847554,"sent_data":6304,"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":"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":1342,"sent_data":1268,"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"]}]}],"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.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"16c0e822a412e900773f94265229b860","sha1":"3f7b94f3942f43c81bf6104a63328a04122f46ef","sha256":"b15fdefcf464539466ed442882025a3860330cb62ac4613d91e8a94448850155","sha512":"662eed3905e417a9d5d68d7a9aef8c7eb97df1e6c03ad095fe7bc3f29a7820cd4b4611afd58f3ac95a91b71d7c45daeebcddd1ed5092d85b6d678b40b7fbe88f","ssdeep":"","tlshash":"60a024005c0c45013713315144370c0750d11107f0f44d0f430dc05017305050744333","size":75,"data":"","first_seen":"2026-07-25T07:02:54.207231Z","last_seen":"2026-07-27T05:15:37.066484Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"eb7194ac9d6f5a83b6c7cae43038d2ef","sha1":"9b1cfda44cba767b72373d6df56249b565efb634","sha256":"eb2bf66d92707acd8be84dbfcca1376c2562c4ec94a4d87babbbe67f4d125aae","sha512":"7ae1e7cb8edf692da592a8ddc798f6f564f5ea0d6fd6919ee5c86ca95d983d15e707615cb6ff6623c0951e0eca8a4852f1d8d8596f985ba3e214feb47bfcb886","ssdeep":"","tlshash":"6390025969497099203710e0425e292640d2c40065544041961494f65434b17d531c6a","size":57,"data":"","first_seen":"2026-07-25T07:02:54.098994Z","last_seen":"2026-07-27T05:15:37.007669Z","times_seen":431,"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-07-27T05:24:59.926271Z","times_seen":1196,"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-07-27T05:24:59.811029Z","times_seen":1201,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"f8dd08c1ceed06b9ed073dcc86eca95e","sha1":"1f507c5028d3379357b76ba031b0143ee2f6b527","sha256":"a0a3349a4ce37243bce99d3de2c8ba6a7d0b0e23641fc8adfb90f43d2f47ba7c","sha512":"083286757bb9aa8368ad7b6ac98fd76574cd804e64109e50a4b37dc0243b0d8c685d4fb1d96cdaeac6893566583bb109b305b8da8a725102084d539828328aec","ssdeep":"","tlshash":"1d01d8f81eb41513360f6065a06c0819ed9d51d3ec0d7d2a36cda6c25f0c50cd5f8355","size":800,"data":"","first_seen":"2026-05-25T21:59:04.60258Z","last_seen":"2026-07-27T05:24:59.991174Z","times_seen":774,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1588b5bdf4706c786d46b014538ed183","sha1":"c5964411e8a563d76eae7e09155989e910e2022c","sha256":"c9e94766b0950dc65608e5e5e35e6ee072b9d41bb66b38a89a6ca1c86666e57b","sha512":"491378d7f5527804477ef18a69836aea9a997d7f3a16c36b9c974b211827958e8071ac0b80782bca5e7124e9b3577ae97400b605041df51b0b24584d48560b75","ssdeep":"","tlshash":"de31372c52db013901b316967eda9b803a356443600bed2e7b7dc7c85f407a5a971fd9","size":1687,"data":"","first_seen":"2026-05-25T21:59:04.604372Z","last_seen":"2026-07-27T05:24:59.991711Z","times_seen":799,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"c9f45ffa95b918572893aea3020672c6","sha1":"7e8e1dbb5a1eb1f26d406aa07360cf9d5f4c75ef","sha256":"53f8aa3cf116eb764ee6f346cc5029228f963f3c2359cd5920a2f294595c0f5f","sha512":"e362e1d9357078fed7087050688f862b309270bc15929c6b0b09221c9cc9984e3e857a32d465ff79d58195857f1c3e770c7d9cf3901de85ec198fc6ca850bb4c","ssdeep":"","tlshash":"1531ab20db1d0d3a0188205848ba10875a4560474d757cb933bc12ac2f4deaf2eb97bd","size":1633,"data":"","first_seen":"2026-05-25T21:59:04.605704Z","last_seen":"2026-07-27T05:09:56.426354Z","times_seen":458,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"f440aa0e0ec71e36a1ed8bea17ec0858","sha1":"6df9d2178771e8c0cf51e305f78c14a67b8531f4","sha256":"e7dd97017b1a8ae231778cf6382613847bbe1bdcef3fc1997589db4c68119035","sha512":"4f159a0882d7f9a34c3a00a766e73d91fb40f18d522b6064fd4ea52cfb2550b3355db635f1d487afd711804000b27c77eb86b7c6cd7bff152931789809ddd9f4","ssdeep":"","tlshash":"df80002b8a30ea082a280382e00ca822200aa32c80fa88aa03880ccc80c208ac200880","size":31,"data":"","first_seen":"2026-05-25T21:59:04.607195Z","last_seen":"2026-07-27T05:24:59.993577Z","times_seen":827,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"6bd43cf0ae158526c6ab93dc3be79f28","sha1":"15c289e342bd3fdf5b1e95f7abf25a2bc78bf357","sha256":"7a13d5ae0755d86c09084ec300c4a0f1a0a06921f74d9980eba9d966ff17ad38","sha512":"5190eb107c27f5d655eab378cd468228aa031d088f59082f257f41d464a29fbdb23594043afe89a3f9b63ce86d91efad6c2901c816d85196389293a6a5a28521","ssdeep":"","tlshash":"df90040100513554711530d00134c3dd157df075dc4dd335754f57004040405c53c401","size":40,"data":"","first_seen":"2023-03-07T01:02:07Z","last_seen":"2026-07-27T05:14:38.667419Z","times_seen":25194,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"47763bd7f2dd1f4382d08390fd57543e","sha1":"02f9384db4fd1fc4fef099f30effdcf8b02ea405","sha256":"1cf5fc2e8152dd9de806c0f5cc4c3c8c643af4e766904af5351130f4803851b9","sha512":"77b376186666c380bccf3334c2ffb50b204ae71534294d2dfc65b9d4d12d1f961df14c14e6359a67b6d2c5d8325d7c6335b24af0a4f7b09d89aa28c0531de57d","ssdeep":"","tlshash":"f9c08c188032a078000a210c8ab92292322041e70e163d24b39d544a0f0aa4f43b929c","size":175,"data":"","first_seen":"2026-05-25T21:59:04.609021Z","last_seen":"2026-07-27T05:24:15.778387Z","times_seen":852,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"58c87c9d47ce45616ed40fe2254b21d7","sha1":"f2e1570c602626b8f3d6c0870938802203beb069","sha256":"64b67cba73f89a05470c186acecae4897a314fb57e7df68d357f41770de7fabf","sha512":"3400082c73fc1a0403cfe7676f2b416f3c9edec8c7bfcf6578d0afd030fa6a1216036e5c5236697cc5096407f22ef18d89bac73be1459b3719496c67c4a26b7e","ssdeep":"","tlshash":"d121cb6cb0f361a20a73b12a676f7a1d3132a093608ccd947d5c4fe95f7522c06a2bdd","size":1371,"data":"","first_seen":"2026-05-25T21:59:04.610219Z","last_seen":"2026-07-27T05:09:56.429138Z","times_seen":771,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"8a7f5a260f97c661e67b197c0b8d91fd","sha1":"7b66ea633e7909f65bcec56c0374bc692c94249a","sha256":"a272915de806d89be5293a871ad39169db9440b6a0aa3e3597777c2687d20bb6","sha512":"bfceec032cc1287a78f16345e175acfa8c6d7b07e2db281971b16c9e2d7d502121414d832bd2390ae9e2d10e9ca3758762d663c408c7e144fd73ed94aab7e770","ssdeep":"","tlshash":"a4e0f83e3c3141808ba204b8c1f7f2383d1a30600085ee13a8aa88ad6cf0fce7e01998","size":416,"data":"","first_seen":"2026-07-27T02:47:36.178397Z","last_seen":"2026-07-27T02:53:32.531739Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.963134Z","times_seen":1281,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.963702Z","times_seen":4103,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.964342Z","times_seen":1162,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:14:27.459138Z","times_seen":203654,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.965457Z","times_seen":1210,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.966074Z","times_seen":1210,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-27T05:24:59.966631Z","times_seen":963,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-27T05:24:59.967262Z","times_seen":963,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-27T05:31:38.862091Z","times_seen":513,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.968347Z","times_seen":1190,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-27T05:24:59.968934Z","times_seen":1033,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-27T05:24:59.969497Z","times_seen":1193,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.970106Z","times_seen":1190,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.970684Z","times_seen":1199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.971354Z","times_seen":964,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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-07-27T05:24:59.971902Z","times_seen":964,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.963134Z","times_seen":1281,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.963702Z","times_seen":4103,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.964342Z","times_seen":1162,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:14:27.459138Z","times_seen":203654,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.965457Z","times_seen":1210,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.966074Z","times_seen":1210,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-27T05:24:59.966631Z","times_seen":963,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-27T05:24:59.967262Z","times_seen":963,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-27T05:31:38.862091Z","times_seen":513,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.968347Z","times_seen":1190,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-27T05:24:59.968934Z","times_seen":1033,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-27T05:24:59.969497Z","times_seen":1193,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.970106Z","times_seen":1190,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.970684Z","times_seen":1199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.971354Z","times_seen":964,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\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"},"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-07-27T05:24:59.971902Z","times_seen":964,"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-27T05:24:59.93142Z","times_seen":995,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","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-07-27T05:15:37.034007Z","times_seen":3018,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","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-07-27T05:15:37.034522Z","times_seen":1577,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"bf53cecad8195c4e357f3fae5c315204","sha1":"9ab2fef363a136215cde5b23c3fe79013f914efd","sha256":"91d2b4df989cef44c0dbb2b513f87b85c1a89ce201fc1fda5ebc02083e2c8073","sha512":"8882d6d9239ee03f6533b7e01dca15ee6f3b171ad5c53b92017674ec95d5e3307bea797ef3d2d0a66f8fdc24b1150d4dec283840ac0f44db59d65e5b6ede1b92","ssdeep":"384:UipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka42h30:ZNogFbLr9h30","tlshash":"41822057c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30bb7d","size":18667,"data":"","first_seen":"2026-07-24T15:28:44.970895Z","last_seen":"2026-07-27T05:26:56.041389Z","times_seen":113,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","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-07-27T05:15:37.035489Z","times_seen":3147,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d095849d0a0415d6d88baf93c124f7b8","sha1":"99742b91e7269b18b1454eba6cc7823627da1445","sha256":"ca4d5aee21d2846b8a5930af1dc8f6a82812e5075c21dd327018672be792f8ae","sha512":"a99d7ea7e503f2b791dc7d2f5cccc48fac232c4fc73a9a5d74c0c56cbc8bf8fd28e0e3c96057f3d93b5d93580315e0cf4d444950a63bb0acad3776caacf4fb2b","ssdeep":"384:N40xN5M2HCS5ipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4XF:N40xfHCSUNogFbLrq","tlshash":"30a28417c80c632ad9998d66bc3bb642fc2d075d45a129a46bac9c2c14c7d53e20bbbd","size":22651,"data":"","first_seen":"2026-07-24T15:28:44.97243Z","last_seen":"2026-07-27T05:26:56.04223Z","times_seen":114,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","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-27T05:19:37.215844Z","times_seen":797,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","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-27T05:19:37.216478Z","times_seen":797,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","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-07-27T05:15:37.037499Z","times_seen":1453,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","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-07-27T05:15:37.038045Z","times_seen":3149,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"86649f7e1c723028d2f82b2c50600d69","sha1":"d054d66e4c26951897c16eb69e57f9803279cdbf","sha256":"7c890a86937b21a7c49e2b3888877244c5442926548497319e537f237e78ef13","sha512":"82625c492170b8a8bc520d8e53c837ff8b7f02e4dd0e442c24edf74abdae64db605c53ef7171b7083f234b32d79179662aada511875ce13842c04185e8111905","ssdeep":"","tlshash":"c3d022072187ddb6a2729804030afa15b0ff100b0e262606f3c885026734b8cc262997","size":212,"data":"","first_seen":"2026-07-25T07:02:54.167434Z","last_seen":"2026-07-27T05:15:37.092041Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a78c5c832247d38a96a1d593f639a2f8","sha1":"5f0015f64b3fa0c1cf637e590267ba3b24120422","sha256":"70af5859b85dd4f8bae68a68aca5782a1795821b1cdd307c803d62f76ed1859f","sha512":"effa7fe575fe0f5f3c2a7d8a377f6bc00f909e1e47ec5a6e93f6f16ffd0bf227e506ee3da11dae805d30c1e01b690cacbfb4e891f973bb5cc1daf9cd7a08daab","ssdeep":"","tlshash":"ab7000083e08a0080a2238a000ab00280022000032808a00808002a00c3200e802280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.087327Z","last_seen":"2026-07-27T05:15:37.06307Z","times_seen":432,"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-27T05:26:55.717195Z","times_seen":218,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.259964Z","times_seen":295349,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.260591Z","times_seen":259182,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.261217Z","times_seen":17154,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"3ac0de07ae27b20e95f61e93c2993e93","sha1":"195ab7e08be38028df55b19f248394da765ee849","sha256":"667e9b21084b0b27e91c8fd451ade414c1dc2fcddba5019d95682932ca6e1daf","sha512":"98f14584f1af741aaa9504f7c69b7c85c927decf30ea909db9fc8f17cf741b853a598664d3e399e982817235434430d175d65d2bdaa3738c5460fb321ce3cffe","ssdeep":"768:JYYhGD4U6XHwUPDi7RXPGWOJj08HRYMUJmqczSyY/v1M6LnBYQzhJDoZPRgdfcE0:SaQdGpuMUIbYVM6bBvzhilK0","tlshash":"cd7364640868a8768893e507deb5ff3e9cf416390bc9966dbcb7935c01ec6610eaf413","size":79698,"data":"","first_seen":"2026-07-27T02:53:32.589091Z","last_seen":"2026-07-27T02:53:32.589091Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.26659Z","times_seen":110753,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.269196Z","times_seen":17135,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.270549Z","times_seen":257240,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d283d1818e80d7267d72b236fae9738f","sha1":"d767efc3619e7deff9a4c50b7e456bc2e6a954ed","sha256":"b74af2f4e4ad25e4cf95fbb6734cc89812d5f428e233cb333cc010872ba20788","sha512":"98c9bb90b63dc69d03fef7c9f31b78474be36d6eecda99845cb896ec6a4ad3eb19e20a2c65ce622052159ee4dab61cef7640f7e1d1b0574aca1c74db562f1db0","ssdeep":"","tlshash":"9101475c0a057d9ce90688ccc7c6a6655bac9237be003124f82f454dbae3aeb9830967","size":760,"data":"","first_seen":"2026-07-23T08:14:51.856878Z","last_seen":"2026-07-27T05:15:37.016527Z","times_seen":1434,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-27T05:15:37.017103Z","times_seen":1449,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.279629Z","times_seen":253906,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8453085870f9cc0bcb6bcaa10c3f5806","sha1":"8b8fde14df353a3e04f79aa3a168a98ddaabdc4d","sha256":"bf2ffef502ee0c3067ac17a996708917220d6933e2e8ba6078c785de0a304c4d","sha512":"92f9e82821cb97288e8734ccad7cc954b7adf92675a75f853d089ff897b64be79cc38bc92b9ff7bd3304f1a2d11db860cc6550d8f47fd19f8d239383bebc94e4","ssdeep":"768:W6ScwwWIA8uW3F2xUmULOpAGPun+iWvI5ms:BnWxUmUiA7+iR5F","tlshash":"82f2e19de3c9d3d72a6a8f76262cb82f15d90201c452e0e7ebe0b001dde59c98d2c6d5","size":36571,"data":"","first_seen":"2026-07-27T02:53:32.603319Z","last_seen":"2026-07-27T02:53:32.603319Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6ff85381b1a908719e17cd4c368e9ce7","sha1":"b130c5a14766ff83b994d09394c4c4bed4bb047a","sha256":"c48b5ffb2f9c95ea315bcd458924839c6d13931e7a3eb56940d8c7c0645a78db","sha512":"146dd5dbdb82d92d5c8466f574dff5a00c680e127a75fa706d9676994999fcec28035939471df1625a680f941c01d20f65132cc1771b4e6cd441ea1997cd87b7","ssdeep":"","tlshash":"0ea00263c529c557103855a056a73116f11857609816a01c036a562975e941bff9899a","size":62,"data":"","first_seen":"2023-12-25T02:14:28Z","last_seen":"2026-07-27T05:27:33.20692Z","times_seen":5525,"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-07-27T05:26:55.607441Z","times_seen":218,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"22fb59e0e0cdacc10fb7f1ad105606ed","sha1":"c6b3878cffd44663b546b12c26af899b037a4a53","sha256":"34469a749ff4f676f6d6a4d95bd641b9f9078810647dd3f14ac9e2aca1045513","sha512":"c39750c2a29c1873c338aba8a3bbd078bec533900b4ed5e1e46a17a8daf2b90c1999a8ea60da594bc411f49f60bb33f525f29d47990d0d6575b9231ba0ccf370","ssdeep":"","tlshash":"65d097c46bbb982c4984ce2b403311319049a21c8e080c50b230fb3bf7a075b243b0c1","size":229,"data":"","first_seen":"2026-07-25T07:02:54.072496Z","last_seen":"2026-07-27T05:15:37.064509Z","times_seen":437,"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-27T05:19:37.070003Z","times_seen":815,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.520541Z","times_seen":338672,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9af69e91e9a0e1650ac23ca1a06d9a03","sha1":"1a26706289f10c0bd07fcca5b37e9cd1f31742ce","sha256":"b5f92e34f5614aa40d35166769b90304819bc552ad045006a56b2672ea5e635a","sha512":"23ce7998bc81e6515eb7c1d416ff1e22fe067aaf6d5348bd66654a5c6d9d65e89276e08da1431693589b7566ebdd95651132e2d6ed6ad3cc765532482f5c5d3c","ssdeep":"","tlshash":"67d023de54545753a25515f39009d6154307504f52f8cf5bd11198b414d64074087b11","size":213,"data":"","first_seen":"2026-07-25T07:02:54.07392Z","last_seen":"2026-07-27T05:15:37.02025Z","times_seen":446,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1750e9b76f54961545a1edf5b6bd9a5f","sha1":"9bdfc833f7e055821fae1f547e0abec9ee9b9718","sha256":"358ccf6ccf547b6106792de57295c558115f2ba6f5764c19a638c992bf90aeb4","sha512":"62c097d4b1fa74b247955132f63bb4b06f2ff9fb5074d68382f0f7d3233f82bf1a62b3153497ea23bb745f3c9ecb3c50602bc9484759a6b8b74939944750dcae","ssdeep":"","tlshash":"0fe07db0258123422174df79f0f3120430e172c67e48ac8f51256b429e388d1142353b","size":316,"data":"","first_seen":"2026-07-25T07:02:54.202304Z","last_seen":"2026-07-27T05:15:37.003465Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac6dfa045179132aefaf73bbae961f84","sha1":"5b4a09943ab49ca1438497710be50b54077e9374","sha256":"18437a515c82285b4cbdaf60b46bdcd426eb4514c03ebef4e2e4a3caa0f75497","sha512":"df27138801c468c597084ae71e58544c6d3b95e9d57d3bb003339aa035e1e04eb7b85932f01573eba17613500cd7bf65d9de52570fd0dcd3f409dc5286d5f155","ssdeep":"","tlshash":"a6b012185c0835193f336ce99117681ed0b0dd06c4b4b90d8004d5d402a404e5051cbf","size":94,"data":"","first_seen":"2026-07-25T07:02:54.141577Z","last_seen":"2026-07-27T05:15:37.020775Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"796a99cad1a6610a7fa68e368d72cb4d","sha1":"b484b5b4973974c40859b0bcdc09c6c87a9a659c","sha256":"d61a50f46cd94e534153820f129c90bcab530e78f08cf2f179b008fac3c6f3dd","sha512":"76e33f7b2eac4d092754e12c149ce663195bad3173c574ddbd997bbc8a75594e868ace5263bfbb32aa2d38fe74918ef36242241498935df9df6535aecdaa7fb7","ssdeep":"","tlshash":"69d022072287ddb6a2729804030afa15b0ff100b0f262a06f3c885026734b8cc262a97","size":214,"data":"","first_seen":"2026-07-25T07:02:54.074862Z","last_seen":"2026-07-27T05:15:37.041924Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"422c7d8cfa8b78375cc7a767d2ae5ca6","sha1":"7df3f287f769c205f1392de3532517d602cd1810","sha256":"57b37d7cae9a27d965fdae4adcc844245dfdc407e655aee85dcfff3a08036a3f","sha512":"0a30f697aff3d0fd675001e5fbf9724ba3705766e9da28de966d84aaa8394ee18cf3f49cf5688d12d51f2a6fc073b3a9a578ed8666404c53399e7abb3b210f61","ssdeep":"768:DBCz6escmy5dIOT2C3KBdoqCHL6POK/5IKXqLWoOAUORrST5GUGz++u3hBpShpJ0:FCueivEqCr6POQDXmWomUtzMBpShpJyn","tlshash":"c023f9e97396b13283ef01b190bb424af33d2994150e5464f669d8ee383948d51f3fba","size":46346,"data":"","first_seen":"2026-04-30T23:22:33.584041Z","last_seen":"2026-07-27T05:11:16.699006Z","times_seen":2669,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e25b5a6d5b2365cb579d486a6acba51b","sha1":"6f513d7efbf5cd1176677d41c82b897b8006217b","sha256":"81799c32d53294ca91ef92a976a6501f0a7c8c424aa44278c8f06c0f71e0eb52","sha512":"d0b8a9b323c125a111082164ec638c05109a1b0add4136f4a0b69c99b680579b4755177a7c586a92f295bd1882b7eb8e41eb6bac406ef90d4257805cfb82308f","ssdeep":"","tlshash":"e9e07db0258123422174df79f0f3120430e072c67e48ac8f51256b428e388c1142353b","size":314,"data":"","first_seen":"2026-07-25T07:02:54.113702Z","last_seen":"2026-07-27T05:15:37.075345Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.157.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","size":62519,"data":"","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T05:15:36.990389Z","times_seen":469,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.408806Z","times_seen":133984,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"25607f1ffaa7d1ff142e22e0e8ae6779","sha1":"207c150da361f4c91b20acad7c60918a9818305c","sha256":"8495a59d9339a0440ffe0861eaf8f3248dc31cd6f5e5447e07d6e6d376b2002c","sha512":"5a76b2517dfa3140c30a7a50b1d6f4d49ccf641725897a7d2f2131e4638d97279de45263ebb59371c7dc55e1204c94afd08eaf294e6cffb62e94580ea47223a0","ssdeep":"","tlshash":"6ad05eeb6b0f267900d33d34090b0a546a56c401ecca14e59711b8dc4f5460b40f3d2e","size":242,"data":"","first_seen":"2026-07-25T07:02:54.140729Z","last_seen":"2026-07-27T05:15:37.071234Z","times_seen":433,"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-07-27T05:24:59.932953Z","times_seen":1196,"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-07-27T05:26:55.705137Z","times_seen":218,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"673a875cd33f946c7fb234078db0d89f","sha1":"f1cecf9e970522a619b72e66a124dbf89737b06f","sha256":"e4d6fedd18866f7aa5469a8b90a348fec071f4b82598152a7aac6419edc3ac3b","sha512":"da7502389b64be9c9f1ce98b8976e58b6f1e897b5afd9af08fba27f6d70d01021e08f621eec1d589e2ffe0bd67e8610fd8936fb35623d28eb443631414c11e87","ssdeep":"","tlshash":"c71000c000000003000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T05:15:37.067469Z","times_seen":2308,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"afb0fced528eaac5fe170b763cda5975","sha1":"8f0d85954d44c90a2fc59b8cc9297ea972774185","sha256":"9206ef16552ccd926e4421fe6ef369cbc40add64488b7e3d88350e3588a35c34","sha512":"67f6f6d5f810fc0fe5fe606415d86bc4efb11ca6df92a8d6b6d8280d1e4d731ea24b038f7525a6ac5084fac9f78f13d835e0679a1d0e3cba751465bafbcf4211","ssdeep":"","tlshash":"c71000000000000000000000c000000000000000000000000000000000300000000000","size":2,"data":"","first_seen":"2023-03-10T12:52:28Z","last_seen":"2026-07-27T05:15:37.006336Z","times_seen":527,"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-07-27T05:24:59.882777Z","times_seen":1456,"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-07-27T05:15:36.991702Z","times_seen":3715,"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-27T05:26:56.023662Z","times_seen":219,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d224d956791813697309740c0fbcd15e","sha1":"2418655004b5f0f64a6e4075cb8ac4b53444421d","sha256":"48c035187614ea92c5bf66cec55cf8a9a0a30eaabd1bfd51234d0d5e44c93d65","sha512":"c1005f866f7b788b9fd04d3374ef4405bbadde272bf42c4bd0f8cf942bf1e9f6ebd13d50284f2eb5da4e5fd783c16dd4ef54f7e24e8eaf62496d2e744ffe13eb","ssdeep":"","tlshash":"ea8000083e08ae00800238a0280bc008c832003a0c20880000c800a80cbe02e020282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.182324Z","last_seen":"2026-07-27T05:15:37.055482Z","times_seen":444,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f69a3704d7f533aa4245e6bf79aaf7f0","sha1":"11e5a704728320de77d28101f21079c644136b4c","sha256":"adb064ad7f04d21017f0801899a3867082ed16d71583c6cc7756f30beb9363ff","sha512":"d12fd361ad1905660b2bc871f8d172acac2972e2cb3c4930db744248f12624d3f6410618ed13d6b45e6881d90f82078db0e2178f55b8ae4b151994ecb9ebbcfb","ssdeep":"","tlshash":"27d09730e9010300b22c1ca230a1dfe700a0c4073e00e8268a698dec08f8202c056aec","size":243,"data":"","first_seen":"2026-07-25T07:02:54.142504Z","last_seen":"2026-07-27T05:15:37.025092Z","times_seen":448,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js","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"},"introduction_type":"scriptElement","is_inline":false,"md5":"2671d4a92091986b7abd2e1e685669ca","sha1":"b59db96af3dd1593356058703fc7af3cd7269919","sha256":"986cfef49d6a6ccd5cb1f1cbf562e8341ed581936885830831a2f4c3dc2b5901","sha512":"c07159fc500c72469ba6dfb7ccf5afdbaf476906fb039e5bfc7ab2c95e79b0067a47e6e02ad44915b9ba426273dc39996ffb1899c029253b56e4b02f7d419883","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6Or26ZMViZMEmkfknYH:uD5Unb26nD6Or26ZkFE9fknE","tlshash":"8e52d8a9b660ecbd51d945dbe07a2321b6193944b203aca4b9ecd4c510fdccca131f7e","size":13608,"data":"","first_seen":"2026-07-20T13:42:57.5385Z","last_seen":"2026-07-27T05:21:28.658542Z","times_seen":953,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.549339Z","times_seen":266185,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f58a7d86186e19db84e783bc06177a55","sha1":"8002a6aa19ad59d43ccc8b32ff7c6d561f9e1259","sha256":"41cd1e4850b992f8c433a1a085a6585a8e79ff96413f11e360a6743babd8cb93","sha512":"be81de332fa854c02257328706e95326c7aac28318d95e5f910a68f7b74bda38161de6fe6040a2d41ede8941285d69e4e4b22554f2fe5f6a1bd2473a4b4dd366","ssdeep":"","tlshash":"42e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c412a2ced569cf19","size":350,"data":"","first_seen":"2026-07-25T07:02:54.088205Z","last_seen":"2026-07-27T05:15:37.027824Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"f577748d80683f080bba98b808c212ad","sha1":"9a0f1682e73f9dd92f4f918434e1f676bf89303a","sha256":"0fd4432b8abcdecb60d6d19b93403279e2fe29f1c02e15976f6da6e9558a047d","sha512":"69bebe207644a2d2c30c3d8a81d0e22ef32c144a0e4c9a0560c9c55f3600d2df2a072e15cd3cefc4724a71f85e360e0231c3a37ab2bb231451debf22675405cf","ssdeep":"","tlshash":"f1c08ce429cb8e00c22b3890c17a803f2234222591fe9878573caf90e877916f15ccae","size":176,"data":"","first_seen":"2025-09-20T20:10:38.657346Z","last_seen":"2026-07-27T05:09:56.598763Z","times_seen":483,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"cc4186f575d499da9aac3b5b912d153d","sha1":"cba60c431d30dfb00e6cb80ce332a9ff506ad0fa","sha256":"2cdcdbb89824ba040a0be9eb960be0fbc57b451c9270c849012611ccd326e100","sha512":"dbcf20ac17f272e3b90576eb26640de599dd9c574eda9f58d3a7c44e5e3cfda8aae84786272f9519feddf1292339af1a3711e9e6dfaae7d59cec5ccbcbab861d","ssdeep":"","tlshash":"d7d0a9f004810e08820ba8a291a1a42622fc0610ca3fcbe862389f2042a310dc12cc5c","size":212,"data":"","first_seen":"2025-09-20T20:10:38.581328Z","last_seen":"2026-07-27T05:09:56.584719Z","times_seen":480,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"382df8f48d5107dd2a96921030e79c0e","sha1":"19bd60f0b2ee5dd0d3ba977e9a464d03cf135682","sha256":"5893dbf7b9a7496a0d79489a22f335b0d20530e25f0b95656b206bf44d9bc139","sha512":"31f04d2c5e1759fe8774b17908257fc5e07199b54c7ff483008d92ee115393e249d0e8ae814a57758638a7ef3169a4a485812762f2efbc92be6cf307780f7741","ssdeep":"","tlshash":"f8b092191f6d822948a4760c66ab478ab8f8045299005c15b300648816a8e84009ae2a","size":109,"data":"","first_seen":"2026-07-25T07:02:54.150949Z","last_seen":"2026-07-27T05:15:37.038534Z","times_seen":442,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37051dbe85a36239dda2c2d0af9b328a","sha1":"7d1741c1823eedcb9f90cf15bcec255ce4270c98","sha256":"ad7fece7cc20e7af63da127ccd71979b14b7d02c60526deb52e1e985c4f92c76","sha512":"d6443268e97958dbba496787bfab4ae71709996624ece68f1f89b66a6ee7273997f95e2cbc5c78df367005531d51eb9cc1a9296bced3259271c76314f4e3b962","ssdeep":"","tlshash":"bfa0223c3c383002320a2c20088b82cae0202330f0880802c020cc8220fb20c830ae3b","size":71,"data":"","first_seen":"2026-07-25T07:02:54.078023Z","last_seen":"2026-07-27T05:15:37.025592Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"21af29eb4a2661cde1ec2e23d5bfacd6","sha1":"7d2873f1d5edec0591009cb7c58ac0a8583acbeb","sha256":"355b175012ceed0b8437fb62d9e30416e770998561d266f70691acd8f7022641","sha512":"421539d8e4b532816aa4e443242637ff1e64519e1131ca733adb76acb7defa95088078a829c848c79f3e0c98c5065c0179d868360023547dad53797f81cee06d","ssdeep":"","tlshash":"f1c0122f63c0433609d3a2c4128f2716420991093ed51dae985663b81c3a0476068d25","size":190,"data":"","first_seen":"2026-07-25T07:02:54.080469Z","last_seen":"2026-07-27T05:15:37.060444Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"908d32e32151489a5c58ce1d542e9c2e","sha1":"86748ec5d918c91c78d695bded1cb96c1e107fea","sha256":"bf0898f8a0bf089c6a055b0179d040394c93274771f848e291ec718e6728e88d","sha512":"0742c1878e0089b2fcf83f29f258d1154548cda81691a66ff9198c59ca1989fe453160df0090208467b6c5a96f09a4c3a06a50c18fbda45461cf53eb140e4a29","ssdeep":"","tlshash":"7ad02eb00ac2a580c383b080e227842e6536a22280be4928622ea340866b801c1cdcce","size":253,"data":"","first_seen":"2025-09-20T20:10:38.674688Z","last_seen":"2026-07-27T05:09:56.538847Z","times_seen":834,"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-27T05:16:58.393492Z","times_seen":1020,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5206560a306a2e085a437fd258eb57ce","sha1":"c9ee5681d3c59f7541c27a38b67edf46259e187b","sha256":"de5a6f78116eca62d7fc5ce159d23ae6b889b365a1739ad2cf36f925a140d0cc","sha512":"40422e2733a73dec2f9aac48e2ab48d3b2fdcdc1e3a88bc7ea855227e62c029246da1dd49dd057bb8a8b796b3b2a6f60d9d8a85de53df597e422b2f68c54cfb6","ssdeep":"","tlshash":"c70000000000000cc00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T12:04:13Z","last_seen":"2026-07-27T05:15:37.029763Z","times_seen":68591,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"93dddbbea2419c0820cae293f64a56a7","sha1":"fec37c7f501f1834dcfed04edd754ab32b0661a9","sha256":"ca0f37dbe01b74a05d3b263e0f9b36a99e44350031baabb6c14c7d2d0f869d83","sha512":"e3f524dc1b1210369142abc7c52aca7bebb9edfdfb9237ebb03aae85d1a1403d2884e0062a7fae21d29207f237868efc1295460052c4ebc7860958d0102f88a5","ssdeep":"","tlshash":"0f9002c53c4456153662ac61402e44059165860e24a294829916e2940732b99850242b","size":57,"data":"","first_seen":"2026-07-25T07:02:54.19501Z","last_seen":"2026-07-27T05:15:37.079243Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"83a77a8fa8101ab38a74167392abf2af","sha1":"ecad96d097ab2adb9729e0b0c5f8063e6445e4c7","sha256":"7e8c17ebc1c4489f3752972cf347c83e9eaf85dea4b84c375746377e5216d9d3","sha512":"f2250fb803e1cab98bdeabfe1cf415d3c7a2f3daf7d4d2e650196e709a5aff915427825b1f5e403dcefd704b290b091b69cb1fb437f6e5f69c7a1023a23f0c5a","ssdeep":"","tlshash":"c71000000000000c00000000000000000000000000000000000000000000000c000000","size":2,"data":"","first_seen":"2023-03-26T05:54:38Z","last_seen":"2026-07-27T05:15:37.074752Z","times_seen":7642,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"89124fc63620d83761110bc7e1ba5df9","sha1":"7caa348e5a262dfbebc80293ec34cc3d7e03216b","sha256":"8e1dbf14ae83c99040ff15a1b7c612b72e5847b9d3ef4948fa2a29ddace9971d","sha512":"876865b27affb00d47d87210ce6c7e84373650fbd0a0917fd1fcf949a36b4c5b61c367ebe7aa5c96389499247ff223206dd14fdd197222c9dc22a8c8b19ced44","ssdeep":"","tlshash":"c71000000000000000000000000000000000c000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T05:15:37.068508Z","times_seen":512,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4f15bb2d5bb35eef8ed5691a49a89add","sha1":"93dc792cd6f66b017de508d1653d257572b336ef","sha256":"92e207c292ff65d3a04f6cb843c69816f6a1520ba0907168e313bfe2f983c80d","sha512":"cab6a3bfc63b8a7d457b211a2f223bb58cfc2385f4a6a33d7f48812b4747bf0a0d7abfe7979388ed3e467ea5c6d65c688f7ab189a7f3ce0abd21958f9c6f8b5d","ssdeep":"","tlshash":"e6d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080ec803a36581fe05c8d903d25","size":282,"data":"","first_seen":"2026-07-25T07:02:54.086465Z","last_seen":"2026-07-27T05:15:37.045441Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2da41093c5101c915eba4d7ce7b0703d","sha1":"be67856563d898a7b733742a56b7c24e76f6c12b","sha256":"861a8f8ff3b790a4f6c9a8fbca93e201d714e26ee74a051cc77d25e79ef5f581","sha512":"c78400c6cb9ba66626b3f922da612a3663809ccf26a7b35521a117ee56b1f69fde071301026b99a7976cd6794a76568b7bb46065da5f4d0f23946c850b6a0e24","ssdeep":"","tlshash":"a70110862cf902b6b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":684,"data":"","first_seen":"2026-07-25T07:02:54.184161Z","last_seen":"2026-07-27T05:15:37.078148Z","times_seen":440,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cb8abb683722cea7fb115342abc554ef","sha1":"776b83217d825a68ed51f891fb2d360c233eb726","sha256":"139ffca75e64693ada18ad987a1d7881947ff41ed7784d3dcf349f5915124464","sha512":"7fceeb9ba20bab9484738d20748f7a935aca6ab7d869417d3629d2db9884afba198b09c6fdca26a84d90d6fa5676000775da441daf4e9940fc687e476ae54a67","ssdeep":"","tlshash":"9fd097c46bbb982c4984ce2b40331131d049a21c8e080c50b230fb3bf7a075b243b0d1","size":231,"data":"","first_seen":"2026-07-25T07:02:54.205479Z","last_seen":"2026-07-27T05:15:37.011563Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"bd0eabaf7feb379864cbd0ce3f623267","sha1":"a4f7435dff8f7d5d6ef52879a2bdd2f86e05f472","sha256":"beb9834386cbd8484c78f5dd7c44e6b952c3b3ad077789113b7b1be2afa2b81c","sha512":"66b479e09bb2d356dd032e4d51cf1d6bd31c5c8b7b94b4208cd979bb788cb16bb63f420233e9ca9096b1e5f021ad5f373ae78e58f2f5531955b3dc1abf37d5ee","ssdeep":"","tlshash":"f0c02bc408c30900c3133480d136503733341270807d84742e3ce360c033036d04cc5d","size":136,"data":"","first_seen":"2025-09-20T20:10:38.621518Z","last_seen":"2026-07-27T05:09:56.559612Z","times_seen":831,"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.150.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-27T05:15:36.968507Z","times_seen":424,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9a2a6b16da447c1060cd4a5c09dc8a1c","sha1":"fbe9678c38ea75b2e7379a3bc99ec154f8339330","sha256":"5e778835b3f9e816a452ab0f9acd9459861522e6eb9f61f1c9e60fdc8d9e64cc","sha512":"0808cbb678605f7f165e7bd536f3c2f0c25dc06211624161d1209d80074d262e63db1c4ce941f6da3374566ed577862582f561ae623f28000c61877b25a7c317","ssdeep":"","tlshash":"c4e0c274241450de4a47304a908d7fcc791a86ca3d483b6aa09180d1a72cb9b636dc38","size":301,"data":"","first_seen":"2026-07-25T07:02:54.177153Z","last_seen":"2026-07-27T05:15:37.042857Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"42397e761d6e41735413532880049e6f","sha1":"95f740d93be57eaa0388e50ea79e4ce0bc32a47c","sha256":"76354f8202dcb3bd872442c0934f9c7e5e9f61540f27727a42a5eb594e9143ea","sha512":"37cf8e6de170216c3bb26136f48d90eb71bc4bd34d7b8e59991083fe5c79b32d4f12a4412445f5f115a748693f51a2d3528d3f2e8b169ebcb1b4a87c2124f9b3","ssdeep":"","tlshash":"8aa024451fc0173071c174f015070010450d107dd37444d54075dcd00c34fcd3441117","size":82,"data":"","first_seen":"2026-07-25T07:02:54.195903Z","last_seen":"2026-07-27T05:15:37.000891Z","times_seen":430,"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-07-27T05:15:36.95546Z","times_seen":3416,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"79563e90630af3525dff01b6638b0886","sha1":"68d2ad23b5e1102797ff78d3d0d55d97ba75c268","sha256":"9e507a6dfbf98393bbf23d487af7f1c5b2e8ea0635e3f0cddeac3a9a090a3dbe","sha512":"c11c66b5e92dce18ce4e6c7c9d956d09afd5a734c046f8fe645653931de1db0ef639567724e65e48f05bd922a78fa1547c86996fd5de1a62573c4cc2f46d2300","ssdeep":"","tlshash":"c710000000000000000000000000000000003000300000000000000003000000000000","size":2,"data":"","first_seen":"2023-03-11T15:36:04Z","last_seen":"2026-07-27T05:15:37.077069Z","times_seen":898,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"bc7369c78fe81d7b6e081724ca43fd3d","sha1":"6ad9dc28c43da41ab5d2e99037c5f4aefaa48656","sha256":"32c779a74f163fb9bd62463ee5f3c767bc9af561c09183b2b6252963b42d1853","sha512":"b96aba1f540651bc2d4a8f7cd68aa2861e78cc95a48589593ced5ecfea5409898f197edc5768b3201fa7e69f2839efd595ad2638bd6afa9e7f26843a1d286d1d","ssdeep":"","tlshash":"e2c02bc448c20900c2033890c039883b29351b61a2be4469163da364c133006d00cc5e","size":136,"data":"","first_seen":"2025-09-20T20:10:38.662768Z","last_seen":"2026-07-27T05:09:56.517901Z","times_seen":486,"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-07-27T05:26:55.636726Z","times_seen":215,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"56d477e14d3afb1ffba04e085eba7834","sha1":"640b4d7232aba3b4b3f243b10228f7bd6bb27aff","sha256":"21220562832a31cb34cf0cc2cfcf17728feac102affc17e2e97d7e405c224f06","sha512":"389a61bfa0b427630b58c48dd7c72c4206a76c88e6743d446674a84c0cddfdd12b8fa66086bdf5c900937cc837841b85f9c2f47f6a03237c552af2c5766ec936","ssdeep":"","tlshash":"82d02bfb5811c06ffc27059213335dc910d2f20dd5993f9ab6b2b1a4392000c70d54c7","size":283,"data":"","first_seen":"2026-07-25T07:02:54.126205Z","last_seen":"2026-07-27T05:15:37.086974Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"a23b003a77f0753b7f0f4ff34c977099","sha1":"9f7ca9508c7c9a4f30b370b17b3f219ba04c949e","sha256":"9a56107fe3fa5e7c1cf37c221e5a4d75ed699016b85d9971c3e6f58164237cc1","sha512":"660350f1fc0849317c059fd3cf80fa30b7f7aeca09e95c5cfd98cb49bde4836526c3bfd72423cca41e678e70d26db56a163422bdd9f7f0baafefaa81ea9e4c66","ssdeep":"","tlshash":"afc09bc498c75900c3573591c035543b62346661917f4875173de7d5953315ae15cc9d","size":136,"data":"","first_seen":"2023-04-15T22:30:47Z","last_seen":"2026-07-27T05:09:56.555885Z","times_seen":6287,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-forex-cross-rates.js","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"},"introduction_type":"scriptElement","is_inline":false,"md5":"6ff9630986d3855842b586b326474dae","sha1":"69f83fc5e5e46f4ae60db6c9a2c7a0624f2b971d","sha256":"2eb114ab8c6de3b23037ae8feb4df46fc8d082acfe985a7086ad2744b49f2618","sha512":"7aea1b79bb1426698dcc337f9814dddffd5bcbddf75914dd5e73e107f13b378656aacca54997eb6dffbbeabb0c071c3b1a30d5e3d6eff3e117964eac45090f24","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6OrmaRMViZMEa:uD5Unb26nD6OrmaRkFEa","tlshash":"5b42d7aab660dcbd919945dba07a2321b61d3944b203eca4b5ace4c510fdccca531f7e","size":12720,"data":"","first_seen":"2026-07-16T22:06:47.112342Z","last_seen":"2026-07-27T05:25:34.153155Z","times_seen":720,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"6e708fa842eb7506aef976753ae91854","sha1":"0179bf1314403cb07372e1055acf15a180b9a344","sha256":"ad8363d7b9df3e07fbca9abaa266af5ac5ed99d4f62cbfab08f17cc5d5b9ac48","sha512":"beaa114bbce21b661ff23c59fbec5cff173fecfb7093f673b87ba3244c3a0451e5faa3e41925bdbeebc7f5702a9e39508ba36b0b8b0364207196e8117bbcab77","ssdeep":"","tlshash":"03c08c9018860e00c21335d0c039a43b62262660807e8469163defe0807311fd14cc7d","size":154,"data":"","first_seen":"2025-09-20T20:10:38.586249Z","last_seen":"2026-07-27T05:09:56.483672Z","times_seen":485,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd0bcbfeaf7651b34de78f94db256e9a","sha1":"d5d4133262a2d4536708007fd3d58db921c73a6b","sha256":"7c4c4985dc2c7739b2b78d4608b572981a8394702ca5cef9773fe555ff0eafd3","sha512":"4d4b6a8f7b6d27a5d6e269d4b9a804986a2fdddd08cc47ed5cb726e993749117dafe9300281cf36c5065dd89063cd7c09e39e2851bb7626184be44b33d3237a8","ssdeep":"","tlshash":"faa022203e00ee02a32328cc023b2c08f20a8002c0000c8fc03ef3c00330bc023028fa","size":77,"data":"","first_seen":"2026-07-25T07:02:54.183264Z","last_seen":"2026-07-27T05:15:37.039968Z","times_seen":438,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"df4ecf2995d9a4760b6fe2b232d66a91","sha1":"21dfc49632cd521980c8fd611315a62037b83142","sha256":"1d0ddd4ea3351d60237f5374532c094863db8fee5d00fdbb477612c30630d16e","sha512":"3f1e696cd9e7f7b05b35195d7967fa6fe8332b9e921ed3077b855283e083ddb38d878f6509353e11b40c8e9f2e2799dd820e790ec46ebe93a9da31576028c336","ssdeep":"","tlshash":"9ee07d68664571642f929e46868eba88d68a404dc071c9022629d0c00c745e4903de81","size":305,"data":"","first_seen":"2026-07-25T07:02:54.190462Z","last_seen":"2026-07-27T05:15:37.050016Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7bfa335530acd41b8967a37e1c3e076c","sha1":"bdd8d14050dd0955829601ee023b1d449a9dd9b6","sha256":"ef226bb136cc66226cb2c478dc58478eb1fde25b90960098b4b48eaa64465b23","sha512":"feeca3580d39cf46c2d2f6719da557fdafd0278ce21b7e2710aefe013293c853c0ddafc3045baa1fc2ccc483191b5d89d47cedb49a52e3c55012e4718affa3ed","ssdeep":"","tlshash":"97c02bc49d5110548141e0bda13e215a30cab1031c200e10d730c2eb7c357d4100f74f","size":138,"data":"","first_seen":"2026-07-25T07:02:54.178036Z","last_seen":"2026-07-27T05:15:37.092511Z","times_seen":429,"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.150.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-27T05:15:36.961391Z","times_seen":888,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d94eb39b7c5996a928c1d97e2d336207","sha1":"63d8851850a208fd85df769e5ccadcc4474859fe","sha256":"ea73e902e70b18a2f35dd009e26fcf9c68771ff4060e21c60533c90291328a25","sha512":"36bcc6c512fff73197bfea984000d3f197ae09de13dbc39397c2812b3f5b9e8da2d6ebead97520615c83ac480fa2c07701fba86a4a659c3114b29b9c889dbb34","ssdeep":"","tlshash":"c7100000000000000000000000000000c0000c00000000000000000300000000000000","size":2,"data":"","first_seen":"2023-03-26T06:16:09Z","last_seen":"2026-07-27T05:15:37.009629Z","times_seen":1105,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"92eb5ffee6ae2fec3ad71c777531578f","sha1":"e9d71f5ee7c92d6dc9e92ffdad17b8bd49418f98","sha256":"3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d","sha512":"5267768822ee624d48fce15ec5ca79cbd602cb7f4c2157a516556991f22ef8c7b5ef7b18d1ff41c59370efb0858651d44a936c11b7b144c48fe04df3c6a3e8da","ssdeep":"","tlshash":"c700000000000003c00000300000000000000000000000000003000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-07-27T05:12:07.343569Z","times_seen":80662,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64e1e1cbe1ca8e88ef3a838a3e7b57d6","sha1":"5498d9b96ed2832e04a90c4ac2ab71f869b2bfdc","sha256":"0510eddd781102030eb8860671503a28e6a37f5346de429bdd47c0a37c77cc7d","sha512":"44ee2764491048592021ece402fc174f9f4d95cf25dd7227e1029cfdfbc6f574f811fac940495ee0db71db3714c70d7ee27c142876e4a191a0fda92a2e93073d","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000300000000c00","size":2,"data":"","first_seen":"2023-03-10T03:04:09Z","last_seen":"2026-07-27T05:15:37.04492Z","times_seen":1216,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7fc56270e7a70fa81a5935b72eacbe29","sha1":"6dcd4ce23d88e2ee9568ba546c007c63d9131c1b","sha256":"559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd","sha512":"21b4f4bd9e64ed355c3eb676a28ebedaf6d8f17bdc365995b319097153044080516bd083bfcce66121a3072646994c8430cc382b8dc543e84880183bf856cff5","ssdeep":"","tlshash":"c700000030000c00c0000030000000000000c000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:06Z","last_seen":"2026-07-27T05:14:35.6246Z","times_seen":74449,"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-07-27T05:24:59.830153Z","times_seen":1210,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"39d2592bac0eccdff1e94886f4472629","sha1":"35d3462c7a93c0264610efd6ac970e5d47ca7792","sha256":"24677b8b077f1fc6144a4e59498483aa30800bd1ba610a984f65b357cb198479","sha512":"5c9b66a1781728f08b8b4f9493c68ed5af9382c90f72cc5869f2a07f1837e50ffa4719273c1445bc025454171a535cf621e8f29a6630c32f07843708331409f2","ssdeep":"","tlshash":"88b012247c08fc22ab212c7841120d197120c04354a784d7d02ce3c00339186300b593","size":98,"data":"","first_seen":"2026-07-25T07:02:54.143979Z","last_seen":"2026-07-27T05:15:37.091083Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"6568f6d60d701ddb9fdfefa8b7485dbf","sha1":"34cfed25d061231c8f8dce81bd588fee720ad270","sha256":"2e29ed2de7d05dbe8e7fc1a10b7f024ce2a312b9a2dd303160f3f724137f67db","sha512":"34249fc7b344a667daa154f880b19c7dba649e1811b0178f30297dc453f8cdf5e88d77783a916da59e90c89fdc925540af6d82211da154f8b896168f915f48b3","ssdeep":"","tlshash":"39c02bc458c20904c30b39d0c136983f32381a60c07d486b263ce394b433016d04cced","size":149,"data":"","first_seen":"2023-07-09T01:36:23Z","last_seen":"2026-07-27T05:09:56.554175Z","times_seen":2073,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6e6b4e7c1a45993ae64f9aaa4672f019","sha1":"81ed544bb4656d12c73eff1d5fe3911a080f8c51","sha256":"4da86e48d9b22ffccb648bc40fa2df935429b12e5903bdeb308b218615df64b6","sha512":"5b788fd445160f1aa102912f67fc8b92f90f2f78e16690e093896b972e1a73c2ee56f3fa14c6c7261cb3aeccedcf2433d7cc65db8d881b09554b01640d3a9faf","ssdeep":"","tlshash":"158000883e08aa0c000238a0000bc008c83202022a02880000c820800c3a00e030282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.185612Z","last_seen":"2026-07-27T05:15:37.008324Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"08a4415e9d594ff960030b921d42b91e","sha1":"1f444844b1ca616009c2b0e3564fecc065872b5b","sha256":"27a84712e4b22c415fc544d55cdee82327a829f96d03329457f76ebf9af4dcaa","sha512":"2c9fbb3f289c28bcec752f021d36c3a14b86140bd82942b06c0838931ce5999c1fd0b297b9bdb24aa145fc0244b7f3824c838d26ff7c222ad7663ddfb2c066b4","ssdeep":"","tlshash":"c71000000000000000000000000c0000000030000000000000c0000000000000000000","size":2,"data":"","first_seen":"2023-03-10T01:16:47Z","last_seen":"2026-07-27T05:15:37.086436Z","times_seen":1988,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e4728480e2fb7f7ad5c9fda4ae9a24a7","sha1":"d271c64c26f1980b5bcba96d21ac5cadb06e7977","sha256":"8222c16f8274ee37719a8d83f2aefe2259e820728e881bfc83430f3c5336f732","sha512":"d5c34af2fb42a8ebf58500129c2cbbec60704cc1e3275f93dfc44dccd3b3487456bb20ed56bb7e4138e86530d9f61b4cfd2e791b5e0d857c87336a50ed923bea","ssdeep":"","tlshash":"e8d09706b91480223932382302628e07e4a2e8475df3a452a18acdc945f1944805d919","size":241,"data":"","first_seen":"2026-07-25T07:02:54.165069Z","last_seen":"2026-07-27T05:15:37.079807Z","times_seen":431,"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-07-27T05:24:59.896277Z","times_seen":2344,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0a14387aa464f863985b6a6bef1d093","sha1":"51a4a9443e6f007f24b04c914d2721b2730ef3d4","sha256":"5d99f2d91f27190245664e4b3f6f485a27e025b4be90857bcafe11ad8e51111e","sha512":"8d05c11c4010e655a48e74dc053f3b5cac9072e3236bddb482312cc9a5c65db32ccb40274919820c6ace897bad2eeb88d4816605a149d1fa22561eb5a23edb61","ssdeep":"","tlshash":"1480000c3e082800000238a0000bc008c83200020800880000ce008c8c3b00e022282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.137523Z","last_seen":"2026-07-27T05:15:36.99967Z","times_seen":444,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3943450e225c6a2fdea1effade0ebd89","sha1":"56469df750b12b2c1ed5849865f5ede8381f153e","sha256":"ea43a462245af07a2916cdf93717d019f698edf00b308541c18dbc4983efc01c","sha512":"853b34dfcfbeb6d4c932a655b3487a87a75bfb08c079e7422078d4e2ec1c151513adaa5414c3ae267e19e2161852123fef5136402b378595e19b0139bfb0bf17","ssdeep":"","tlshash":"2ec08c090b0dd3a6038a6a94610a43aba15184ca7e611c28ab40e0c2e68e5054066a1e","size":149,"data":"","first_seen":"2026-07-25T07:02:54.138561Z","last_seen":"2026-07-27T05:15:37.070186Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:15:37.044401Z","times_seen":75492,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2d0b50c5f3341004fc9eb0180fbedbf","sha1":"a61e5ec146c93a860130cb8da7142fa3d1026a4b","sha256":"9c8b8d8ede5390dffefadd3c93c2cba6763f91fa72ec56525f683cd02667344d","sha512":"862f887b9b3c5580acb5d98a1e3c047e6c07f5fdb963069083a16c1b6a8380f5af6fa58d032da5b3756a57de86cfc388c7c7f96a9dbd5f0e0214407796ce8e38","ssdeep":"","tlshash":"0ad05b40ab0ae553904e3cd7c69ed9251a9155672112c01171216074d4735e487467a1","size":260,"data":"","first_seen":"2026-07-25T07:02:54.164149Z","last_seen":"2026-07-27T05:15:37.057509Z","times_seen":430,"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.72","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c143b6c0238da9e9cc4039085776e79","sha1":"cb2b05a5c84db41e193555eb85e9e40fef1074bb","sha256":"610f3d06fe298660bc050413a379ee7389d29a7dbab7ae17691f4664e88f5f8f","sha512":"cd828bb60ad7d8acebdf74f02352e9ddfefe1d891de8b3b6228ed490de61fea7a2a8bf4c4a6867edbc476e7871fb37229f7ebd773b292208ff1629782d2973f6","ssdeep":"6144:/yHuRU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/8uC1WLP69VwqxVZOvg","tlshash":"f3a4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","size":488553,"data":"","first_seen":"2026-07-27T02:47:46.067086Z","last_seen":"2026-07-27T05:27:32.971904Z","times_seen":25,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"9c7fd02d3d44df539bd157b5a5b7fde8","sha1":"1a01da8f02d9fa7406157f71b5dc5f75fd8e41ca","sha256":"296dd9e402f2aeb61c5ee6020495fdb3f7adc6919504cee4662f58194541373c","sha512":"e43e379437c2426f7e95e52c4b6b3b307943d8e142d765852a49044dd4cc3c562efaf453cbb3f3c0d602432efb3237d5782ee8634b8ededf0ade1f388bc48088","ssdeep":"","tlshash":"27c09bc45cc65a10c2173591c036543763383661d2bd4879163da354d533116d25ccad","size":133,"data":"","first_seen":"2023-05-14T10:27:09Z","last_seen":"2026-07-27T05:09:56.517045Z","times_seen":1474,"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-27T05:26:55.647444Z","times_seen":115,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b16d224a9cf9b154c238a00f6ce89562","sha1":"bf90040361427079f596e6a8daa5c6ce789e6d2d","sha256":"8d1320cfe03ab58ca10d024104587c313b2e9dbd142122d973f29c92637aed23","sha512":"4bfdbc6f94a21a7a7955caa00d6f05f6faada48c56a5e7a72f4e70bbe9c6ce01e2f76a8699e4d035e9981d03a5ab940122be0ac7bdbd6ec7405a17d7e5f37605","ssdeep":"","tlshash":"7d31a99f13b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1534,"data":"","first_seen":"2026-07-25T07:02:54.139431Z","last_seen":"2026-07-27T05:15:37.054186Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0ee7840c65fd232997d06d9430eb3cd3","sha1":"d7b08c1b33e71fb050eda8eb76673e4ad9a8e2e7","sha256":"b1934a6c0e3ad971de0f6acb755aa575707e156d75224d0d6290a0f1d9fb6329","sha512":"f49fc43de4c5e49b7b4f81a3de77f3a6642f44ed070ae82a48e541a680b4992dee7b43218235a23384d386adddaca5a463a723470e778006b84dbe309db5e215","ssdeep":"","tlshash":"61e020a4b60370c596a67c844417db33f1b8b6180864679335a9f85cbc15507929bf35","size":347,"data":"","first_seen":"2026-07-25T07:02:54.163257Z","last_seen":"2026-07-27T05:15:37.066003Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f3c46dd141ed0afa02a1b3049bab0729","sha1":"0f9b6e8412fa13b27e3af2816a112bb28a04a735","sha256":"4962a69b03ce9dced7bd2f588eead880ca97dc93d3fd354fc911d8b6b815d11b","sha512":"006dc0d7d1ead7ff5d5cf02082d1aaebb3dfc2a9a046c9d60bddadfcb9e0ac4702e9868970fb61a9af4bf366d76a03d09a264adf462e9414296dd0d749c136f3","ssdeep":"","tlshash":"9ac08c090b0dd3a6038a6a94610a43aba15284cabe615c28ab40e0c2e68e6054066a1e","size":151,"data":"","first_seen":"2026-07-25T07:02:54.100897Z","last_seen":"2026-07-27T05:15:37.02248Z","times_seen":429,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"c88bdbeeef079c2d0cd96e318c87a03e","sha1":"4d3dcdec0350d15d72352dc64b30d0a1b121c025","sha256":"bea746ded20735645978a32fd9be3bafdb410faa352fe90ece2ca533d5ea63a3","sha512":"8545b9c8e95e5a0604b06232807eb7b6d37d939b47a75447d634dbaa50f85bd9c2fdbd8bdd00c8cb0a18d4ebb15a7b46145c5d328ba89a27b19a53b60c52175a","ssdeep":"","tlshash":"dec08c9028c21a10c33334a0c0b6482f6238326086be88b46a3aa760863321af34cced","size":167,"data":"","first_seen":"2025-09-20T20:10:38.604588Z","last_seen":"2026-07-27T05:09:56.558962Z","times_seen":882,"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-07-27T05:15:36.955954Z","times_seen":2158,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"10580ad0bc3ea7ac43d556702a16299f","sha1":"f84fe31960c098db1f541e63327043a2e864cb1f","sha256":"fc4d427083f4ce04bdfef5f0f7777887673c4ea791e332102df4f232175b0035","sha512":"da1f9fda5762332ac24402b8b25cdbe1fb537e6bb38bcd9553025c427ceaf826991f95ada669dcccdc893e1fa60fc1e5c892ab88f6e5c018d20a90903f065a8a","ssdeep":"","tlshash":"c7b09bc458c75900c2173591c035543761341661917e4465173de3949533116e15cc9d","size":128,"data":"","first_seen":"2023-04-12T18:09:08Z","last_seen":"2026-07-27T05:09:56.487178Z","times_seen":11233,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-market-overview.js","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"},"introduction_type":"scriptElement","is_inline":false,"md5":"4da1b674340092915d8702d72bbe37b0","sha1":"ce34f4674f2388596b084664c821b5250567b1b5","sha256":"1f6b07878dd267a707f5bb13e3a0134826e90cec748b3d157a5d5c825425d808","sha512":"3321f820f80a9e2c194db19056ee00ee2760604f76843711d9b6f1d2684cda9e54d923c356489f24bbd6cacf8990882c9228b4f66f2c9362a095be087c3448a5","ssdeep":"384:gf6uCWoofYkFdj9uA222tEVSdDmMasVBvSFTXu:uDluA222tEVSdDmMaEYJXu","tlshash":"da52e76af660dcbd51d946cfa07a2720b61e3944f203aca4b9acd4c450adccca431f7e","size":13439,"data":"","first_seen":"2026-07-16T22:06:47.054006Z","last_seen":"2026-07-27T05:24:15.762217Z","times_seen":791,"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.150.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-27T05:15:37.071903Z","times_seen":1351,"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-07-27T05:29:38.658636Z","times_seen":853,"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-27T05:26:56.013153Z","times_seen":218,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"97893f46e7e13ef37b4c2e0ac60d85ca","sha1":"9c93b4599fe3df75fb3326420f7805a0b572eb98","sha256":"e5b564a7a4059dccb9c20cd678603a6f30c5f3db3af9b421e7f87eb37b030337","sha512":"973fb08ee51bb939b314a5dca3d67e39b8d27d209f5328a9c6fc3e4d7a716b29098e81824ac0c15f9a9a98d070fe09176399f78f1828080c5d9142c9835453f4","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000c00","size":2,"data":"","first_seen":"2023-10-13T15:09:37Z","last_seen":"2026-07-27T05:15:37.080977Z","times_seen":1914,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"code.jquery.com/jquery-3.6.0.min.js","fqdn":"code.jquery.com","domain":"jquery.com","tld":"com"},"ip":{"addr":"151.101.129.155","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"8fb8fee4fcc3cc86ff6c724154c49c42","sha1":"b82d238d4e31fdf618bae8ac11a6c812c03dd0d4","sha256":"ff1523fb7389539c84c65aba19260648793bb4f5e29329d2ee8804bc37a3fe6e","sha512":"f3de1813a4160f9239f4781938645e1589b876759cd50b7936dbd849a35c38ffaed53f6a61dbdd8a1cf43cf4a28aa9fffbfddeec9a3811a1bb4ee6df58652b31","ssdeep":"1536:DjExXUqJnxDjoXEZxkMV4QYSt0zvDL6gP3h8cApwEIOzVTB/UjPazMdLiX4mQ1v9:DIh8GgP3hujzwbhd3XvSiDQ47GKn","tlshash":"069309ddb2c6702257a720ba007f510bf236199d6c4d8450f169d8eabc78a4e827bf7d","size":89501,"data":"","first_seen":"2023-03-07T01:02:13Z","last_seen":"2026-07-27T05:13:51.691726Z","times_seen":494538,"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-07-27T05:24:59.816149Z","times_seen":1478,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"eac8665533335a8d7b83c1196fb8c7e1","sha1":"69e9d4951270b3488ed7c29a222f741cfdadee96","sha256":"06c7c50a400e903f4ae5b7428af7061dd867f8c9cef3ce4e04fcbdb3ab7bf356","sha512":"1fa668a22144293d13b85459a6b546e78e1c49f9125da2adc94f60416345d7b66549aa4931fe0059ffc879790e5b435b7db83e29c8e55df16bff36d04ca0b4bd","ssdeep":"","tlshash":"55c09bc458c75910d2173591c036553762342661917f4465573de394953311ae15ccdd","size":136,"data":"","first_seen":"2023-04-12T18:09:08Z","last_seen":"2026-07-27T05:09:56.607931Z","times_seen":7819,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"207c220e7119b0530724dc731f2361b4","sha1":"7aa18fcb217183a72060d380ee0150133518dee3","sha256":"645011bcb7ff4bb41b4ecb04213d43dbbf54fef13631581a2a59f7c167aa18fa","sha512":"9c0f5f4d4d2cba1b9b96427bc6a014a81fa6fc98815e7fc6370ef28c0b65d196a6d55fc7d9ccb9125455f8eab715e16847eec069e146de094aefb9e753f21fa3","ssdeep":"","tlshash":"80c022c87b2b0c088352d9ba107b0526d86ac928d94c8760d811fb16a92a25a087bb99","size":192,"data":"","first_seen":"2026-07-25T07:02:54.165992Z","last_seen":"2026-07-27T05:15:37.090608Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c97f06046b55e8dae6a537ed7ae34fef","sha1":"84149880d516a37ca62c27e982f46d830b79caa8","sha256":"131b8b1c3193add0da6e1bc7b54e66e599b02037f372eb68ae1086fe443811f4","sha512":"8cd93216b1b29a3b9551a054b4c950e750d68749d9f6a2c8d7ddec13ec6894949d80c67cd339cd50916de026e15fc81727f9725ae127a9d6604b5989a711fa8f","ssdeep":"","tlshash":"6ef0dc0d48fd83769ac44dc290d33c0ccb0806071cc2610f7a49fb7032632b78497e64","size":485,"data":"","first_seen":"2026-07-25T07:02:54.134293Z","last_seen":"2026-07-27T05:15:37.06243Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e3853dd21d7b37c8e001cbeb80def269","sha1":"22eab5e6d95c0a758b5105a2ca285550e4ddf4c0","sha256":"739c47988f1b9658cc13de9f615b8e5dcd2976ae3baf5442f36d6cdb7646b1a2","sha512":"186172b3a889c4e9dc3598d3d92d43b10144f04dcf14ecb3bcc6b6d6f45448caa601ab93a2b550bd7bf82f6a1905efccb9cabc88da9b70873a953a5ee0fe8660","ssdeep":"","tlshash":"4ef02d4235828222c02270af50bb60ce00b2c261af6b8e4e8a3292d15cea48a40c6f89","size":627,"data":"","first_seen":"2026-07-25T07:02:54.196783Z","last_seen":"2026-07-27T05:15:37.023066Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9485c8ae181348af0537aeb02376d77f","sha1":"67b0b7f7f914e89f6e0c6651049d5e58063eaf96","sha256":"77724e449ce352c6bb493ce82b91d7ed6b93156928d311f67cc1c57481e6c2f9","sha512":"037ffde473310d2491e664f6fba33b747a956c19bf99420da07bbde6ffbe4ca768da17177bb1643630ff6ae1448ffe79ce1613d08dbea8d610d7d51161950d1b","ssdeep":"","tlshash":"c2d02b8eec5b8595f966e9ca40766d29e0589802ec789cc11527c55261d4a195832cb3","size":266,"data":"","first_seen":"2026-07-25T07:02:54.116193Z","last_seen":"2026-07-27T05:15:37.004893Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"4a2b0b4b8def347812f148c9eb4c0e0c","sha1":"da70324c25d4f9504e2d9fe4223d09f23799b1f3","sha256":"2f15477aa77dc2a4ea1df308ccf9a795d7cb57a45a27ca53e28879c296ed7713","sha512":"f180daf213dc367f1a2b1855a48b2fef378ba730821b4d9d8ece8f70981c28c94d9f1ac4bcde07b12c44a7330403a50dd2335bf555efada6b5084b7ab5ca7ce3","ssdeep":"","tlshash":"f7c09bd458c65900c2173dd1d136583f623c5a65d17d4466263de3949573116d15ccee","size":138,"data":"","first_seen":"2023-05-17T12:49:57Z","last_seen":"2026-07-27T05:09:56.548279Z","times_seen":4544,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9e6f21901550fc1605fc3b7bb6220df5","sha1":"2c9aa881509ef9f0bdc5a0e496b852467b52bd1a","sha256":"d68cf2832956cf0a7b5ce50801e57f1a4aa9c959d170ef458bc12ee7a8e26f5f","sha512":"fe48c482cef77538444ec38384fc51fd461c90e228bcc2be17c1558ea1937e26eee63a2ea7fd01969aa1132b1413d738bc023fc6ea286b151dd8f8267278ad12","ssdeep":"","tlshash":"6ca0120074447c0116112c75c2260548f0511a0b50902401810596c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.172421Z","last_seen":"2026-07-27T05:15:37.059013Z","times_seen":439,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da3f5f8741b5de980662d730df73f871","sha1":"896f82c86f77ec8f6696a162f44345d84f4b302e","sha256":"da48bc39846fb2dfb11eac0208ab64b9f8b2f12fc89e9832b61d63d68935138b","sha512":"4c5197263ad82b11b501108b4da2d7f9ed721fff7146f15e294451be9611cbce7e079ec7a8204d358379003f85061b186fa8f851e271c05119b44ce405066b04","ssdeep":"","tlshash":"84a022203e20ee02b3232ace023b2c08f2088002c0000c0fc03ef3c00330bc223028fa","size":78,"data":"","first_seen":"2026-07-25T07:02:54.111523Z","last_seen":"2026-07-27T05:15:37.072519Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f9f2d672039ed5d04839b769ad71e1b0","sha1":"9a86054ee3627014bb2f372f939ff22772a90aa5","sha256":"ef099fcece6eeca3777d0d4a6ac606beb557e08dcd95cf93d0d42a0334329c10","sha512":"52923fb4476412cf751131a95f749956c1a4c83641935695522af4434c3c42047820db169481885cb549e9a6a8c5ffbbc6ac49ad08f246612debd54bd3ee68e8","ssdeep":"","tlshash":"c71000000000000000000000000000c0000c0000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-08T15:11:30Z","last_seen":"2026-07-27T05:15:37.030249Z","times_seen":2641,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fe63e72e58f232e831ebaa50436cd976","sha1":"3eb05a9376004c39c93288d95443d7f967c4d383","sha256":"fe4765abdb60dbb4296984f65320d7fa3f3047b70c94c2cd7737a9edb867a57b","sha512":"b39b8a0ffad610e40cd8116a7d35d709a6f3bed7ac49e980e5e2f26218cdaca4629af6047a9e7a7bc8857ee6fcd6da93808f9aaf4c26de44ecefc2fd92a87ef5","ssdeep":"","tlshash":"36f0ebb65a0180c490b39deb6e7f3a3f61866aa7b58110814393d725939c1d2300deed","size":546,"data":"","first_seen":"2026-07-25T07:02:54.125329Z","last_seen":"2026-07-27T05:15:37.005599Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-forex-heat-map.js","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"},"introduction_type":"scriptElement","is_inline":false,"md5":"4250af1be90fb91f7a96be6b3a9493fe","sha1":"f5c2d8c57b7c58224c792f81892276d4ea678a33","sha256":"daa79144c249605c3e1c1434585756c3037c661ffea4e1a235dba1b5305f656c","sha512":"2b610f8da456f88151919aaf899a93949f3bed150f3376c4c4cfe510ba24c0ed536176f876ade3e5c6d128132dcc727669b6882dfc8aaf6ff16c3f685758c047","ssdeep":"384:gf6uCWoofYkFdjhA7Fb2670q64rmYRMViZMAf/:uD5Axb267D64rmYRkFAn","tlshash":"f742c8aab660dcbd919945dba07a2321b61d3944b203eca4b5ece4c510fdccca531f7e","size":12750,"data":"","first_seen":"2026-07-16T22:06:47.19391Z","last_seen":"2026-07-27T05:18:44.267624Z","times_seen":661,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"32efc8291438b62ef493347e387cca0c","sha1":"cfde2c91f018e6df9094980266806f07d5595723","sha256":"6ea6f07e03fc88bb1c49cd7c10e57e591028e47da7ba7ee2587f34d1b9f3cc54","sha512":"81c67ce5df3bff4092525e1994a46a1798ac52f794c0a30e12fc4b3571bfa81a6d69a60144d8ed3246fe8e42b72a49108992bc01ab56c0b35f5e6c41782c4b5b","ssdeep":"","tlshash":"73e0c0197b572073a1b6288650062fcd6a682c4668c9788bd222794008acdc3544dc42","size":329,"data":"","first_seen":"2026-07-25T07:02:54.071637Z","last_seen":"2026-07-27T05:15:37.026328Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e1469a0c2dc2156f9a727d0ed640ac13","sha1":"ba1dd0fe89c6bf92a6a0f1dfc9336ec0c722f494","sha256":"12854497ac91b3bf315b127a6c446692fb3c10bd1dcd87c3d60a592f63083cc2","sha512":"0cced30914a00cca9185467b9de158e890ae36123087ab40ce5ab41f2ff3ff858178f42c2810106003fad52d94dbebf96e5e47c7d3935f2cb2ebffe7ab387b94","ssdeep":"","tlshash":"6c0110862cf902b7b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":686,"data":"","first_seen":"2026-07-25T07:02:54.118078Z","last_seen":"2026-07-27T05:15:37.046901Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"63a7a928200fbecbaab566892f269b4c","sha1":"c71a636656586ecbfe05e9a5cfd5dd020f6fef61","sha256":"364b13b094815ae8cd606830efaae5f3f5be1e799ec75ec3bb301e1e1444aac4","sha512":"4b94f4c7820ccfc5b0ad57c2b4e2b7aec3aa7ed0e2e7b35d2e1f19b60b070eb4deec3cb87b3169bf47077f0f1c7d5d880950e8cb0f07e3428d524a0489a01ca4","ssdeep":"","tlshash":"8fc08cca89c8da99a01060ce34d3e009a368a9283a83f908d11ed1c46a40ad8e4ad47f","size":158,"data":"","first_seen":"2026-07-25T07:02:54.118953Z","last_seen":"2026-07-27T05:15:37.023582Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bae3f90cb000352645e35fad60da411c","sha1":"00023f94c170125b979cb1914925d06ab1abfbce","sha256":"1e3606d95ce27d593157594820335681a9380f51a96147303cd8000e60a95e12","sha512":"d83d07979674822b4c966ddcb3bd4feb84830834e1f9fb255774ae237056cc357599e3aab9c6f47242aada2148a65c9ea11c859b1e8f550004535cc363fa02db","ssdeep":"","tlshash":"03800000203008388088000f3032cb8afaa0a22ae2322800c8a88c2cb0e8f80ba28838","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T05:12:07.524878Z","times_seen":182639,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"11721f4fe0fa20af0333c7eda891ca0f","sha1":"372c3c93f86eb46b9afffaebbf49c82cf42fa466","sha256":"ef2a3319810f3ae9cd5948f3229bc195d7b1558846487473b21a842f9d1b503b","sha512":"0f12b9a1099d5be03aa05cb2c7fda09fcd3d47094ee1973d5beb44d6651729d7c7d719af6b57981f3a39f9024ee36e549167a21724929930e62271547ec0e3c0","ssdeep":"","tlshash":"c7100000000c00c0000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T05:15:37.032145Z","times_seen":2824,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cbce5f030ab9bcb5d5a13f3094ed0c14","sha1":"a8dabb19b3be950bce6159811f80596a5bd78b54","sha256":"22d532f2907a94e1755ff7183e34abaed0e92f01415b2c98b71e860af2af3020","sha512":"d8d914e21a56a18b2bf24d25cf9df74cd94c4a9fdbad963cfd1eb90080d01d6cdafd27712026ecf692d43cfc977a8abf44d969e2d299d204b4da9263b9dc7036","ssdeep":"","tlshash":"e07000283c08e800022238a000bb02280222000022808a00808080a00c3200a800282e","size":22,"data":"","first_seen":"2026-07-25T07:02:54.179802Z","last_seen":"2026-07-27T05:15:37.087506Z","times_seen":432,"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-07-27T05:24:59.874743Z","times_seen":1359,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a7f8d6710421b13561d798da885286d4","sha1":"40bbf372af2386d0230d48c56680b364196e5238","sha256":"01233f22b0adbeec53c41f6c10babce298647c9c6c5c6ced4c143a2a88d18f4e","sha512":"86969e257ca8c46c346e574182d16d97936c58fac9d836ab3b8850d964753e8fd0b3a9f5b703cc23db2f982c8ca5b56f7b2a54ab7ce90178cd8c29a05724eb22","ssdeep":"","tlshash":"79f0e1c9b392146536ec934ebddf4d613cb16158413c512da7a066f104a06d5a8edf53","size":585,"data":"","first_seen":"2026-07-25T07:02:54.206377Z","last_seen":"2026-07-27T05:15:37.041431Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"fc6b06fa2127a607050cb15e52af276f","sha1":"1a015d764145d18daacd8575b78a6b174fc6bd87","sha256":"b64296363366e8e3d046fac133a69abf9f6da0f0d8c7b8b4097432d9d6639963","sha512":"2b8442dce62296792d6994f654fcb5e25612967cba0550f49b256034b9254fdd898780e019c8b9e44fa895e482c966e7e1294b6622722ed3d4f6714bfea1a771","ssdeep":"","tlshash":"bd11a27e4c9a0401c36f34e1c516410567ba2d8f4e7edc2e752d56c05f92439e85ddad","size":1082,"data":"","first_seen":"2025-09-20T20:10:38.647912Z","last_seen":"2026-07-27T05:09:56.512258Z","times_seen":468,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f09564c9ca56850d4cd6b3319e541aee","sha1":"c3156e00d3c2588c639e0d3cf6821258b05761c7","sha256":"4ae81572f06e1b88fd5ced7a1a000945432e83e1551e6f721ee9c00b8cc33260","sha512":"2ddcd5fd66f62c38135603defc728493bc9012c9ea6abc8a9823165792136513b2c53722d2a79c0d6ea31467308bbb49eb217d151d79baf4b2085f487d0abfae","ssdeep":"","tlshash":"c700000000000300c00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-07-27T05:15:37.000142Z","times_seen":57623,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13d618642764d2b6960367a857576c87","sha1":"8a7893b1545d1dfa2ebee469c2ee8ddd0a0c0b7d","sha256":"45428e1193fa8edd3f86d91bf4fb01b486cd6c1290d013f948c732adf7fb8875","sha512":"ae679fdd05e738532172c82f852d19e014f49f54e805eb49694cf0849c98278864afe9d8cbf2d19fa29c5fa73aa5143aeb3d012d841915597b5af30af9c77ba3","ssdeep":"","tlshash":"707000083c08a000822238a000ab00280022000022808a8080a000a00c3280a800288a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.077156Z","last_seen":"2026-07-27T05:15:37.088571Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"834dec29a06aa1149f778035ffade82d","sha1":"cc71686d432a1236d2cab595573ea9498de75463","sha256":"4f36b2c33e2478b4d3ba77a2d6ee222f79ddda0c54ed27e41f3fe2cd7a62d318","sha512":"48c414ee31ecc55c83cb5b925daaaba737aca1cf332cc37dec593c919fcf0175118fefd24df9e42662593abe95e078e5c9a09ac2502aefc496e0df715b6d590a","ssdeep":"","tlshash":"26d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080e8803a36580fe05c8d903d25","size":280,"data":"","first_seen":"2026-07-25T07:02:54.194101Z","last_seen":"2026-07-27T05:15:37.046421Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"316d406bec14ed278d88b29656ec9700","sha1":"bd547102264254e2beef20bde9dbb4a76930c603","sha256":"c20bceec8e69ac1e4c2e4e22bd2c3676487f19b8676151449558633b99b47e86","sha512":"46f1ff723d384eba48d0384e861d729824711cc28520de2cb5defc92c4db58aeff67b8349ad7d2d75368507cad41580169a73a544a2fd0364b326442be72360e","ssdeep":"","tlshash":"42c08c1814a2983a3224acc3b08f910234c528110104406483ad8031b73044aad380a9","size":145,"data":"","first_seen":"2026-07-25T07:02:54.099906Z","last_seen":"2026-07-27T05:15:37.026856Z","times_seen":429,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d3789a3f91258fcf605452196e19c21c","sha1":"f468a49ed14aa61cc199cac1759cb76160b266ff","sha256":"fa37be71bea1abe989546295b5d10f6a34598aa7ce90cfed1f870131e8e30c9e","sha512":"b93e82af199ae63f26b48b71e93f5f5c7be0c5efe33aad59dcd1109142d79d988b24ba63c4c0a5731a1d2a852fe817da47371412bc5cc8579078e4c5eebb0669","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-07T21:37:56Z","last_seen":"2026-07-27T05:15:37.07594Z","times_seen":837,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cadb00a60a3fda71b0a59c1eaa577422","sha1":"81bbc75ee8276e534256b7a30dff2b86c5e0c893","sha256":"834021cef72202c07f1e4b770a7cbf84adf11afa2f1527353f4b35cfe558e977","sha512":"437459289997803a93a4e734fc87ee0896b6fc58ad8971d9898488ca77f0305953f17bebe1ee4f0dd90c0987266edfd1241bff7d32c08f3bb103129b1b1bcfbf","ssdeep":"","tlshash":"08a0228c2880afcc00be3a28222fb00030a03032028c083c03328000af3008c30c03fe","size":65,"data":"","first_seen":"2026-07-25T07:02:54.119796Z","last_seen":"2026-07-27T05:15:37.039091Z","times_seen":430,"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-27T05:26:55.928817Z","times_seen":216,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6b74d263b2f181bb8c759bdb049f2cca","sha1":"f4ee289de7015e0faac2be30edb6240a6d7c6139","sha256":"e5a9bf69c1f1f7fa5574037a92b8b3dfc6ba7b0479d1d9e7347d39a0bdc41753","sha512":"10bbf90be8836779b50b0da8ce0f1773f474e604cc0d10101267cf42c41ab78d27a2609f824a3493b235650ac7bff8777cc297feb6a000dd7b6aacaaab88597c","ssdeep":"","tlshash":"527000083c08a200022238a2e0ab00280022000022808a0080c000a00c3200ab00a80a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.203661Z","last_seen":"2026-07-27T05:15:37.029304Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"053fbccf1e17390f7a9adc3521ed7696","sha1":"e3d25d9c529549b5e8c066fe1e3390a03cff30a3","sha256":"5bebf4b6615a6aa6aea024a979423e3c35ed65dca89cec752afe3c5fa0262789","sha512":"8df25f0190b67780e3fe3549184050dd91e162ba06815e92e63f89fe1f07f1259f9ee294a4efde8b498c4c99dd2300947201d7859c913c85021d7b84107588cf","ssdeep":"","tlshash":"8890028430426c102202d0612a9a69b6d175448020199164f05510443921059505bd0c","size":49,"data":"","first_seen":"2026-07-25T07:02:54.198206Z","last_seen":"2026-07-27T05:15:37.07755Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b5b6fee0a4d21f85dce9a49e0e9a9036","sha1":"34f9d5791d070ae880424d2e4c6c2b578271cac0","sha256":"123cbe058700145f7b9e0d18298653a900ac9389207b3b95c4a98fbec94401ab","sha512":"16b1868151143dfcb7805ad1d5a183bb7c99d79eeb35b3bb38b1d2110c7bd387c1222be2c121764afaacd7c74b503cd59fe5813f1d5d99c7d207ea7c57095e5f","ssdeep":"","tlshash":"52a0120076447c0116112c79c2260545b0511a0b54906401c10596c102705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.173327Z","last_seen":"2026-07-27T05:15:37.08965Z","times_seen":439,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"04349b75733f9a34b4021b587765005c","sha1":"6070a8a928fcfb84d659883893b6917e124ca898","sha256":"86d8798669d148db9b83305e628958589e0a0699eb4c5176a49445d3f4b45eb6","sha512":"951d0dbaee27fba356c6b0b3be78b59f088d48efe1d065da056b3c37633ccf9c7ef5932f08f294d5b5411fa7dad37f6cd9f9191bbce94af7c6e76e69eefa4cd3","ssdeep":"","tlshash":"a731a99f53b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1536,"data":"","first_seen":"2026-07-25T07:02:54.188598Z","last_seen":"2026-07-27T05:15:37.032657Z","times_seen":430,"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-27T05:26:56.032055Z","times_seen":114,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"aac1259dfa2c6c5ead508f34e52bb990","sha1":"8ccb8a3f7ac5bd9c4f1ab74cb453f7f32903fb1b","sha256":"27a26bca625b223971909dd88fc93faeb050dc5b34d91c0871661740dcfb9d18","sha512":"2a404c9768dc86190bcc7c98645afa7b6f74488371b974d14da48d7379b2cfae6c8c5bc878ed17d0f9f4c4e62138bfe416cf9a1be31eab07e062c0f5f55ef811","ssdeep":"","tlshash":"c71000000000000c0000000000000000300000000000000000000000000c0000000000","size":2,"data":"","first_seen":"2023-03-10T08:44:37Z","last_seen":"2026-07-27T05:15:37.084285Z","times_seen":1065,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"644dc335ba482697b43192f5bde84d9c","sha1":"fca03ed806772ffcb1cbe9621bdf964719ef1569","sha256":"76e4392222a281443de945105b1deb3a14a6b53bb350ad127d42f13f5a81ee21","sha512":"8be06ff06adc228081ce796af04e081862bdd46ee0a4388d6f8a928c423eec8e167eb52e2a40ed444812fcc4fef2774349c253e0aea07ffbc1df69ec478869a3","ssdeep":"","tlshash":"6e7000083c082000a22238e0080b200a002300080000ae0000c008800c3220aa02a82b","size":22,"data":"","first_seen":"2026-07-25T07:02:54.150082Z","last_seen":"2026-07-27T05:15:37.007017Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8019a2b7d49c53a548a55f046b75eb57","sha1":"4db451122874d00f6b6fc751e5545823a75b818a","sha256":"e313eabc79a57bc0506d61fce96ce2b6dd9cd635130b8c8d029fe24db01ce844","sha512":"e945ce874884b5d67375a48bf9169e85c9f19519dcd646eeced82292b23f9174af233c378fa483ed79a04fef47ea55c9fe0f8ec71a2bfb18c714efe75c3a112f","ssdeep":"","tlshash":"38c08ce873b61824c2809ab3a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":158,"data":"","first_seen":"2026-07-25T07:02:54.159204Z","last_seen":"2026-07-27T05:15:37.063525Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.tailwindcss.com/","fqdn":"cdn.tailwindcss.com","domain":"tailwindcss.com","tld":"com"},"ip":{"addr":"104.26.2.143","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"7a614b9a197e532c00d09a23b0996b5f","sha1":"1ff1738a40f3716e30e9031b181b0955ae578955","sha256":"176e894661aa9cdc9a5cba6c720044cbbf7b8bd80d1c9a142a7c24b1b6c50d15","sha512":"a67bc26f52d938358471be5671ff4b79e11af4e68b486aaf73a35a4c9bf3777aab51101af81563b4e5b7ba4b04dd8971fcfa9ee2c41fb10a0c1ee5604a99abd6","ssdeep":"12288:fpgrZxSAoNbJb0Wie75aUXGuyQZhK4O0s:RCVoNB0Wie75aUWmnO0s","tlshash":"e8844aa57396702647eb51e850ea1042f2beaa38840c44bcf7edd4da39e5e4440fbf79","size":407279,"data":"","first_seen":"2025-07-28T16:58:08.903462Z","last_seen":"2026-07-27T05:13:46.43355Z","times_seen":46569,"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-07-27T05:24:59.929979Z","times_seen":1593,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"85667210a9ca3aaa44be54eb3274f280","sha1":"f69565032aaeb8d28ca4ca0daea8784dc01baf70","sha256":"0ba3ef12c7fadaef9ac42ea9cd42db694e3a5d2f64c6d21c2690ec7649bdad85","sha512":"e04c814490d64e8424e9cd097247cc4ce5ef616c21619b8b6f35b81cc47ac3f4504d94e7ec0a8bc45c8d5fd0deea6427a7c1c5d34c0841b6ec1d9e0b785c0570","ssdeep":"","tlshash":"23a0120074447c0116112c75c2260544b0511a0b50902401810996c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.208693Z","last_seen":"2026-07-27T05:15:37.070706Z","times_seen":439,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9087bfb5987e012165369f31c80da771","sha1":"e4b912603b7a38d385bb3770f3d3c3574c4c7d09","sha256":"17b51df2b060b946881ffe59fc2d1cd01fc09a7c7d40c7b4dcce2526e10308df","sha512":"df59e3a180757201879e376cbb16a70c6f55dd732e6eda3f9809868bcf9fe2eb2e73a288192394cc3b9736832423672db4a13a3f1fa1aaa8ac37d3374c01b356","ssdeep":"","tlshash":"28e026c771613759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3816","size":340,"data":"","first_seen":"2026-07-25T07:02:54.191647Z","last_seen":"2026-07-27T05:15:37.080424Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"accb66f0ecd826aac89065990e1da97f","sha1":"3c5339881a1720deed325383e8c3839b7748d254","sha256":"ca68fe3f50735b174e950c34f54dc1f4469d57f94c55f259174e8ee730ea86c4","sha512":"52408933e4d4f3fc5069da409f56adaa898366c9c2b71abc013277b38aba5e7dcac15868ffef3495cc1a64af8cbe1bdd7dcf79691ec2b15ac2eb8a3fa76f3370","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000300000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T05:15:37.08367Z","times_seen":2774,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"506062df458617a6bfdd35a3fbd41c54","sha1":"7e7395752c17ceee179c6a6ac0cdc54a44401c6b","sha256":"a7e4c6a4faba5d54fbf9e416b44f1e4c26d60946ee542ea3510b95b0c146e6a4","sha512":"e0aa46183e606b4bd2eac6695caecce85498b80a41894bc26fd6dfa2a7db92c78f9e69349df0daf41d79df5a8d1f95c5aef07047e4231252f0eaa123daf3d096","ssdeep":"","tlshash":"cff08bd487010de8b201bce92deb3464927f89133c503009ba12a21a5234f4d945b82d","size":540,"data":"","first_seen":"2026-07-25T07:02:54.146382Z","last_seen":"2026-07-27T05:15:37.081509Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bfb05b64541b797fbc56b1ceab0d0707","sha1":"ff5eea3714de9fa65254f3722ee63ff9718b4cd8","sha256":"9a3032ec6f3b482ef8f786196f5fec31ee55139f79eec40f1ef9e5d487f68c37","sha512":"ef42e661cb08389b03f24f5e884fc11c24a95d58110d3bd963a916d449cc80e06554ef4863d18aa0b14c12c0004f03f3b244442f4adcc9cd895ea236dd283ff7","ssdeep":"","tlshash":"687000083c282000a22238e0080b2008002308080080a80000c000820c3200e203280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.15521Z","last_seen":"2026-07-27T05:15:37.033143Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"58cf531c1b4e5d67b0c780ff6899d969","sha1":"9e997fb73f7026136c3201510d77658d59407ded","sha256":"16d4dd67cf8a92581836f38ae1673f2fb1d7d97e0f913eaa6e7e102be59cc123","sha512":"b1961e02be4ed40fd3ccf43025f087eb7528a808a4349b7a97525a0b07f298ff35062c61bf5c5758027ef410cfa58aacfdaed05ca47e4bc93ef17feeff4817f9","ssdeep":"","tlshash":"eba0220c3c083002320b2cb0888b82cbc0202330e0080802c032c08222f3a0c830be3b","size":72,"data":"","first_seen":"2026-07-25T07:02:54.187451Z","last_seen":"2026-07-27T05:15:37.028323Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2fd98c678db6a4e592fc1fce467a095","sha1":"23d71a1dee6fdcdb530042f8de4c7ab53166f476","sha256":"ce773908bfcad90b99b630fe30a23d2abf23d0530137862b34afd9426fc37f4e","sha512":"4cfdbe3278dfe3b25ee1d5b7c5e2b6136e0813ed126409b436ff14b98ff511e7849897d572bb20701f90c207a7d1a474166b8a3c01bcaa87f87836674926e582","ssdeep":"","tlshash":"14b012187d04e4376302347960230d04e151080342818c0b800ed8c047701cb00104bf","size":91,"data":"","first_seen":"2026-07-25T07:02:54.158231Z","last_seen":"2026-07-27T05:15:37.085349Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"e7a2641d6c3437e6996722388c0348f4","sha1":"2516c10e64c1e4af17594ff4a5b6ccee50c26c9d","sha256":"45a6b69a9388a3f51eb3bd70a0e74318c7c2bbf642b2a2fb0f34c58f9f13eda8","sha512":"4af94103c411d8351d38e02bee529191815914f05572cf929798aef401121adc9e66d08d50b166218d6079d6caf9ea230e1a1a30da9029f9b01a6fa47e092333","ssdeep":"","tlshash":"6fc080c554c51500c2133444c1374937b63a5b51607f4495163cd364913305ad15dc5d","size":170,"data":"","first_seen":"2025-09-20T20:10:38.667159Z","last_seen":"2026-07-27T05:09:56.482032Z","times_seen":487,"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-07-27T05:24:59.874028Z","times_seen":1473,"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-07-27T05:24:15.730806Z","times_seen":1971,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"53f90a23c820f4d35aad5e1fc69c3631","sha1":"adfd381939291c573a7f091f1a486b30a9598190","sha256":"c43f747e9a95c0f6b4b687850f9ddb61fc6791213cfa3bf2c08f7358c1fc93c7","sha512":"757f13afbfba4457e7c08c0ed2cc31146c8174b5b9c42a6e86d3703078d5819a577f061397bdb28f87ddd8f3dfabb09be6cc1623d83644ba6e2d1df26c15e18b","ssdeep":"","tlshash":"f1a0220c288f2032b202bc2280323c08a32f2003e8a0ec0e0028c2c20b30a8e020303f","size":72,"data":"","first_seen":"2026-07-25T07:02:54.130379Z","last_seen":"2026-07-27T05:15:37.064046Z","times_seen":444,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b2c033e81e5f5f3d63beba88712ff6ad","sha1":"98f27a412fcc1ba29098c5d60e0577a19d2d2db9","sha256":"bea6c2d06c730cbcc0383d0be45269737019dbd4e40dab4c786861a9c82baa8f","sha512":"6fd35b35256ea2ee673f840880503a5102921fdeafea46e81d91e200506905861eabf9dc5a7640bb37d0645e5a68febbd3a4d15c26db7ed405794c8865f0632c","ssdeep":"","tlshash":"84d0a7049119108386346d5bc282dfafe59184433e01d81b299c49ec16fc957e5b98a5","size":240,"data":"","first_seen":"2026-07-25T07:02:54.154377Z","last_seen":"2026-07-27T05:15:37.05703Z","times_seen":449,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fa317cda84211445676c1cddaaae7c0e","sha1":"56c4706fd639682e3b4522c810eee9ea11f2d38b","sha256":"2740769e28e35690a4f400ce64b425de677a1dc517b2859219e883c874e4a664","sha512":"a6c704bc3492435fa28ff4a72847e656af3f982f8988c051b3d48959f553a38a54e5606c50fbcf73af0300faa637f2b3bbe311484f190131207b31b4a7939008","ssdeep":"","tlshash":"c1c08c4a588022263b707d80c0ba192cb354096b109e8f0f8c2ee3943320f62c00643f","size":155,"data":"","first_seen":"2026-07-25T07:02:54.082992Z","last_seen":"2026-07-27T05:15:37.084803Z","times_seen":429,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"ef089f58bda76fcc33654f10ea60480c","sha1":"9648039b975f75419e8abd664b422999ef2d6906","sha256":"32ca86163b511e050a5eea26a81f2495b0606c3da2707dea45d00b0e62f73aeb","sha512":"eed602abfa0cac3f6b27059710354ef4eacd4100abd70ad619fdb95f253e34ceb5d8981f06a2e4177f5ba949fec322d92caa21f5f292c0dc5297e35092809d51","ssdeep":"","tlshash":"42c02bc488c20900c3073590c039803731341260c07d44aa173ce3909833026e00ccdd","size":139,"data":"","first_seen":"2023-04-13T23:00:32Z","last_seen":"2026-07-27T05:09:56.607025Z","times_seen":7448,"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-27T05:27:33.108678Z","times_seen":356,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"130c787f212b30dec62fe9d1f64adf89","sha1":"0fe829cf5728aa8f881b127725d34bff3e703f22","sha256":"50560cc380f1458be9737fd2ee27daea8b9426db77b4b38ce5554e4a651ad09d","sha512":"650a479f750fa63552a1eb884acdc1d5a0ff7136389e396a8c311804d6490e8657b6ac81855d1d7633a27309f79c578d0a4927e35cded386db1808d1e5d8e017","ssdeep":"","tlshash":"fbf02d135782b7b2d04a560b50cf628806b2c032ec5acc8f1a33e2b40cb888a209af85","size":621,"data":"","first_seen":"2026-07-25T07:02:54.169445Z","last_seen":"2026-07-27T05:15:37.065508Z","times_seen":428,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b6a20c0d9da44983aefc2889595774b7","sha1":"a6b83289561646aee8a972f7631e8e92f56cda48","sha256":"2fdd1b9481f875ab3ee4f5d37d4f77142929c0cdf6ced65060f0aa2aed4984a5","sha512":"9baedb500c9f00af4ff8fb892caba990a86a6042c868841f50f6b10c277d8c0566f5ce7049164e86e2bccaa0a786567e18bfb5f3ca7845b5ac65123f207b110c","ssdeep":"","tlshash":"66c022cc7b2b0c088352d9ba107b0566d86ac92cd94c8761d811fb16b92a25a087bba9","size":194,"data":"","first_seen":"2026-07-25T07:02:54.124398Z","last_seen":"2026-07-27T05:15:37.065029Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"06940d1ec461f6967164c26d60cbaefc","sha1":"2dd63cac632d95db488d6221109b5f3f932c9999","sha256":"c9f3959e3d485cc26bd83a108824fe7039921005faa810892c704386b9572acd","sha512":"4abc10cb04a87ffa25293243f9bb9d4498d4a1acebe89e239cdc92058d9f491da6b5de3ea698c856e62b3153c7d006aa340ee50912e29f019752453976fce2bb","ssdeep":"","tlshash":"ebb01224281de61233322ef080131d2c603b4402424f551ec44ce5c2032c0ce80475eb","size":96,"data":"","first_seen":"2026-07-25T07:02:54.115267Z","last_seen":"2026-07-27T05:15:37.078657Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c3787754c9ab0b54c83fc20e994fd71e","sha1":"79836961d0829dd4343389004c5f3bd806adeb6b","sha256":"725f4326baec82abc6db3f2144c45f09d47264f86f9fbc21a9825a9e73a7368a","sha512":"8d62d1275f3fe42a18d23ee3f8dfc60eca479b3eef7c05ad6181f2aa36b8c5ba1e937408474d57a33a742058c55f7c3f805a0b48f1f3162596be217a76e9d538","ssdeep":"","tlshash":"a8b01224242de61233322ef180131d2c603a4406425f590ec04de5c0033c0cb40475ef","size":97,"data":"","first_seen":"2026-07-25T07:02:54.156202Z","last_seen":"2026-07-27T05:15:37.021339Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61e9c06ea9a85a5088a499df6458d276","sha1":"e2415cb7f63df0c9de23362326ad3c37a9adfc96","sha256":"fcb5f40df9be6bae66c1d77a6c15968866a9e6cbd7314ca432b019d17392f6f4","sha512":"61037724a2fb00a12fa8a53ada233f54ff7fc6ee02048e579b83a127ce79fc03906c35b5307beb18a3cf5021fe031ae6587448d4d60a082d73252fe2e2f4ae7f","ssdeep":"","tlshash":"c700000000000000c00000300000000000c00000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-27T05:12:07.404438Z","times_seen":79691,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"41cffca8e35a84d3f88f9a25719e1bcd","sha1":"7dc2fe5ff12a7a0748d95c710eaf05536eaf88e7","sha256":"c950106fab05530dced5c2d95d8c8b0082afb6c2434895b968e7e8a208b8f3f0","sha512":"1d6080e041f9cd50074d23dfb1b15d5197813d1c0668dd6a2cea31f264f590029644e6912d6e1beef5931bb634ad4fbac05e1c5dc3d2f9eed4b217a58dd989cf","ssdeep":"","tlshash":"74e026c771603759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3806","size":338,"data":"","first_seen":"2026-07-25T07:02:54.168496Z","last_seen":"2026-07-27T05:15:37.024621Z","times_seen":438,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"65cfbef4976ed897962f8aab52c2e7dd","sha1":"5002f4eb74d361e916cd01adcce97615bb98a93c","sha256":"7ffca58a18354a6fafd52f93908f56bade386cd0181cabc22dde999e040843c9","sha512":"af6eaa50caa0889f6d7d19ae675e875be4d2577826cade64399694acd9a3c494bd35791cc47de33782b2fd996ce97b638289cad79915949a891f5e885da04ddc","ssdeep":"","tlshash":"141154b6393fd032c2e924a6d846ee7a42d08449926210b50fb332c437f6e9cd11ad54","size":1012,"data":"","first_seen":"2026-07-25T07:02:54.112569Z","last_seen":"2026-07-27T05:15:37.048456Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"952ddc5ca686660c54f7b74840982b4b","sha1":"fe05b5837e28143d2981f9a67a56e565a7982be7","sha256":"9baacdd193c5a18c5a01ecf248bf7a316f7927c345ee3ec94fdce802d458718e","sha512":"a652cf3cc48705bc2b0fcbb449a0a61fcf31f30ad0feab7697a10c6c0e6485353c815048a9570763d74cddcb857fe49973ced6de10bc5f8239c7671fbe1881e0","ssdeep":"","tlshash":"d5c02b08746220f04e43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":139,"data":"","first_seen":"2026-07-25T07:02:54.186501Z","last_seen":"2026-07-27T05:15:37.040467Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"908d5ccda6d90aab1d372185818e11c6","sha1":"917ea62d00a3e75d9b87d9a831eb81c24db4441f","sha256":"c9a8ffb3a00f63b1c983f1445fccea9aa101fe4d579aa885f7b1d8ab8e488faa","sha512":"868bb8a092222b3a369569f020417d22a4567faf3da65a85a2fa6492b812e961407d92f563bd02ec1c190d70a200301a36c9575386d779d98659d38ea7ecf40e","ssdeep":"","tlshash":"4cb092c8abc2a0625441958a413eba59f3e4bdc22706247ae052ac1aa4a470e40bf25b","size":118,"data":"","first_seen":"2026-07-25T07:02:54.17899Z","last_seen":"2026-07-27T05:15:37.069521Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"7a1fc0dcfd45bf87ec01da00d1fe2afc","sha1":"88c12d05ddac3af3fce5aa19ff4f1c387568be29","sha256":"5e28c5b0e56caa28df7297d82745c43a86932a6a1fa6f27ad97a7e66fb328667","sha512":"c5bd1571a664591355ca4bacf5504abfb1cf64cd0aa483d98e99f1da332191a06cde88567c0483a42593f710c679aca669e729481d2b8057ef68b48231f76074","ssdeep":"","tlshash":"4fc02bc408c21a10c31334a0c0378037333c32a0c17d4879163de3509833016d24ccdd","size":144,"data":"","first_seen":"2025-03-07T10:38:47.278387Z","last_seen":"2026-07-27T05:09:56.566474Z","times_seen":1266,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"553043d48d6dd80a787af64045a49e96","sha1":"e63956e5e0aa636885b9ed763d13ab9fdd1ecc29","sha256":"1984338e5b6994ef452ccc065e0cbad0892b40e3ae8938d3bde4f6a76e660975","sha512":"6754bfc75e8a2d15fb5e7f309524e2b22812ff1d97cd7b18508495ab00c590eb64ced78dd0bff9aae3a5902fc2fd215cd73b76864004a441d2239777a547c631","ssdeep":"","tlshash":"8ad02bfb5811c06ffc23059213335dc910d2f20cd5993f9ab5b2b1a4392000c70d54c7","size":281,"data":"","first_seen":"2026-07-25T07:02:54.176272Z","last_seen":"2026-07-27T05:15:37.05286Z","times_seen":438,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"30ba2015f57e9fb9a3b395a597ce8f96","sha1":"bea3fe0a47418c0192788fd73b50c3b7f930a3c9","sha256":"f684f5f4f99665c48ebf89434434309281912ca6ae3283b246db5b9b0725e75a","sha512":"3db38cab3bcbb8c7595c8f0d00363bd335a59959c9d266a84b8679341c9c2f9fb4d1f89ae7679bf1c2cde13f1da7f2ec0043e4b1fbc8abdea754c06b095746e3","ssdeep":"","tlshash":"c71000000000000000003000000000030000000c000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-12T15:19:25Z","last_seen":"2026-07-27T05:15:37.058502Z","times_seen":1016,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac74e3f51cb94709e1948a70433bdfc5","sha1":"76d121cd4e0c881523d60b8dafc1b3589ae5b2b9","sha256":"a217633e7706a1bd9a42b4bd78d98f44f81e614d34e42aa97562232e0a0ad14e","sha512":"d002a88da3d454e2fac7bdbe5704290b8c7c6d1eb2375744991a1514e9fe83cfe43438c67667d42aa12f2de01cada231171ec95288d671df022d4a7f4d1eb06d","ssdeep":"","tlshash":"2990028430426c102202e0612a9a69b6d175448020199164f0951044392545d505bd0c","size":51,"data":"","first_seen":"2026-07-25T07:02:54.16226Z","last_seen":"2026-07-27T05:15:37.05996Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"49342302f3a1bf591d537268aaa3db97","sha1":"1e27d4dce5d9e78a557d902e2f9255d8f1d567e4","sha256":"217a194b2b1e9e205f2ce02d68f3d346218cf59e0ffb48dfa0f2331ed11232c4","sha512":"4214bf7801e5a15a9af9e231ca3cdb1bd8a05eb81f603da3351e3def46477af2f9a3543cd8f1cc0e19df81303618c01c3b4bd820b4f45d8be5c11a1e0f0e067f","ssdeep":"","tlshash":"59a0120074447c0116112c75c2260584b0511a0b50902401810596c002705895113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.160135Z","last_seen":"2026-07-27T05:15:37.004156Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"f5a231cbf911ee8ff621a01d1f4827bd","sha1":"90d3ed417adbbcecb20b69355c114c65852fa625","sha256":"d17847b4678c8e271556c27e0a77e0ce6d2575fe69f0d1a3eb9be38918a08126","sha512":"1b0a3511069d1491fbe8855f1294074f7aa4dddeedd34e794d8b5828d50fc6ab241c95f9354735156c001186b2b20299152b1e9223e2e180a22e900d966dde76","ssdeep":"","tlshash":"8ac08cc08cc20910c2033982d0b958363228276190be48aa2739a3a4817302ae18cc5e","size":154,"data":"","first_seen":"2025-08-16T23:01:45.55691Z","last_seen":"2026-07-27T05:25:00.030905Z","times_seen":918,"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.72","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"bea43ed2cdab6de383dae5b43f7f7ea7","sha1":"fee133e8e4885d721f6251298bbef7797126d1e6","sha256":"5324890457a4126c757b6c6f4eb68d2e58501802bffc02bc5018aa185d33c7e7","sha512":"d0948a7b1e160bd486f71a1c87caff66c4d8bb68becaffb75aa3875251a34474cba30ab51b8052c425e453911a1a804a7c746aee4ef7db3f95bb86f7c04f585a","ssdeep":"6144:/yHnRU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/8nC1WLP69VwqxVZOvg","tlshash":"aea4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","size":488553,"data":"","first_seen":"2026-07-27T02:47:36.009071Z","last_seen":"2026-07-27T05:31:38.817112Z","times_seen":129,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"518d3bb48d2cc5ad2ed0d4a1a6a92341","sha1":"e0b0c799e23fa477ca09a5146277b3aea615f2cb","sha256":"cb06cc4be9bb458a368075ed9a6de52b66281810cf9b9bfc0199d6c0bd92b385","sha512":"95e895f8dfbd418c4d52b7fb341520afbf132bddab4ffce0a2c9c7d53ac2f6fb3fef126a83241a19563652b5a6ec76e77544b303c7984ae08ed3bba49cc36616","ssdeep":"1536:D9w3cPpzlUowL2cm9ibFHDYzcmNGBfXoLL:RFyoybFHDQf","tlshash":"6b631acef2d2a73555e269f6105f410a62fe9006cc85182fba15f6f42a70d4b903bf7a","size":68818,"data":"","first_seen":"2026-07-27T02:53:32.756279Z","last_seen":"2026-07-27T02:53:32.756279Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0cb2ca5238ca9b85cbde05a0c6a96a2d","sha1":"e7a5d39e6f8c5139be41d138aeb818c7b5c789ba","sha256":"65cdc6799de01f75bae65d4915b26836b836cc17ab7614020fa97a1d96992d6e","sha512":"c76c6a2b76b731648ebe5b1ed2a0f02a6b803cd96721d39dd9022ea67cfc21c068cff19624d10f4fea8058e486b4138084c49a0d85113008a8f828be99dc79f8","ssdeep":"","tlshash":"c710000000000300000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-10T12:37:25Z","last_seen":"2026-07-27T05:15:37.047934Z","times_seen":6697,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"981bdb268aa6823a724918a780d47130","sha1":"c531ae1e5ec3c99e246fdd8730744ca28106c8ad","sha256":"098216e54f408120c83f496b87c59cf086f48120b9030331d775014b870a1d82","sha512":"9a48316390b7a670b559e27f5bd62da1a9be97542f20dd50b1d6257f1150f7c4262bae2842ed34ab3ae28a3989c008c24d9f941e28b5490e685c24b3b6a68bc6","ssdeep":"","tlshash":"c2b09bc458c65910c2133591c135547773341661917d44a51a3da3549533117d15cc9d","size":128,"data":"","first_seen":"2023-08-02T10:21:43Z","last_seen":"2026-07-27T05:09:56.484577Z","times_seen":1345,"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-27T05:26:55.665781Z","times_seen":217,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"909822438f3880445c5535efb48b46d9","sha1":"00685c680d8f0bfb3dda3154539bb972552fd921","sha256":"894963ac612d3c872d00cfc1a926c6f034036e99512409f06342bff53d723689","sha512":"ce5816d0da41ef048fbcd158120239337d58bf594db8b7deff493beb436c5319220f1b01ea03fd9f4b755b4fd43155f23271e1e27078167041feb5c9a784699f","ssdeep":"","tlshash":"f9c08cd873b61824c2809a73a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":156,"data":"","first_seen":"2026-07-25T07:02:54.13346Z","last_seen":"2026-07-27T05:15:37.019659Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7121a3428492966c83430108c81b0128","sha1":"faa54a8131b597a6b972810794c8ac848b67b351","sha256":"6ece104aeb4ca53d9261705afb936cd0bebf554bd318f77613325b124a234c24","sha512":"8f54791b217786c95592d4411cc15e5cfdc7432d5db0617f60ce69a260cee1e7fd968b441bc4a2e40cdd6af24c25051881dc4b934bb3458a152b4503d52e13a1","ssdeep":"","tlshash":"c710000000000000000000000000000000000003000000000000000000000000300300","size":2,"data":"","first_seen":"2023-03-07T23:42:40Z","last_seen":"2026-07-27T05:15:37.04388Z","times_seen":2538,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9818af84da6f96579e99ed315f69e0c5","sha1":"7ecf16ebb75bea5bc8309fbecd3e3df799ab4371","sha256":"dfa3bde638cb08d781f46d978f471fe535a642cb24d408bcc486a67c819cc4e4","sha512":"1a5cf2ca1f7c50defc0af583f15e3d2b0e392e8886d39ce5b6d213ee8e01ee3c1131a901b393f05cb8c9ea412fc2598cdbf33dd895e2d284fb9c7dc6ca080aa1","ssdeep":"","tlshash":"c71000000000000000000c000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-26T11:55:44Z","last_seen":"2026-07-27T05:15:37.066958Z","times_seen":2092,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"288f4801942ba7fe2e468ad22eb3b34c","sha1":"93c816901b3435f6f5cf6b2bd92e6727e442a895","sha256":"3f0ed40e2c3c5964be4eedf2e9176f9987135e03e131c9e4faa1334b3d0f179b","sha512":"118664d8321242dd85ca89acfa377dca6520b707e6efe6ffa76f2d06facc829277bda47b5889021d70cd3f1a9a382ca7fbe5e41502906853f7527222f9a33659","ssdeep":"","tlshash":"c9e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c012a2ced569cf19","size":348,"data":"","first_seen":"2026-07-25T07:02:54.136642Z","last_seen":"2026-07-27T05:15:37.059515Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ded6cb7b021faf2355497e718ed7afc0","sha1":"fde446763014ad7c5b2045c021bdfe8ca139fd5d","sha256":"096a45acd89683278277589df946866fc34365c96212f1a60f42b143e5ffb28c","sha512":"160406cdfc444d63df42a6cff7c879049902401b95442e7ce2b82ccbac11aee8f6dbb1eb8382e2d8d21257925b51718eea4518fc53f8161654c3d8eef36546a9","ssdeep":"","tlshash":"25d02ba5b1061051f77079a19262d8989992d6cb2af1cdeb442c41400dbfe045875b14","size":283,"data":"","first_seen":"2026-07-25T07:02:54.081421Z","last_seen":"2026-07-27T05:15:37.091558Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"d0c9096d7aeb29837dd80fd2da9749fd","sha1":"61f7fd60187a7297e0b6c630e725fafd05d5aa70","sha256":"501d1b04f9896c03853d50e6123a5a4af566e469e55d7af4a1ae9bf01f0fa4f2","sha512":"c423ae1d206c7a31408eadf51f14db8958acb449bf0b382f15132c88f4799b917196853024a856da8f7b86cbca390c1c2f07f40ca858841fa9d9497d7d745af7","ssdeep":"","tlshash":"54c02bc048c20900c30339c0c036583f22381a20c07d4467263ce3948433006e18ccee","size":139,"data":"","first_seen":"2024-08-19T15:11:24.173194Z","last_seen":"2026-07-27T05:09:56.523717Z","times_seen":3270,"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-27T05:19:37.114846Z","times_seen":789,"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"},"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-27T05:26:56.000391Z","times_seen":230,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.29232Z","times_seen":56249,"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-27T05:19:37.163595Z","times_seen":466,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:15:37.00293Z","times_seen":64684,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.gtranslate.net/widgets/latest/float.js","fqdn":"cdn.gtranslate.net","domain":"gtranslate.net","tld":"net"},"ip":{"addr":"104.26.13.42","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"68ee10aa7ede43f8bb3293b220daf775","sha1":"1f26a636577ea9aaa524c0a23ae8cf342be925e9","sha256":"76e28fc0425d80422e45305464ada45c7c9b4a00132c65012c737c22814c259f","sha512":"531d2baf5f4d61c0def2c5f45fd8d9b69b143c24d0474a01291d858b086b45c233d1cca885cc722d6e6eaff3f8cb62e637df797beca8f5aec20d090f0e23fe08","ssdeep":"384:UzCKMPZATN09o0mtvwfEXMb5TZ/dDszCnfYI:UVMhAh060svwcX0T1dhh","tlshash":"10a2c62921b3003a49531265efff165c607a02b78004ec24bfaeddc2dfd59a9caa77d5","size":23138,"data":"","first_seen":"2026-05-06T20:53:53.345523Z","last_seen":"2026-07-27T05:14:35.540478Z","times_seen":1739,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c498f21d596cab179eb2e5de92013857","sha1":"8a29a189198796bd164fc566e952884b07496fbe","sha256":"cd5e183ec113a6429535157117bb1ddc54f96b68728ca66921d74b20f8e4c15c","sha512":"4904d4f49e94e06750ba6c2783c51d29ee20d33aab48ea66ed7cb33796e8225b927b0de33aaa23af79e583f48e5d32db88b8ccab4053d59cf0ac4bfd93236c57","ssdeep":"","tlshash":"e770000a3c08a000a22238e008cb2088002300080000a80000c000800cb200e202280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.145555Z","last_seen":"2026-07-27T05:15:37.054852Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"115b3cd49c739440787a505ab2ee1fa0","sha1":"3f1da71d9f392fd05f503b9c37140524df25c91b","sha256":"b36d3c52f42742303976f7fa86f396d248d2fe7b0f3b3e18c092577e621a0e0c","sha512":"78e25ce66f42fd5b77614cbad4c7ffc671997f0f317882289e9da969621935ea0110b6910e2b693a99736a7403f1e43f54c02d76485d8fd7fe72bda1265d4a6c","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c00000000300000000000000","size":2,"data":"","first_seen":"2023-03-10T22:24:54Z","last_seen":"2026-07-27T05:15:37.061891Z","times_seen":1804,"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-07-27T05:27:33.169673Z","times_seen":736,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"59ce6228ddf62be7f8aefab2518b85de","sha1":"900ad9ac49e0c31c073d6f6d90b1f4a96cc6fd70","sha256":"8ff18c08cbe337e7e73e5fa2906915a48539b24a7fad20153b95bce97834aaac","sha512":"dc9152b4e22f588df140c33a6635b551d942579445ef185f0fa62fd31dd807fdc9bd23ce42e0a3ff8872a4ca6e9e2942f9f76a727cbb74ea049a513e9a8a309b","ssdeep":"","tlshash":"f1c080447556b1ffd6426482c05f151562550705d9549a06d3a054e02e349899091f2d","size":166,"data":"","first_seen":"2026-07-25T07:02:54.079559Z","last_seen":"2026-07-27T05:15:37.049129Z","times_seen":444,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"771f01104d905386a134a676167edccc","sha1":"51af17721bd7b84218774f9064fe481c033d0b1c","sha256":"46874106f9ac7f3b68a422895aa223e1ea5ed0db860f179f6362cb166c65f8ca","sha512":"0c85b6b14d917b941d01903af93ca93b97b7112355ba3f19f0ac2e243427be9905abb48f24a6dd6c6a72c140bbbc7ed7d231609425b0f132375b0f990ccef8cf","ssdeep":"","tlshash":"c7100000000000000000000000000000000000000000000000030000c00000000c0000","size":2,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-07-27T05:15:37.056531Z","times_seen":1737,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"57cec4137b614c87cb4e24a3d003a3e0","sha1":"23eb4d3f4155395a74e9d534f97ff4c1908f5aac","sha256":"18f5384d58bcb1bba0bcd9e6a6781d1a6ac2cc280c330ecbab6cb7931b721552","sha512":"4921de1edb2ecc8ca3a22823705194b902cfa471675f2d1ae8bf67d0c7b060a7c192e36ffca9f1a0d90ac2dbbdaf429ee1ec97e160eb00dc80b07000935304f3","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T05:15:37.053526Z","times_seen":45423,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4e5784c2f559c1f257d3fe1adff1b994","sha1":"a8bb93b81e79497dcbaea5f08618abe3e13614d5","sha256":"9abd5bd5bc72c038c0276119bd897de57b661a0e4b0d9849758dd698f4b11d10","sha512":"a66be2c2557a5eae52f07ea28edae7acf52d9ab08345204fc42a161d1c474ac05d43323229367c9eaffc197970a47846353096695ff79bb6fc820a804c268af4","ssdeep":"","tlshash":"19c02b08746220f04a43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":137,"data":"","first_seen":"2026-07-25T07:02:54.148131Z","last_seen":"2026-07-27T05:15:37.090165Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"db0e667538ab4e563e08c53acdc8adca","sha1":"7b00a8cb6da0a073775af7b8536d09fa244594ec","sha256":"b57608c5537f1c358fa12ec9a41449489847678d160fc29bea540ebfe93b1af5","sha512":"0388191a568e959e0ee4d19304a222bd647c874b02cbbe7a589757c47da8277ca1e7afb02a3eb9803a1fdf3220bae8875aad1d8f8fd624284f0fcd32abbcfeff","ssdeep":"","tlshash":"f9c0c000f44cc39725933c2f0d41873e801b120384320c030301d8cd0833beee245f60","size":180,"data":"","first_seen":"2026-07-25T07:02:54.18944Z","last_seen":"2026-07-27T05:15:37.068959Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/tv.js","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"},"introduction_type":"scriptElement","is_inline":false,"md5":"fd560649121156073923ce51d3f04348","sha1":"bf3bf0105aa9e01a4f453898da7131486e2d583b","sha256":"e6d5c0aef4b2cfe736dd64b0761aa2807a25f6f84018c33f02c00cf654e110ac","sha512":"127a919f82388dd09f1042abf42efe6108ccf2f63ba3527bdc84ab7d9692ce3e83fa7db3dcbe6f538c9ec159031aa8ff2c4b5f119a5ac104abe8be23b85db550","ssdeep":"384:EqhCtUi8k0pwkp8EpXWpvS2rfVujtkl2okhIuWea1pYp4t6YJjlWm0yoVymbLP:EqZi8k0pwkp8EpXWpvS2rYj9okhfWeWa","tlshash":"48a2d76db5807a3c028700ee306f320c753765a4e10149a4fa78abe59558e8ea277fbd","size":21309,"data":"","first_seen":"2026-02-24T18:19:55.948124Z","last_seen":"2026-07-27T05:27:24.555885Z","times_seen":1071,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"c6a6b3902c8e8970ff6a97ec96d79251","sha1":"4e93e02e5dcb3f55e80075e3850b8129dedac970","sha256":"af0aef6911bb609fbd698d02bedcf2c4fb0ffd5a0df64b149cfc3971a856d1b7","sha512":"3ee9eb7e3129889f2b780dfba0367d97031bbfd6892f982dabecde7fc84a8d4d2b0e1cfd592d09344a1b1589eed1dce70319186bdd07063c49d07847a7799575","ssdeep":"","tlshash":"5ec08c9088c20900c2073ec0d1364c3f232cae24c17d44672638e398847300ae18ccee","size":156,"data":"","first_seen":"2023-09-08T12:39:05Z","last_seen":"2026-07-27T05:09:56.579455Z","times_seen":3558,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"warn","text":"cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation","filename":"https://cdn.tailwindcss.com/","line_number":64,"column_number":1711},{"level":"error","text":"Widget settings parse error: SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data","filename":"https://s3.tradingview.com/external-embedding/embed-widget-forex-heat-map.js","line_number":5,"column_number":1277},{"level":"error","text":"Invalid settings provided, fall back to defaults","filename":"https://s3.tradingview.com/external-embedding/embed-widget-forex-heat-map.js","line_number":3,"column_number":2945},{"level":"log","text":"DOM loaded, initializing components...","filename":"https://360trustwealthavenue.stglen.com/","line_number":3082,"column_number":17}]},"http":[{"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.073Z","timestamp":1785120763073,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 248e629283e021fff4816987179cf2c4\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-07-27T05:24:15.755143Z","times_seen":760,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"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/51031.535f27b776f394c7e43a.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.541Z","timestamp":1785120763541,"http_version":"","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/3897.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.251Z","timestamp":1785120762251,"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=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\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: 70598\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: DXMqe4jb6QkB6Z_llNuSswEz9rEDd5lAO2wEdJf0eCOJYClAi50BqA==\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":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-07-27T05:24:59.844465Z","times_seen":991,"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":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":"s2.coinmarketcap.com/static/img/coins/64x64/1.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:43.351Z","timestamp":1785120763351,"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: Sun, 26 Jul 2026 03:09:18 GMT\r\ncache-control: max-age=86400\r\netag: \"2edf1ef8b333c40979976d1a49bc234c\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 85409\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: t79yXoQfxIYc24WE3dHq3_x8JNXrRVUXoa8l4jqINV-PGcDRtXnxFg==\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":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-07-27T05:12:11.03363Z","times_seen":22973,"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":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":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.754Z","timestamp":1785120763754,"http_version":"","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/5176.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.239Z","timestamp":1785120762239,"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=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\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: Sun, 26 Jul 2026 06:36:40 GMT\r\netag: \"5b97c0a26ca9707d0aade8420216c659\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 72965\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: VALFJU_99N9vRDPh4KkB9zrSnk433N5CX1tiEivNlYToe-uKzPKKDg==\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":1279,"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-07-27T05:24:59.939686Z","times_seen":1014,"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":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.googletagmanager.com/gtag/js?id=G-V84XP8WGXY","fqdn":"www.googletagmanager.com","domain":"googletagmanager.com","tld":"com"},"ip":{"addr":"142.250.178.72","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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:42.824Z","timestamp":1785120762824,"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 02:52:42 GMT\r\nexpires: Mon, 27 Jul 2026 02:52:42 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: 166337\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":166921,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (6033)","md5":"8c143b6c0238da9e9cc4039085776e79","sha1":"cb2b05a5c84db41e193555eb85e9e40fef1074bb","sha256":"610f3d06fe298660bc050413a379ee7389d29a7dbab7ae17691f4664e88f5f8f","sha512":"cd828bb60ad7d8acebdf74f02352e9ddfefe1d891de8b3b6228ed490de61fea7a2a8bf4c4a6867edbc476e7871fb37229f7ebd773b292208ff1629782d2973f6","ssdeep":"6144:/yHuRU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/8uC1WLP69VwqxVZOvg","tlshash":"f3a4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","first_seen":"2026-07-27T02:47:46.067086Z","last_seen":"2026-07-27T05:27:32.971904Z","times_seen":25,"resource_available":true,"data":"Ci8vIENvcHlyaWdodCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKKGZ1bmN0aW9uKCl7Cgp2YXIgZGF0YSA9IHsKInJlc291cmNlIjogewogICJ2ZXJzaW9uIjoiMSIsCiAgCiAgIm1hY3JvcyI6W3siZnVuY3Rpb24iOiJfX2UifSx7ImZ1bmN0aW9uIjoiX19jIiwidnRwX3ZhbHVlIjoiZ29vZ2xlLm5vIn0seyJmdW5jdGlvbiI6Il9fYyIsInZ0cF92YWx1ZSI6MH1dLAogICJ0YWdzIjpbeyJmdW5jdGlvbiI6Il9fb2d0XzFwX2RhdGFfdjIiLCJwcmlvcml0eSI6MTMsInZ0cF9pc0F1dG9FbmFibGVkIjp0cnVlLCJ2dHBfYXV0b1Bob25lRW5hYmxlZCI6dHJ1ZSwidnRwX2F1dG9Db2xsZWN0RXhjbHVzaW9uU2VsZWN0b3JzIjpbImxpc3QiLFsibWFwIiwiZXhjbHVzaW9uU2VsZWN0b3IiLCIiXV0sInZ0cF9pc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvQWRkcmVzc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvRW1haWxFbmFibGVkIjp0cnVlLCJ2dHBfaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIjp0cnVlLCJ0YWdfaWQiOjR9LHsiZnVuY3Rpb24iOiJfX2NjZF9nYV9maXJzdCIsInByaW9yaXR5IjoxMiwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTh9LHsiZnVuY3Rpb24iOiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIiwicHJpb3JpdHkiOjExLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidnRwX2ZvcmVpZ25UbGRNYWNyb1Jlc3VsdCI6WyJtYWNybyIsMV0sInZ0cF9pc0NoaW5hVmlwUmVnaW9uTWFjcm9SZXN1bHQiOlsibWFjcm8iLDJdLCJ0YWdfaWQiOjE3fSx7ImZ1bmN0aW9uIjoiX19jY2RfZ2FfcmVnc2NvcGUiLCJwcmlvcml0eSI6MTAsInZ0cF9zZXR0aW5nc1RhYmxlIjpbImxpc3QiLFsibWFwIiwicmVkYWN0RmllbGRHcm91cCIsIkRFVklDRV9BTkRfR0VPIiwiZGlzYWxsb3dBbGxSZWdpb25zIixmYWxzZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXSxbIm1hcCIsInJlZGFjdEZpZWxkR3JvdXAiLCJHT09HTEVfU0lHTkFMUyIsImRpc2FsbG93QWxsUmVnaW9ucyIsdHJ1ZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXV0sInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE2fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZG93bmxvYWQiLCJwcmlvcml0eSI6OSwidnRwX2luY2x1ZGVQYXJhbXMiOnRydWUsInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE1fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZm9ybSIsInByaW9yaXR5Ijo4LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTR9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsInByaW9yaXR5Ijo3LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTN9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9wYWdlX3ZpZXciLCJwcmlvcml0eSI6NiwidnRwX2hpc3RvcnlFdmVudHMiOnRydWUsInZ0cF9pbmNsdWRlUGFyYW1zIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjoxMn0seyJmdW5jdGlvbiI6Il9fY2NkX2VtX3Njcm9sbCIsInByaW9yaXR5Ijo1LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTF9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsInByaW9yaXR5Ijo0LCJ2dHBfc2VhcmNoUXVlcnlQYXJhbXMiOiJxLHMsc2VhcmNoLHF1ZXJ5LGtleXdvcmQiLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTB9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV92aWRlbyIsInByaW9yaXR5IjozLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6OX0seyJmdW5jdGlvbiI6Il9fY2NkX2NvbnZlcnNpb25fbWFya2luZyIsInByaW9yaXR5IjoyLCJ2dHBfY29udmVyc2lvblJ1bGVzIjpbImxpc3QiLFsibWFwIiwibWF0Y2hpbmdSdWxlcyIsIntcInR5cGVcIjo1LFwiYXJnc1wiOlt7XCJzdHJpbmdWYWx1ZVwiOlwiY2xvc2VfY29udmVydF9sZWFkXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il0sWyJtYXAiLCJtYXRjaGluZ1J1bGVzIiwie1widHlwZVwiOjUsXCJhcmdzXCI6W3tcInN0cmluZ1ZhbHVlXCI6XCJxdWFsaWZ5X2xlYWRcIn0se1wiY29udGV4dFZhbHVlXCI6e1wibmFtZXNwYWNlVHlwZVwiOjEsXCJrZXlQYXJ0c1wiOltcImV2ZW50TmFtZVwiXX19XX0iXSxbIm1hcCIsIm1hdGNoaW5nUnVsZXMiLCJ7XCJ0eXBlXCI6NSxcImFyZ3NcIjpbe1wic3RyaW5nVmFsdWVcIjpcInB1cmNoYXNlXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il1dLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo4fSx7ImZ1bmN0aW9uIjoiX19jY2RfYXV0b19yZWRhY3QiLCJwcmlvcml0eSI6MSwidnRwX3JlZGFjdEVtYWlsIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo3fSx7ImZ1bmN0aW9uIjoiX19nY3QiLCJ2dHBfdHJhY2tpbmdJZCI6IkctVjg0WFA4V0dYWSIsInZ0cF9zZXNzaW9uRHVyYXRpb24iOjAsInRhZ19pZCI6MX0seyJmdW5jdGlvbiI6Il9fY2NkX2dhX2xhc3QiLCJwcmlvcml0eSI6MCwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6Nn1dLAogICJwcmVkaWNhdGVzIjpbeyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmpzIn0seyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmluaXQifV0sCiAgInJ1bGVzIjpbW1siaWYiLDBdLFsiYWRkIiwxM11dLFtbImlmIiwxXSxbImFkZCIsMCwxNCwxMiwxMSwxMCw5LDgsNyw2LDUsNCwzLDIsMV1dXQp9LAoicnVudGltZSI6WyBbNTAsIl9fYyIsWzQ2LCJhIl0sWzM2LFsxNyxbMTUsImEiXSwidmFsdWUiXV1dCiAsWzUwLCJfX2NjZF9hdXRvX3JlZGFjdCIsWzQ2LCJhIl0sWzUwLCJ2IixbNDYsImFGIl0sWzM2LFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJ1Il0sIlxcJDEiXV1dXSxbNTAsInciLFs0NiwiYUYiXSxbNTIsImFHIixbMzAsWyJjIixbMTUsImFGIl1dLFsxNSwiYUYiXV1dLFs1MiwiYUgiLFs3XV0sWzY1LCJhSSIsWzIsWzE1LCJhRyJdLCJzcGxpdCIsWzcsIiJdXSxbNDYsWzUzLFs1MiwiYUoiLFs3LFsidiIsWzE1LCJhSSJdXV1dLFs1MiwiYUsiLFsiZCIsWzE1LCJhSSJdXV0sWzIyLFsxMixbMTUsImFLIl0sWzQ1XV0sWzQ2LFs1MyxbMzYsWyJkIixbInYiLFsxNSwiYUYiXV1dXV1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbMTUsImFJIl1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbMTUsImFLIl1dXSxbMjIsWzIxLFsxNSwiYUkiXSxbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXSxbNDYsWzUzLFsyLFsxNSwiYUoiXSwicHVzaCIsWzcsWyJkIixbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXV1dXV0sWzQ2LFsyMixbMjEsWzE1LCJhSSJdLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbImQiLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dXV1dXV1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFKIl0sImxlbmd0aCJdLDFdLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMCxbMCwiKD86IixbMixbMTUsImFKIl0sImpvaW4iLFs3LCJ8Il1dXSwiKSJdXV1dXSxbNDYsWzUzLFsyLFsxNSwiYUgiXSwicHVzaCIsWzcsWzE2LFsxNSwiYUoiXSwwXV1dXV1dXV1dLFszNixbMixbMTUsImFIIl0sImpvaW4iLFs3LCIiXV1dXSxbNTAsIngiLFs0NiwiYUYiLCJhRyIsImFIIl0sWzUyLCJhSSIsWyJ6IixbMTUsImFGIl0sWzE1LCJhSCJdXV0sWzIyLFsyOCxbMTUsImFJIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjgsWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFs0MSwiYUoiXSxbMywiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNjUsImFLIixbMTUsImFHIl0sWzQ2LFs1MyxbNTIsImFMIixbNyxbInYiLFsxNSwiYUsiXV0sWyJ3IixbMTUsImFLIl1dXV0sWzY1LCJhTSIsWzE1LCJhTCJdLFs0NixbNTMsWzUyLCJhTiIsWzMwLFsxNixbMTUsInQiXSxbMTUsImFNIl1dLFs0MyxbMTUsInQiXSxbMTUsImFNIl0sWyJiIixbMCxbMCwiKFs/Jl0iLFsxNSwiYU0iXV0sIj0pKFteJl0qKSJdLCJnaSJdXV1dLFszLCJhSiIsWzIsWzE1LCJhSiJdLCJyZXBsYWNlIixbNyxbMTUsImFOIl0sWzAsIiQxIixbMTUsInIiXV1dXV1dXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjAsWzE2LFsxNSwiYUoiXSwwXSwiJiJdLFs0NixbMywiYUoiLFsyLFsxNSwiYUoiXSwic3Vic3RyaW5nIixbNywxXV1dXV0sWzIyLFsyMSxbMTYsWzE1LCJhSiJdLDBdLCI/Il0sWzQ2LFszLCJhSiIsWzAsIj8iLFsxNSwiYUoiXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sIj8iXSxbNDYsWzMsImFKIiwiIl1dXSxbNDMsWzE1LCJhSSJdLCJzZWFyY2giLFsxNSwiYUoiXV0sWzM2LFsiYUEiLFsxNSwiYUkiXSxbMTUsImFIIl1dXV0sWzUwLCJ6IixbNDYsImFGIiwiYUciXSxbMjIsWzIwLFsxNSwiYUciXSxbMTcsWzE1LCJzIl0sIlBBVEgiXV0sWzQ2LFs1MyxbMywiYUYiLFswLFsxNSwieSJdLFsxNSwiYUYiXV1dXV1dLFszNixbImYiLFsxNSwiYUYiXV1dXSxbNTAsImFBIixbNDYsImFGIiwiYUciXSxbNDEsImFIIl0sWzMsImFIIiwiIl0sWzIyLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJVUkwiXV0sWzQ2LFs1MyxbNDEsImFJIl0sWzMsImFJIiwiIl0sWzIyLFszMCxbMTcsWzE1LCJhRiJdLCJ1c2VybmFtZSJdLFsxNyxbMTUsImFGIl0sInBhc3N3b3JkIl1dLFs0NixbNTMsWzMsImFJIixbMCxbMTUsImFJIl0sWzAsWzAsWzAsWzE3LFsxNSwiYUYiXSwidXNlcm5hbWUiXSxbMzksWzE3LFsxNSwiYUYiXSwicGFzc3dvcmQiXSwiOiIsIiJdXSxbMTcsWzE1LCJhRiJdLCJwYXNzd29yZCJdXSwiQCJdXV1dXV0sWzMsImFIIixbMCxbMCxbMCxbMTcsWzE1LCJhRiJdLCJwcm90b2NvbCJdLCIvLyJdLFsxNSwiYUkiXV0sWzE3LFsxNSwiYUYiXSwiaG9zdCJdXV1dXV0sWzM2LFswLFswLFswLFsxNSwiYUgiXSxbMTcsWzE1LCJhRiJdLCJwYXRobmFtZSJdXSxbMTcsWzE1LCJhRiJdLCJzZWFyY2giXV0sWzE3LFsxNSwiYUYiXSwiaGFzaCJdXV1dLFs1MCwiYUIiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJuIl0sWzE1LCJyIl1dXV0sWzIyLFszMCxbMjAsWzE1LCJhRyJdLFsxNyxbMTUsInMiXSwiVVJMIl1dLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJQQVRIIl1dXSxbNDYsWzUzLFs1MiwiYUkiLFsieiIsWzE1LCJhSCJdLFsxNSwiYUciXV1dLFsyMixbMjAsWzE1LCJhSSJdLFs0NF1dLFs0NixbMzYsWzE1LCJhSCJdXV1dLFs1MiwiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNTIsImFLIixbMixbMTUsImFKIl0sInJlcGxhY2UiLFs3LFsxNSwibyJdLFsxNSwiciJdXV1dLFsyMixbMjAsWzE1LCJhSiJdLFsxNSwiYUsiXV0sWzQ2LFszNixbMTUsImFIIl1dXV0sWzQzLFsxNSwiYUkiXSwic2VhcmNoIixbMTUsImFLIl1dLFszLCJhSCIsWyJhQSIsWzE1LCJhSSJdLFsxNSwiYUciXV1dXV1dLFszNixbMTUsImFIIl1dXSxbNTAsImFDIixbNDYsImFGIl0sWzIyLFsyMCxbMTUsImFGIl0sWzE1LCJxIl1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiUEFUSCJdXV1dLFs0NixbMjIsWzIxLFsyLFsxNSwicCJdLCJpbmRleE9mIixbNyxbMTUsImFGIl1dXSxbMjcsMV1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiVVJMIl1dXV0sWzQ2LFs1MyxbMzYsWzE3LFsxNSwicyJdLCJURVhUIl1dXV1dXV1dLFs1MCwiYUQiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLGZhbHNlXSxbNTIsImFJIixbImUiLFsxNSwiYUYiXV1dLFszOCxbMTUsImFJIl0sWzQ2LCJzdHJpbmciLCJhcnJheSIsIm9iamVjdCJdLFs0NixbNSxbNDYsWzUyLCJhSiIsWyJhQiIsWzE1LCJhRiJdLFsxNSwiYUciXV1dLFsyMixbMjEsWzE1LCJhRiJdLFsxNSwiYUoiXV0sWzQ2LFs1MyxbMzYsWzE1LCJhSiJdXV1dXSxbNF1dXSxbNSxbNDYsWzUzLFs0MSwiYUsiXSxbMywiYUsiLDBdLFs2MyxbNywiYUsiXSxbMjMsWzE1LCJhSyJdLFsxNyxbMTUsImFGIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJhSyJdLFszLCJhSyIsWzAsWzE1LCJhSyJdLDFdXV0sWzQ2LFs1MyxbNTIsImFMIixbImFEIixbMTYsWzE1LCJhRiJdLFsxNSwiYUsiXV0sWzE3LFsxNSwicyJdLCJURVhUIl1dXSxbMjIsWzIxLFsxNSwiYUwiXSxbNDRdXSxbNDYsWzUzLFs0MyxbMTUsImFGIl0sWzE1LCJhSyJdLFsxNSwiYUwiXV0sWzMsImFIIix0cnVlXV1dXV1dXV0sWzRdXV0sWzUsWzQ2LFs1NCwiYUsiLFsxNSwiYUYiXSxbNDYsWzUzLFs1MiwiYUwiLFsiYUQiLFsxNixbMTUsImFGIl0sWzE1LCJhSyJdXSxbMTcsWzE1LCJzIl0sIlRFWFQiXV1dLFsyMixbMjEsWzE1LCJhTCJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiYUYiXSxbMTUsImFLIl0sWzE1LCJhTCJdXSxbMywiYUgiLHRydWVdXV1dXV1dLFs0XV1dXV0sWzM2LFszOSxbMTUsImFIIl0sWzE1LCJhRiJdLFs0NF1dXV0sWzUwLCJhRSIsWzQ2LCJhRiIsImFHIl0sWzUyLCJhSCIsWzMwLFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQUMiXV1dLFs3XV1dLFsyMixbMjAsWzIsWzE1LCJhSCJdLCJpbmRleE9mIixbNyxbMTUsImFHIl1dXSxbMjcsMV1dLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMTUsImFHIl1dXV1dXSxbMixbMTUsImFGIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJoIl0sIkFDIl0sWzE1LCJhSCJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuY3JlYXRlUmVnZXgiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJkZWNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJlbmNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJlIixbInJlcXVpcmUiLCJnZXRUeXBlIl1dLFs1MiwiZiIsWyJyZXF1aXJlIiwicGFyc2VVcmwiXV0sWzUyLCJnIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiaCIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImkiLFsxNSwiX19tb2R1bGVfZ29sZEV2ZW50VXNhZ2VJZCJdXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFs1MiwiayIsWzE3LFsxNSwiYSJdLCJyZWRhY3RFbWFpbCJdXSxbNTIsImwiLFsxNyxbMTUsImEiXSwicmVkYWN0UXVlcnlQYXJhbXMiXV0sWzUyLCJtIixbMzksWzE1LCJsIl0sWzIsWzE1LCJsIl0sInNwbGl0IixbNywiLCJdXSxbN11dXSxbMjIsWzEsWzI4LFsxNyxbMTUsIm0iXSwibGVuZ3RoIl1dLFsyOCxbMTUsImsiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFs1MiwibiIsWyJiIiwiW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcXC5bQS1aXXsyLH0iLCJnaSJdXSxbNTIsIm8iLFsiYiIsWzAsIihbQS1aMC05Ll8tXXwlMjV8JTJCKSslNDBbQS1aMC05Li1dIiwiK1xcLltBLVpdezIsfSJdLCJnaSJdXSxbNTIsInAiLFs3LCJwYWdlX2xvY2F0aW9uIiwicGFnZV9yZWZlcnJlciIsInBhZ2VfcGF0aCIsImxpbmtfdXJsIiwidmlkZW9fdXJsIiwiZm9ybV9kZXN0aW5hdGlvbiJdXSxbNTIsInEiLCJwYWdlX3BhdGgiXSxbNTIsInIiLCIocmVkYWN0ZWQpIl0sWzUyLCJzIixbOCwiVEVYVCIsMCwiVVJMIiwxLCJQQVRIIiwyXV0sWzUyLCJ0IixbOF1dLFs1MiwidSIsWyJiIiwiKFtcXFxcXiQufD8qKygpe31dfFxcW3xcXFspIiwiZyJdXSxbNTIsInkiLCJodHRwOi8vLiJdLFsiZyIsWzE1LCJqIl0sWzUxLCIiLFs3LCJhRiJdLFsyMixbMTUsImsiXSxbNDYsWzUzLFs1MiwiYUciLFsyLFsxNSwiYUYiXSwiZ2V0SGl0S2V5cyIsWzddXV0sWzY1LCJhSCIsWzE1LCJhRyJdLFs0NixbNTMsWzIyLFsyMCxbMTUsImFIIl0sIl9zc3RfcGFyYW1ldGVycyJdLFs0NixbNl1dXSxbNTIsImFJIixbMixbMTUsImFGIl0sImdldEhpdERhdGEiLFs3LFsxNSwiYUgiXV1dXSxbMjIsWzI4LFsxNSwiYUkiXV0sWzQ2LFs2XV1dLFs1MiwiYUoiLFsiYUMiLFsxNSwiYUgiXV1dLFs1MiwiYUsiLFsiYUQiLFsxNSwiYUkiXSxbMTUsImFKIl1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbNDRdXSxbNDYsWzUzLFsyLFsxNSwiYUYiXSwic2V0SGl0RGF0YSIsWzcsWzE1LCJhSCJdLFsxNSwiYUsiXV1dLFsiYUUiLFsxNSwiYUYiXSxbMzksWzIsWzE1LCJhRiJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiaCJdLCJCTyJdXV0sWzE3LFsxNSwiaSJdLCJXIl0sWzE3LFsxNSwiaSJdLCJPIl1dXV1dXV1dXV1dXSxbMjIsWzE3LFsxNSwibSJdLCJsZW5ndGgiXSxbNDYsWzUzLFs2NSwiYUciLFsxNSwicCJdLFs0NixbNTMsWzUyLCJhSCIsWzIsWzE1LCJhRiJdLCJnZXRIaXREYXRhIixbNyxbMTUsImFHIl1dXV0sWzIyLFsyOCxbMTUsImFIIl1dLFs0NixbNl1dXSxbNTIsImFJIixbMzksWzIwLFsxNSwiYUciXSxbMTUsInEiXV0sWzE3LFsxNSwicyJdLCJQQVRIIl0sWzE3LFsxNSwicyJdLCJVUkwiXV1dLFs1MiwiYUoiLFsieCIsWzE1LCJhSCJdLFsxNSwibSJdLFsxNSwiYUkiXV1dLFsyMixbMjEsWzE1LCJhSiJdLFsxNSwiYUgiXV0sWzQ2LFs1MyxbMixbMTUsImFGIl0sInNldEhpdERhdGEiLFs3LFsxNSwiYUciXSxbMTUsImFKIl1dXSxbImFFIixbMTUsImFGIl0sWzM5LFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQk8iXV1dLFsxNyxbMTUsImkiXSwiWCJdLFsxNyxbMTUsImkiXSwiUCJdXV1dXV1dXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIixbNDYsImEiXSxbMjIsWzMwLFsyOCxbMTcsWzE1LCJhIl0sImNvbnZlcnNpb25SdWxlcyJdXSxbMjAsWzE3LFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sImxlbmd0aCJdLDBdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlQcmVIaXQiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJmIiwiZmlyc3RfdmlzaXQiXSxbNTIsImciLCJzZXNzaW9uX3N0YXJ0Il0sWzQxLCJoIl0sWzQxLCJpIl0sWyJkIixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdLFs1MSwiIixbNywiaiJdLFs1MiwiayIsWzgsInByZUhpdCIsWzE1LCJqIl1dXSxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiUCJdLHRydWVdXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVYiXSx0cnVlXV0sWzRdXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVoiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImgiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJmIl1dXSxbMywiaCIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImgiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkEiXSx0cnVlXV0sWzRdXV1dXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkwiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImkiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJnIl1dXSxbMywiaSIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImkiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQk0iXSx0cnVlXV0sWzRdXV1dXV1dXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXQogLFs1MCwiX19jY2RfZW1fZG93bmxvYWQiLFs0NiwiYSJdLFs1MCwicSIsWzQ2LCJ2Il0sWzM2LFsxLFsxNSwidiJdLFsyMSxbMixbMixbMTUsInYiXSwidG9Mb3dlckNhc2UiLFs3XV0sIm1hdGNoIixbNyxbMTUsInAiXV1dLFs0NV1dXV1dLFs1MCwiciIsWzQ2LCJ2Il0sWzUyLCJ3IixbMixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl0sInNwbGl0IixbNywiLiJdXV0sWzUyLCJ4IixbMzksWzE4LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sMV0sWzE2LFsxNSwidyJdLFszNyxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdLDFdXSwiIl1dLFszNixbMTYsWzIsWzE1LCJ4Il0sInNwbGl0IixbNywiLyJdXSwwXV1dLFs1MCwicyIsWzQ2LCJ2Il0sWzM2LFszOSxbMTIsWzIsWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLCJzdWJzdHJpbmciLFs3LDAsMV1dLCIvIl0sWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLFswLCIvIixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl1dXV1dLFs1MCwidCIsWzQ2LCJ2Il0sWzQxLCJ3Il0sWzMsInciLCIiXSxbMjIsWzEsWzE1LCJ2Il0sWzE3LFsxNSwidiJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ4Il0sWzMsIngiLFsyLFsxNyxbMTUsInYiXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsInciLFszOSxbMjMsWzE1LCJ4Il0sMF0sWzE3LFsxNSwidiJdLCJocmVmIl0sWzIsWzE3LFsxNSwidiJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsIngiXV1dXV1dXV0sWzM2LFsxNSwidyJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbURvd25sb2FkQWN0aXZpdHkiXV0sWzUyLCJmIixbMTcsWzE1LCJkIl0sIkEiXV0sWzUyLCJnIiwiZmlsZV9kb3dubG9hZCJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibCJdLCJBIixbNywiZG93bmxvYWQiXV1dLFs1MiwicCIsWzAsIl4ocGRmfHhsc3g/fGRvY3g/fHR4dHxydGZ8Y3N2fGV4ZXxrZXl8cHAoc3x0fHR4KXw3enxwa2d8cmFyfGd6fHppcHxhdml8IiwibW92fG1wNHxtcGU/Z3x3bXZ8bWlkaT98bXAzfHdhdnx3bWEpJCJdXSxbNTIsInUiLFsiayIsWzgsImNoZWNrVmFsaWRhdGlvbiIsdHJ1ZV1dXSxbMjIsWzI4LFsxNSwidSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImMiXSwic2V0SXRlbSIsWzcsWzE1LCJoIl0sdHJ1ZV1dLFsiaiIsImd0bS5saW5rQ2xpY2siLFs1MSwiIixbNywidiIsInciXSxbInciXSxbNTIsIngiLFs4LCJldmVudElkIixbMTYsWzE1LCJ2Il0sImd0bS51bmlxdWVFdmVudElkIl0sImRlZmVycmFibGUiLHRydWVdXSxbNTIsInkiLFsxNixbMTUsInYiXSwiZ3RtLmVsZW1lbnRVcmwiXV0sWzUyLCJ6IixbIm0iLFsxNSwieSJdXV0sWzIyLFsyOCxbMTUsInoiXV0sWzQ2LFszNl1dXSxbNTIsImFBIixbInIiLFsxNSwieiJdXV0sWzIyLFsyOCxbInEiLFsxNSwiYUEiXV1dLFs0NixbNTMsWzM2XV1dXSxbNTIsImFCIixbOCwibGlua19pZCIsWzE2LFsxNSwidiJdLCJndG0uZWxlbWVudElkIl0sImxpbmtfdXJsIixbInQiLFsxNSwieiJdXSwibGlua190ZXh0IixbMTYsWzE1LCJ2Il0sImd0bS5lbGVtZW50VGV4dCJdLCJmaWxlX25hbWUiLFsicyIsWzE1LCJ6Il1dLCJmaWxlX2V4dGVuc2lvbiIsWzE1LCJhQSJdXV0sWzIsWzE1LCJsIl0sIkIiLFs3LFsxNSwieCJdXV0sWyJuIixbMTUsIm8iXSxbMTUsImciXSxbMTUsImFCIl0sWzE1LCJ4Il1dXSxbMTUsInUiXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX2Zvcm0iLFs0NiwiYSJdLFs1MCwieCIsWzQ2LCJhTCJdLFs1MiwiYU0iLFszMCxbMTYsWzE1LCJhTCJdLFsxNSwiciJdXSxbOF1dXSxbNDMsWzE1LCJhTSJdLCJldmVudF91c2FnZSIsWzcsWzE3LFsxNSwiZyJdLCJIIl1dXSxbNDMsWzE1LCJhTCJdLFsxNSwiciJdLFsxNSwiYU0iXV1dLFs1MCwieSIsWzQ2LCJhTCIsImFNIl0sWzUyLCJhTiIsWzMwLFsxNixbMTUsImFMIl0sWzE1LCJyIl1dLFs4XV1dLFsyMixbMTYsWzE1LCJhTSJdLCJndG0uZm9ybUNhbmNlbGVkIl0sWzQ2LFs1MyxbNDMsWzE1LCJhTiJdLFsxNyxbMTUsImkiXSwiQUoiXSx0cnVlXV1dXSxbMixbMTUsInUiXSwiQiIsWzcsWzE1LCJhTCJdLFsxNSwiYU4iXV1dXSxbNTAsInoiLFs0NiwiYUwiLCJhTSIsImFOIl0sWzUyLCJhTyIsWzIsWzE1LCJ3Il0sImZpbHRlciIsWzcsWzUxLCIiLFs3LCJhUSJdLFszNixbMjAsWzIsWzE1LCJhUSJdLCJpbmRleE9mIixbNywiQVctIl1dLDBdXV1dXV0sWzIyLFsxOCxbMTcsWzE1LCJhTyJdLCJsZW5ndGgiXSwwXSxbNDYsWzUzLFsidiIsWzE1LCJhTyJdLFsxNSwiYUwiXSxbMTUsImFNIl0sWzE1LCJhTiJdXV1dXSxbNTIsImFQIixbMixbMTUsInciXSwiZmlsdGVyIixbNyxbNTEsIiIsWzcsImFRIl0sWzM2LFsyMSxbMixbMTUsImFRIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFQIl0sImxlbmd0aCJdLDBdLFs0NixbNTMsWzQzLFsxNSwiYU4iXSwiZGVmZXJyYWJsZSIsdHJ1ZV0sWyJ2IixbMTUsImFQIl0sWzE1LCJhTCJdLFsxNSwiYU0iXSxbMTUsImFOIl1dXV1dXSxbNTAsImFLIixbNDZdLFs1MiwiYUwiLFsibSIsWyJsIiwwLDIuMTQ3NDgzNjQ3RTldXV0sWzQxLCJhTSJdLFszLCJhTSIsMF0sWzM2LFs1MSwiIixbNywiYU4iXSxbMjIsWzIwLFsxNSwiYU4iXSxbMTUsInMiXV0sWzQ2LFs1MyxbMywiYU0iLFsiayJdXSxbMzYsWzAsWyJtIixbMTUsImFNIl1dLFsxNSwiYUwiXV1dXV0sWzQ2LFsyMixbMjAsWzE1LCJhTiJdLFsxNSwibyJdXSxbNDYsWzUzLFsyMixbMjAsWzE1LCJhTSJdLDBdLFs0NixbNTMsWzM2LFswLFsibSIsWyJrIl1dLFsxNSwiYUwiXV1dXV1dLFs1MiwiYU8iLFsiayJdXSxbMjIsWzIzLFszNyxbMTUsImFPIl0sWzE1LCJhTSJdXSwyMDBdLFs0NixbNTMsWzUyLCJhUCIsWzE1LCJhTSJdXSxbMywiYU0iLDBdLFszNixbMCxbIm0iLFsxNSwiYVAiXV0sWzE1LCJhTCJdXV1dXV0sWzMsImFNIiwwXSxbMzYsWzAsWyJtIixbMTUsImFPIl1dLFsxNSwiYUwiXV1dXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiYyIsWzE1LCJfX21vZHVsZV9jY2RFbUZvcm1BY3Rpdml0eSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2dvbGRFdmVudFVzYWdlSWQiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImoiLFsxNSwiX19tb2R1bGVfYWR3b3Jkc0hpdFR5cGUiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJnZXRUaW1lc3RhbXBNaWxsaXMiXV0sWzUyLCJsIixbInJlcXVpcmUiLCJnZW5lcmF0ZVJhbmRvbSJdXSxbNTIsIm0iLFsicmVxdWlyZSIsIm1ha2VTdHJpbmciXV0sWzUyLCJuIixbMTcsWzE1LCJoIl0sIkIiXV0sWzUyLCJvIiwiZm9ybV9zdWJtaXQiXSxbNTIsInAiLCJmb3JtX3N0YXJ0Il0sWzUyLCJxIiwiaXNSZWdpc3RlcmVkIl0sWzUyLCJyIiwiZXZlbnRNZXRhZGF0YSJdLFs1MiwicyIsImNsaWNrIl0sWzUyLCJ0IixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdXSxbMjIsWyJkIixbMTUsInQiXSxbMTUsIm4iXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsxNSwiYSJdLCJza2lwVmFsaWRhdGlvbiJdLFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIyLFsyLFsxNSwiZiJdLCJnZXRJdGVtIixbNyxbMTUsInEiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNyxbMTUsInEiXSx0cnVlXV0sWzUyLCJ1IixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJ2IixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwidyIsWzIsWzE1LCJ1Il0sIkEiLFs3LCJmb3JtIl1dXSxbNTIsImFBIixbOF1dLFs1MiwiYUIiLFs1MSwiIixbNywiYUwiLCJhTSJdLFsyMixbMTUsImFNIl0sWzQ2LFsiYU0iXV1dLFs1MiwiYU4iLFsxNixbMTUsImFMIl0sImd0bS5lbGVtZW50SWQiXV0sWzIyLFsxNixbMTUsImFBIl0sWzE1LCJhTiJdXSxbNDYsWzM2XV1dLFs0MyxbMTUsImFBIl0sWzE1LCJhTiJdLHRydWVdLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTUsImFOIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZpcnN0X2ZpZWxkX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl0sImZpcnN0X2ZpZWxkX25hbWUiLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkTmFtZSJdLCJmaXJzdF9maWVsZF90eXBlIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZFR5cGUiXSwiZmlyc3RfZmllbGRfcG9zaXRpb24iLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXV1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdGFydCJdLFsieiIsWzE1LCJwIl0sWzE1LCJhTyJdLFsxNSwiYVAiXV1dXSxbNTIsImFDIixbImFLIl1dLFs1MiwiYUQiLFs1MSwiIixbNywiYUwiLCJhTSJdLFs1MiwiYU4iLFsiYUMiLFsxNSwibyJdXV0sWyJhQiIsWzE1LCJhTCJdLFs0NF1dLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudElkIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZvcm1fc3VibWl0X3RleHQiLFsxNixbMTUsImFMIl0sImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXV1dLFs0MyxbMTUsImFPIl0sImV2ZW50X2NhbGxiYWNrIixbMTUsImFNIl1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdWJtaXQiXSxbNDMsWzE2LFsxNSwiYVAiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJTIl0sWzE1LCJhTiJdXSxbInoiLFsxNSwibyJdLFsxNSwiYU8iXSxbMTUsImFQIl1dXV0sWzUyLCJhRSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuYWRkRGF0YUxheWVyRXZlbnRMaXN0ZW5lciJdXSxbNTIsImFGIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1TdWJtaXQiXV0sWzUyLCJhRyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtSW50ZXJhY3Rpb24iXV0sWzUyLCJhSCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayJdXSxbNTIsImFJIixbImFHIl1dLFsyMixbMjgsWzE1LCJhSSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbImFFIiwiZ3RtLmZvcm1JbnRlcmFjdCIsWzE1LCJhQiJdLFsxNSwiYUkiXV0sWzUyLCJhSiIsWyJhRiIsWzgsImNoZWNrVmFsaWRhdGlvbiIsZmFsc2UsIndhaXRGb3JUYWdzIixmYWxzZV1dXSxbMjIsWzI4LFsxNSwiYUoiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWyJhRSIsImd0bS5mb3JtU3VibWl0IixbMTUsImFEIl0sWzE1LCJhSiJdXSxbMjIsWyJlIixbMTcsWzE1LCJiIl0sIkNQIl1dLFs0NixbNTMsWzUyLCJhTCIsWyJhSCIsWzgsInVzZVYyRXZlbnROYW1lIix0cnVlLCJjc3NTZWxlY3RvciIsWzAsWzAsWzAsWzAsWzAsWzAsWzAsImZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICIsImZvcm0gYnV0dG9uOm5vdChbdHlwZV0pLCJdLCJmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICJdLCJmb3JtIGlucHV0W3R5cGU9XCJpbWFnZVwiXSwgIl0sImJ1dHRvbltmb3JtXVt0eXBlPVwic3VibWl0XCJdLCAiXSwiYnV0dG9uW2Zvcm1dOm5vdChbdHlwZV0pLCAiXSwiaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtmb3JtXSwgIl0sImlucHV0W3R5cGU9XCJpbWFnZVwiXVtmb3JtXSJdXV1dLFs1MCwiYU0iLFs0NiwiYU4iLCJhTyJdLFs1MiwiYVAiLFs4LCJldmVudF9jYWxsYmFjayIsWzE1LCJhTyJdXV0sWzUyLCJhUSIsWzgsImV2ZW50SWQiLFsxNixbMTUsImFOIl0sImd0bS51bmlxdWVFdmVudElkIl1dXSxbIngiLFsxNSwiYVEiXV0sWyJ5IixbMTUsImFRIl0sWzE1LCJhTiJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBUiJdLFsxNyxbMTUsImoiXSwiSyJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBQSJdLCJjbGljayJdLFs0MyxbMTYsWzE1LCJhUSJdLFsxNSwiciJdXSxbMTcsWzE1LCJpIl0sIlMiXSxbImFDIixbMTUsInMiXV1dLFsieiIsWzE1LCJvIl0sWzE1LCJhUCJdLFsxNSwiYVEiXV1dLFsiYUUiLCJndG0uY2xpY2stdjIiLFsxNSwiYU0iXSxbMTUsImFMIl1dXV1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsWzQ2LCJhIl0sWzUwLCJyIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLCIiXSxbMjIsWzEsWzE1LCJ3Il0sWzE3LFsxNSwidyJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ5Il0sWzMsInkiLFsyLFsxNyxbMTUsInciXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsIngiLFszOSxbMjMsWzE1LCJ5Il0sMF0sWzE3LFsxNSwidyJdLCJocmVmIl0sWzIsWzE3LFsxNSwidyJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsInkiXV1dXV1dXV0sWzM2LFsxNSwieCJdXV0sWzUwLCJzIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXV0sWzUyLCJ5IixbMixbMTUsIngiXSwibWF0Y2giLFs3LCJed3d3XFxkKlxcLiJdXV0sWzIyLFsxLFsxNSwieSJdLFsxNixbMTUsInkiXSwwXV0sWzQ2LFszLCJ4IixbMixbMTUsIngiXSwic3Vic3RyaW5nIixbNyxbMTcsWzE2LFsxNSwieSJdLDBdLCJsZW5ndGgiXV1dXV1dLFszNixbMTUsIngiXV1dLFs1MCwidCIsWzQ2LCJ3Il0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbNTIsIngiLFsyLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXSwidG9Mb3dlckNhc2UiLFs3XV1dLFsyMixbMjgsWzE1LCJ4Il1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNDEsInkiXSxbMywieSIsWzIsWyJzIixbIm8iLFsibiJdXV0sInRvTG93ZXJDYXNlIixbN11dXSxbNDEsInoiXSxbMywieiIsWzM3LFsxNyxbMTUsIngiXSwibGVuZ3RoIl0sWzE3LFsxNSwieSJdLCJsZW5ndGgiXV1dLFsyMixbMSxbMTgsWzE1LCJ6Il0sMF0sWzI5LFsyLFsxNSwieSJdLCJjaGFyQXQiLFs3LDBdXSwiLiJdXSxbNDYsWzUzLFszMixbMTUsInoiXSxbMywieiIsWzM3LFsxNSwieiJdLDFdXV0sWzMsInkiLFswLCIuIixbMTUsInkiXV1dXV1dLFsyMixbMSxbMTksWzE1LCJ6Il0sMF0sWzEyLFsyLFsxNSwieCJdLCJpbmRleE9mIixbNyxbMTUsInkiXSxbMTUsInoiXV1dLFsxNSwieiJdXV0sWzQ2LFs1MyxbMzYsZmFsc2VdXV1dLFszNix0cnVlXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbU91dGJvdW5kQ2xpY2tBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRCJdXSxbNTIsImciLCJjbGljayJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsIm4iLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsIm8iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwicCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsInEiLFsyLFsxNSwibCJdLCJBIixbNywib3V0Ym91bmRfY2xpY2siXV1dLFs1MiwidSIsWyJtIixbMTUsImkiXSwiY3Jvc3NfZG9tYWluX2NvbmRpdGlvbnMiXV0sWzUyLCJ2IixbImsiLFs4LCJhZmZpbGlhdGVEb21haW5zIixbMTUsInUiXSwiY2hlY2tWYWxpZGF0aW9uIix0cnVlLCJ3YWl0Rm9yVGFncyIsZmFsc2VdXV0sWzIyLFsyOCxbMTUsInYiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sInNldEl0ZW0iLFs3LFsxNSwiaCJdLHRydWVdXSxbImoiLCJndG0ubGlua0NsaWNrIixbNTEsIiIsWzcsInciLCJ4Il0sWzUyLCJ5IixbIm8iLFsxNixbMTUsInciXSwiZ3RtLmVsZW1lbnRVcmwiXV1dLFsyMixbMjgsWyJ0IixbMTUsInkiXV1dLFs0NixbNTMsWyJ4Il0sWzM2XV1dXSxbNTIsInoiLFs4LCJsaW5rX2lkIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50SWQiXSwibGlua19jbGFzc2VzIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50Q2xhc3NlcyJdLCJsaW5rX3VybCIsWyJyIixbMTUsInkiXV0sImxpbmtfZG9tYWluIixbInMiLFsxNSwieSJdXSwib3V0Ym91bmQiLHRydWVdXSxbNDMsWzE1LCJ6Il0sImV2ZW50X2NhbGxiYWNrIixbMTUsIngiXV0sWzUyLCJhQSIsWzgsImV2ZW50SWQiLFsxNixbMTUsInciXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXSwiZGVmZXJyYWJsZSIsdHJ1ZV1dLFsyLFsxNSwibCJdLCJCIixbNyxbMTUsImFBIl1dXSxbInAiLFsxNSwicSJdLFsxNSwiZyJdLFsxNSwieiJdLFsxNSwiYUEiXV1dLFsxNSwidiJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZW1fcGFnZV92aWV3IixbNDYsImEiXSxbMjIsWzI4LFsxNyxbMTUsImEiXSwiaGlzdG9yeUV2ZW50cyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsImQiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1QYWdlVmlld0FjdGl2aXR5Il1dLFs1MiwiZiIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImciLFsxNyxbMTUsImYiXSwiQyJdXSxbNTIsImgiLCJwYWdlX3ZpZXciXSxbNTIsImkiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaiJdLFsxNSwiZyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJqIl1dXSxbMjIsWzIsWzE1LCJkIl0sImdldEl0ZW0iLFs3LFsxNSwiaSJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25IaXN0b3J5Q2hhbmdlIl1dLFs1MiwibSIsWzE1LCJfX21vZHVsZV9lbmhhbmNlZE1lYXN1cmVtZW50Il1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibSJdLCJBIixbNywicGFnZV92aWV3Il1dXSxbNTIsInAiLFs4LCJpbnRlcnZhbCIsMTAwMCwidXNlVjJFdmVudE5hbWUiLHRydWVdXSxbNTIsInEiLFsibCIsWzE1LCJwIl1dXSxbMjIsWzI4LFsxNSwicSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImQiXSwic2V0SXRlbSIsWzcsWzE1LCJpIl0sdHJ1ZV1dLFsiayIsImd0bS5oaXN0b3J5Q2hhbmdlLXYyIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS5vbGRVcmwiXV0sWzIyLFsyMCxbMTYsWzE1LCJyIl0sImd0bS5uZXdVcmwiXSxbMTUsInQiXV0sWzQ2LFszNl1dXSxbNTIsInUiLFsxNixbMTUsInIiXSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiXV0sWzIyLFsxLFsxLFsyMSxbMTUsInUiXSwicHVzaFN0YXRlIl0sWzIxLFsxNSwidSJdLCJwb3BzdGF0ZSJdXSxbMjEsWzE1LCJ1Il0sInJlcGxhY2VTdGF0ZSJdXSxbNDYsWzUzLFszNl1dXV0sWzUyLCJ2IixbOF1dLFsyMixbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwicGFnZV9sb2NhdGlvbiIsWzE2LFsxNSwiciJdLCJndG0ubmV3VXJsIl1dLFs0MyxbMTUsInYiXSwicGFnZV9yZWZlcnJlciIsWzE1LCJ0Il1dXV1dLFs1MiwidyIsWzgsImV2ZW50SWQiLFsxNixbMTUsInIiXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXV1dLFsyMixbMjEsWzE3LFsxNSwiYSJdLCJkZWZlclBhZ2VWaWV3Il0sZmFsc2VdLFs0NixbNTMsWzQzLFsxNSwidyJdLCJkZWZlcnJhYmxlIix0cnVlXV1dXSxbMixbMTUsIm0iXSwiQiIsWzcsWzE1LCJ3Il1dXSxbIm4iLFsxNSwibyJdLFsxNSwiaCJdLFsxNSwidiJdLFsxNSwidyJdXV0sWzE1LCJxIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zY3JvbGwiLFs0NiwiYSJdLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwidGVtcGxhdGVTdG9yYWdlIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1TY3JvbGxBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbNTIsImgiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImkiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJpIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaCJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25TY3JvbGwiXV0sWzUyLCJsIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwibiIsWzIsWzE1LCJsIl0sIkEiLFs3LCJzY3JvbGwiXV1dLFs1MiwibyIsWyJrIixbOCwidmVydGljYWxUaHJlc2hvbGRVbml0cyIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbFRocmVzaG9sZHMiLDkwXV1dLFsyMixbMjgsWzE1LCJvIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImgiXSx0cnVlXV0sWyJqIiwiZ3RtLnNjcm9sbERlcHRoIixbNTEsIiIsWzcsInAiLCJxIl0sWyJxIl0sWzUyLCJyIixbOCwiZXZlbnRJZCIsWzE2LFsxNSwicCJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzUyLCJzIixbOCwicGVyY2VudF9zY3JvbGxlZCIsWzE2LFsxNSwicCJdLCJndG0uc2Nyb2xsVGhyZXNob2xkIl1dXSxbMixbMTUsImwiXSwiQiIsWzcsWzE1LCJyIl1dXSxbIm0iLFsxNSwibiJdLFsxNSwiZyJdLFsxNSwicyJdLFsxNSwiciJdXV0sWzE1LCJvIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsWzQ2LCJhIl0sWzUyLCJiIixbInJlcXVpcmUiLCJnZXRRdWVyeVBhcmFtZXRlcnMiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiZ2V0Q29udGFpbmVyVmVyc2lvbiJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIl1dLFs1MiwiZyIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImgiLFsxNSwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiXV0sWzUyLCJpIixbMixbMTUsImgiXSwiQSIsWzcsWzE3LFsxNSwiYSJdLCJzZWFyY2hRdWVyeVBhcmFtcyJdLFsxNSwiYiJdXV1dLFs1MiwiaiIsWzMwLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsiZCJdLCJjb250YWluZXJJZCJdXV0sWzUyLCJrIixbOCwiZGVmZXJyYWJsZSIsdHJ1ZSwiZXZlbnRJZCIsWzE3LFsxNSwiYSJdLCJndG1FdmVudElkIl0sImV2ZW50TWV0YWRhdGEiLFs4LCJlbV9ldmVudCIsdHJ1ZV1dXSxbMjIsWzE1LCJpIl0sWzQ2LFs1MyxbNTIsImwiLFszOSxbMjgsWzI4LFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIsWzE1LCJoIl0sIkIiLFs3LFsxNSwiaSJdLFsxNyxbMTUsImEiXSwiYWRkaXRpb25hbFF1ZXJ5UGFyYW1zIl0sWzE1LCJiIl1dXSxbOF1dXSxbNDMsWzE3LFsxNSwiayJdLCJldmVudE1ldGFkYXRhIl0sWzE3LFsxNSwiZyJdLCJaIl0sImEiXSxbImMiLFsxNSwiaiJdLCJ2aWV3X3NlYXJjaF9yZXN1bHRzIixbMTUsImwiXSxbMTUsImsiXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX3ZpZGVvIixbNDYsImEiXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2NjZEVtVmlkZW9BY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRiJdXSxbNTIsImciLCJ2aWRlb19zdGFydCJdLFs1MiwiaCIsInZpZGVvX3Byb2dyZXNzIl0sWzUyLCJpIiwidmlkZW9fY29tcGxldGUiXSxbNTIsImoiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImsiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJrIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaiJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJsIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Zb3VUdWJlQWN0aXZpdHkiXV0sWzUyLCJuIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJvIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwicCIsWzIsWzE1LCJuIl0sIkEiLFs3LCJ2aWRlbyJdXV0sWzUyLCJxIixbIm0iLFs4LCJjYXB0dXJlQ29tcGxldGUiLHRydWUsImNhcHR1cmVTdGFydCIsdHJ1ZSwicHJvZ3Jlc3NUaHJlc2hvbGRzUGVyY2VudCIsWzcsMTAsMjUsNTAsNzVdXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImoiXSx0cnVlXV0sWyJsIiwiZ3RtLnZpZGVvIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS52aWRlb1N0YXR1cyJdXSxbNDEsInUiXSxbMjIsWzIwLFsxNSwidCJdLCJzdGFydCJdLFs0NixbNTMsWzMsInUiLFsxNSwiZyJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJwcm9ncmVzcyJdLFs0NixbNTMsWzMsInUiLFsxNSwiaCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJjb21wbGV0ZSJdLFs0NixbNTMsWzMsInUiLFsxNSwiaSJdXV1dLFs0NixbNTMsWzM2XV1dXV1dXV0sWzUyLCJ2IixbOCwidmlkZW9fY3VycmVudF90aW1lIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0N1cnJlbnRUaW1lIl0sInZpZGVvX2R1cmF0aW9uIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0R1cmF0aW9uIl0sInZpZGVvX3BlcmNlbnQiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvUGVyY2VudCJdLCJ2aWRlb19wcm92aWRlciIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9Qcm92aWRlciJdLCJ2aWRlb190aXRsZSIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9UaXRsZSJdLCJ2aWRlb191cmwiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVXJsIl0sInZpc2libGUiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVmlzaWJsZSJdXV0sWzUyLCJ3IixbOCwiZXZlbnRJZCIsWzE2LFsxNSwiciJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzIsWzE1LCJuIl0sIkIiLFs3LFsxNSwidyJdXV0sWyJvIixbMTUsInAiXSxbMTUsInUiXSxbMTUsInYiXSxbMTUsInciXV1dLFsxNSwicSJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfZmlyc3QiLFs0NiwiYSJdLFs1MCwiZSIsWzQ2LCJmIl0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNSwiZiJdXV0sWzIsWzE1LCJkIl0sIkEiLFs3LFsxNSwiZiJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyJdXSxbImIiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzUxLCIiLFs3LCJmIl0sWyJlIixbMTUsImYiXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfbGFzdCIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2dhX3JlZ3Njb3BlIixbNDYsImEiXSxbNTIsImIiLFsxNSwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyJdXSxbNTIsImMiLFsyLFsxNSwiYiJdLCJCIixbNyxbMTUsImEiXV1dXSxbMixbMTUsImIiXSwiQSIsWzcsWzE1LCJhIl0sWzE1LCJjIl1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19lIixbNDYsImEiXSxbMzYsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFsicmVxdWlyZSIsImludGVybmFsLmdldEV2ZW50RGF0YSJdXSxbIiQwIiwiZXZlbnQiXV1dXQogLFs1MCwiX19nY3QiLFs0NiwiYSJdLFs1MCwiZyIsWzQ2LCJtIl0sWzUyLCJuIixbN11dLFs2NSwibyIsWzE1LCJtIl0sWzQ2LFs1MyxbNTIsInAiLFsiYiIsWzE1LCJvIl1dXSxbMjIsWzIxLFsxNSwicCJdLFs0NV1dLFs0NixbMixbMTUsIm4iXSwicHVzaCIsWzcsWzE1LCJwIl1dXV1dXV1dLFszNixbMTUsIm4iXV1dLFs1MCwiaCIsWzQ2LCJtIl0sWzUyLCJuIixbMTcsWzE1LCJtIl0sImxpbmtlciJdXSxbMjIsWzEsWzE1LCJuIl0sWzE2LFsxNSwibiJdLCJkb21haW5zIl1dLFs0NixbNTMsWzQzLFsxNSwibiJdLCJkb21haW5zIixbImciLFsxNixbMTUsIm4iXSwiZG9tYWlucyJdXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJpIixbNDYsIm0iXSxbNTIsIm4iLFsxNyxbMTUsIm0iXSwicmVmZXJyYWxFeGNsdXNpb25EZWZpbml0aW9uIl1dLFsyMixbMSxbMTUsIm4iXSxbMTYsWzE1LCJuIl0sImluY2x1ZGVfY29uZGl0aW9ucyJdXSxbNDYsWzUzLFs0MyxbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIixbImciLFsxNixbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIl1dXV1dXSxbMzYsWzE1LCJuIl1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNyZWF0ZVJlZ2V4Il1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIl1dLFs1MiwiZSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJEZXN0aW5hdGlvbiJdXSxbNTIsImYiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImoiLFszMCxbMixbMTUsImYiXSwiZ2V0SXRlbSIsWzcsInJlZ2V4Il1dLFsiYiIsIlsuKitcXC0/XiR7fSgpfFtcXF1cXFxcXSIsImciXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNywicmVnZXgiLFsxNSwiaiJdXV0sWzUyLCJrIixbOF1dLFs1MiwibCIsWzE3LFsxNSwiYSJdLCJzZXNzaW9uRHVyYXRpb24iXV0sWzIyLFsxOCxbMTUsImwiXSwwXSxbNDYsWzUzLFs0MyxbMTUsImsiXSwic2Vzc2lvbl9kdXJhdGlvbiIsWzE1LCJsIl1dXV1dLFs0MyxbMTUsImsiXSwiZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZXZlbnRTZXR0aW5ncyJdXSxbNDMsWzE1LCJrIl0sImR5bmFtaWNfZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZHluYW1pY0V2ZW50U2V0dGluZ3MiXV0sWzQzLFsxNSwiayJdLCJnb29nbGVfc2lnbmFscyIsWzIwLFsxNyxbMTUsImEiXSwiZ29vZ2xlU2lnbmFscyJdLDFdXSxbNDMsWzE1LCJrIl0sImdvb2dsZV90bGQiLFsxNyxbMTUsImEiXSwiZm9yZWlnblRsZCJdXSxbNDMsWzE1LCJrIl0sImdhX3Jlc3RyaWN0X2RvbWFpbiIsWzIwLFsxNyxbMTUsImEiXSwicmVzdHJpY3REb21haW4iXSwxXV0sWzQzLFsxNSwiayJdLCJpbnRlcm5hbF90cmFmZmljX3Jlc3VsdHMiLFsxNyxbMTUsImEiXSwiaW50ZXJuYWxUcmFmZmljUmVzdWx0cyJdXSxbNDMsWzE1LCJrIl0sImxpbmtlciIsWyJoIixbMTUsImEiXV1dLFs0MyxbMTUsImsiXSwicmVmZXJyYWxfZXhjbHVzaW9uX2RlZmluaXRpb24iLFsiaSIsWzE1LCJhIl1dXSxbImQiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdLFsxNSwiayJdXSxbImUiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19vZ3RfMXBfZGF0YV92MiIsWzQ2LCJhIl0sWzUwLCJwIixbNDYsInIiLCJzIiwidCIsInUiXSxbMjIsWzIwLFsxNixbMTUsInMiXSwidHlwZSJdLFsxNSwidCJdXSxbNDYsWzUzLFsyMixbMjgsWzE1LCJyIl1dLFs0NixbNTMsWzMsInIiLFs4XV1dXV0sWzIyLFsyOCxbMTYsWzE1LCJyIl0sWzE1LCJ0Il1dXSxbNDYsWzUzLFs0MyxbMTUsInIiXSxbMTUsInQiXSxbMTYsWzE1LCJzIl0sInVzZXJEYXRhIl1dLFs1MiwidiIsWzgsIm1vZGUiLCJhIl1dLFsyMixbMTYsWzE1LCJzIl0sInRhZ05hbWUiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwibG9jYXRpb24iLFsxNixbMTUsInMiXSwidGFnTmFtZSJdXV1dXSxbMjIsWzE2LFsxNSwicyJdLCJxdWVyeVNlbGVjdG9yIl0sWzQ2LFs1MyxbNDMsWzE1LCJ2Il0sInNlbGVjdG9yIixbMTYsWzE1LCJzIl0sInF1ZXJ5U2VsZWN0b3IiXV1dXV0sWzQzLFsxNSwidSJdLFsxNSwidCJdLFsxNSwidiJdXV1dXV1dXSxbMzYsWzE1LCJyIl1dXSxbNTAsInEiLFs0NiwiciIsInMiLCJ0Il0sWzIyLFsyOCxbMTYsWzE1LCJhIl0sWzE1LCJ0Il1dXSxbNDYsWzM2XV1dLFs0MyxbMTUsInIiXSxbMTUsInMiXSxbOCwidmFsdWUiLFsxNixbMTUsImEiXSxbMTUsInQiXV1dXV0sWzIyLFsyOCxbMTcsWzE1LCJhIl0sImlzRW5hYmxlZCJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImciLFsicmVxdWlyZSIsImludGVybmFsLmRldGVjdFVzZXJQcm92aWRlZERhdGEiXV0sWzUyLCJoIixbInJlcXVpcmUiLCJxdWVyeVBlcm1pc3Npb24iXV0sWzUyLCJpIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiayIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsIm0iLFsiYyIsWzE3LFsxNSwiZSJdLCJBVCJdXV0sWzUyLCJuIixbMzAsWyJmIl0sWzddXV0sWzUyLCJvIixbOCwiZW5hYmxlX2NvZGUiLHRydWVdXSxbMjIsWzE3LFsxNSwiYSJdLCJpc0F1dG9FbmFibGVkIl0sWzQ2LFs1MyxbNTIsInIiLFs3XV0sWzIyLFsxLFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzQ2LFs1MyxbNTMsWzQxLCJ1Il0sWzMsInUiLDBdLFs2MyxbNywidSJdLFsyMyxbMTUsInUiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzMzLFsxNSwidSJdLFszLCJ1IixbMCxbMTUsInUiXSwxXV1dLFs0NixbNTMsWzUyLCJ2IixbMTcsWzE2LFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTUsInUiXV0sImV4Y2x1c2lvblNlbGVjdG9yIl1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFsyLFsxNSwiciJdLCJwdXNoIixbNyxbMTUsInYiXV1dXV1dXV1dXV1dXSxbNTIsInMiLFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl1dLFs1MiwidCIsWzM5LFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl0sWzE3LFsxNSwiYSJdLCJhdXRvRW1haWxFbmFibGVkIl0sdHJ1ZV1dLFs0MyxbMTUsIm8iXSwiYXV0b19kZXRlY3QiLFs4LCJlbWFpbCIsWzE1LCJ0Il0sInBob25lIixbMSxbMTUsInMiXSxbMTcsWzE1LCJhIl0sImF1dG9QaG9uZUVuYWJsZWQiXV0sImFkZHJlc3MiLFsxLFsxNSwicyJdLFsxNyxbMTUsImEiXSwiYXV0b0FkZHJlc3NFbmFibGVkIl1dLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIixbMTUsInIiXV1dXV1dLFsyMixbMTcsWzE1LCJhIl0sImlzTWFudWFsRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJyIixbOF1dLFsyMixbMTcsWzE1LCJhIl0sIm1hbnVhbEVtYWlsRW5hYmxlZCJdLFs0NixbNTMsWyJxIixbMTUsInIiXSwiZW1haWwiLCJlbWFpbFZhbHVlIl1dXV0sWzIyLFsxNyxbMTUsImEiXSwibWFudWFsUGhvbmVFbmFibGVkIl0sWzQ2LFs1MyxbInEiLFsxNSwiciJdLCJwaG9uZSIsInBob25lVmFsdWUiXV1dXSxbMjIsWzE3LFsxNSwiYSJdLCJtYW51YWxBZGRyZXNzRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJzIixbOF1dLFsicSIsWzE1LCJzIl0sImZpcnN0X25hbWUiLCJmaXJzdE5hbWVWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImxhc3RfbmFtZSIsImxhc3ROYW1lVmFsdWUiXSxbInEiLFsxNSwicyJdLCJzdHJlZXQiLCJzdHJlZXRWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNpdHkiLCJjaXR5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJyZWdpb24iLCJyZWdpb25WYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNvdW50cnkiLCJjb3VudHJ5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJwb3N0YWxfY29kZSIsInBvc3RhbENvZGVWYWx1ZSJdLFs0MyxbMTUsInIiXSwibmFtZV9hbmRfYWRkcmVzcyIsWzcsWzE1LCJzIl1dXV1dXSxbNDMsWzE1LCJvIl0sInNlbGVjdG9ycyIsWzE1LCJyIl1dXV1dLFs2NSwiciIsWzE1LCJuIl0sWzQ2LFs1MyxbImkiLFsxNSwiciJdLCJ1c2VyX2RhdGFfc2V0dGluZ3MiLFsxNSwibyJdXSxbNTIsInMiLFsxNixbMTUsIm8iXSwiYXV0b19kZXRlY3QiXV0sWzIyLFsyOCxbMTUsInMiXV0sWzQ2LFs1MyxbNl1dXV0sWzUyLCJ0IixbNTEsIiIsWzcsInUiXSxbNTIsInYiLFsyLFsxNSwidSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWCJdXV1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFszNixbMTUsInYiXV1dXV0sWzUyLCJ3IixbImMiLFsxNyxbMTUsImUiXSwiQlYiXV1dLFs1MiwieCIsWyJjIixbMTcsWzE1LCJlIl0sIkNJIl1dXSxbNDEsInkiXSxbMjIsWyJoIiwiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iXSxbNDYsWzUzLFszLCJ5IixbImciLFs4LCJleGNsdWRlRWxlbWVudFNlbGVjdG9ycyIsWzE2LFsxNSwicyJdLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIl0sImZpZWxkRmlsdGVycyIsWzgsImVtYWlsIixbMTYsWzE1LCJzIl0sImVtYWlsIl0sInBob25lIixbMTYsWzE1LCJzIl0sInBob25lIl0sImFkZHJlc3MiLFsxNixbMTUsInMiXSwiYWRkcmVzcyJdXSwiaW5jbHVkZVNlbGVjdG9yIixbMTUsInciXSwicmVhZEZyb21EYXRhTGF5ZXIiLFsxNSwieCJdXV1dXV1dLFs1MiwieiIsWzEsWzE1LCJ5Il0sWzE2LFsxNSwieSJdLCJlbGVtZW50cyJdXV0sWzUyLCJhQSIsWzhdXSxbNTIsImFCIixbOF1dLFsyMixbMSxbMTUsInoiXSxbMTgsWzE3LFsxNSwieiJdLCJsZW5ndGgiXSwwXV0sWzQ2LFs1MyxbNDEsImFDIl0sWzQxLCJhRCJdLFszLCJhRCIsWzhdXSxbNTMsWzQxLCJhRSJdLFszLCJhRSIsMF0sWzYzLFs3LCJhRSJdLFsyMyxbMTUsImFFIl0sWzE3LFsxNSwieiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiYUUiXSxbMywiYUUiLFswLFsxNSwiYUUiXSwxXV1dLFs0NixbNTMsWzUyLCJhRiIsWzE2LFsxNSwieiJdLFsxNSwiYUUiXV1dLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwiZW1haWwiLFsxNSwiYUIiXV0sWzIyLFsiYyIsWzE3LFsxNSwiZSJdLCJCTyJdXSxbNDYsWzUzLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwicGhvbmVfbnVtYmVyIixbMTUsImFCIl1dLFszLCJhQyIsWyJwIixbMTUsImFDIl0sWzE1LCJhRiJdLCJmaXJzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwibGFzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwiY291bnRyeSIsWzE1LCJhRCJdXV0sWzMsImFDIixbInAiLFsxNSwiYUMiXSxbMTUsImFGIl0sInBvc3RhbF9jb2RlIixbMTUsImFEIl1dXV1dXV1dXV0sWzIyLFsxLFsxNSwiYUMiXSxbMjgsWzE2LFsxNSwiYUEiXSwiYWRkcmVzcyJdXV0sWzQ2LFs1MyxbNDMsWzE1LCJhQSJdLCJhZGRyZXNzIixbMTUsImFDIl1dLFsyMixbMTUsIm0iXSxbNDYsWzUzLFs0MyxbMTYsWzE1LCJhQSJdLCJhZGRyZXNzIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUQiXV1dXV1dXV1dXV0sWzIyLFsxLFsxNSwieSJdLFsxNSwieCJdXSxbNDYsWzUzLFs1MiwiYUMiLFsxNixbMTUsInkiXSwiZGF0YUxheWVyU2VhcmNoVGltZSJdXSxbNTIsImFEIixbMTYsWzE1LCJ5Il0sImRhdGFMYXllclNlYXJjaENvdW50Il1dLFsyLFsxNSwidSJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImwiXSwiRlQiXSxbOCwiZGxzdCIsWzE1LCJhQyJdLCJkbHNjIixbMTUsImFEIl1dXV1dXV0sWzIyLFsxNSwibSJdLFs0NixbNTMsWzIyLFszMCxbMTYsWzE1LCJhQSJdLCJlbWFpbCJdLFsxNixbMTUsImFBIl0sInBob25lX251bWJlciJdXSxbNDYsWzUzLFs0MyxbMTUsImFBIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUIiXV1dXV1dXV0sWzIsWzE1LCJ1Il0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJrIl0sIkNYIl0sWzE1LCJhQSJdXV0sWzM2LFsxNSwiYUEiXV1dXSxbImoiLFsxNSwiciJdLFs1MSwiIixbNywidSJdLFsyLFsxNSwidSJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWSJdLFsxNSwidCJdXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTIsIl9fbW9kdWxlX2Fkd29yZHNIaXRUeXBlIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiY29udmVyc2lvbiJdLFs1MiwiYyIsImZsb29kbGlnaHQiXSxbNTIsImQiLCJnYV9jb252ZXJzaW9uIl0sWzUyLCJlIiwicGFnZV92aWV3Il0sWzUyLCJmIiwicmVtYXJrZXRpbmciXSxbNTIsImciLCJ1c2VyX2RhdGFfbGVhZCJdLFs1MiwiaCIsInVzZXJfZGF0YV93ZWIiXSxbMzYsWzgsIkQiLFsxNSwiYiJdLCJFIixbMTUsImMiXSwiRiIsWzE1LCJkIl0sIkgiLFsxNSwiZSJdLCJJIixbMTUsImYiXSwiSiIsWzE1LCJnIl0sIksiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZ3RhZ1NjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFkX3BlcnNvbmFsaXphdGlvbiJdLFs1MiwiYyIsImFkX3N0b3JhZ2UiXSxbNTIsImQiLCJhZF91c2VyX2RhdGEiXSxbNTIsImUiLCJjb25zZW50X3VwZGF0ZWQiXSxbNTIsImYiLCJhcHBfcmVtb3ZlIl0sWzUyLCJnIiwiYXBwX3N0b3JlX3JlZnVuZCJdLFs1MiwiaCIsImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY2FuY2VsIl0sWzUyLCJpIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9jb252ZXJ0Il0sWzUyLCJqIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9yZW5ldyJdLFs1MiwiayIsImNvbnZlcnNpb24iXSxbNTIsImwiLCJwdXJjaGFzZSJdLFs1MiwibSIsImZpcnN0X29wZW4iXSxbNTIsIm4iLCJmaXJzdF92aXNpdCJdLFs1MiwibyIsImd0YWcuY29uZmlnIl0sWzUyLCJwIiwiaW5fYXBwX3B1cmNoYXNlIl0sWzUyLCJxIiwicGFnZV92aWV3Il0sWzUyLCJyIiwic2Vzc2lvbl9zdGFydCJdLFs1MiwicyIsInVzZXJfZW5nYWdlbWVudCJdLFs1MiwidCIsImFkc19kYXRhX3JlZGFjdGlvbiJdLFs1MiwidSIsImFsbG93X2FkX3BlcnNvbmFsaXphdGlvbl9zaWduYWxzIl0sWzUyLCJ2IiwiYWxsb3dfY3VzdG9tX3NjcmlwdHMiXSxbNTIsInciLCJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyJdLFs1MiwieCIsImFsbG93X2dvb2dsZV9zaWduYWxzIl0sWzUyLCJ5IiwiYXVpZCJdLFs1MiwieiIsImF3X3JlbWFya2V0aW5nX29ubHkiXSxbNTIsImFBIiwiZGlzY291bnQiXSxbNTIsImFCIiwiYXdfZmVlZF9jb3VudHJ5Il0sWzUyLCJhQyIsImF3X2ZlZWRfbGFuZ3VhZ2UiXSxbNTIsImFEIiwiaXRlbXMiXSxbNTIsImFFIiwiYXdfbWVyY2hhbnRfaWQiXSxbNTIsImFGIiwiYXdfYmFza2V0X3R5cGUiXSxbNTIsImFHIiwiY2xpZW50X2lkIl0sWzUyLCJhSCIsImNvbnZlcnNpb25fY29va2llX3ByZWZpeCJdLFs1MiwiYUkiLCJjb252ZXJzaW9uX2lkIl0sWzUyLCJhSiIsImNvbnZlcnNpb25fbGlua2VyIl0sWzUyLCJhSyIsImNvbnZlcnNpb25fYXBpIl0sWzUyLCJhTCIsImNvb2tpZV9kZXByZWNhdGlvbiJdLFs1MiwiYU0iLCJjb29raWVfZXhwaXJlcyJdLFs1MiwiYU4iLCJjb29raWVfcHJlZml4Il0sWzUyLCJhTyIsImNvb2tpZV91cGRhdGUiXSxbNTIsImFQIiwiY291bnRyeSJdLFs1MiwiYVEiLCJjdXJyZW5jeSJdLFs1MiwiYVIiLCJjdXN0b21lcl9saWZldGltZV92YWx1ZSJdLFs1MiwiYVMiLCJjdXN0b21lcl90eXBlIl0sWzUyLCJhVCIsImRlYnVnX21vZGUiXSxbNTIsImFVIiwic2hpcHBpbmciXSxbNTIsImFWIiwiZW5nYWdlbWVudF90aW1lX21zZWMiXSxbNTIsImFXIiwiZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGUiXSxbNTIsImFYIiwiZXZlbnRfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiYVkiLCJldmVudF9pZCJdLFs1MiwiYVoiLCJldmVudCJdLFs1MiwiYkEiLCJfJmFlIl0sWzUyLCJiQiIsImV2ZW50X3RpbWVvdXQiXSxbNTIsImJDIiwiZXh0X2NsaWVudF9pZCJdLFs1MiwiYkQiLCJmaXJzdF9wYXJ0eV9jb2xsZWN0aW9uIl0sWzUyLCJiRSIsIm1hdGNoX2lkIl0sWzUyLCJiRiIsImdkcHJfYXBwbGllcyJdLFs1MiwiYkciLCJfZ3RfbWV0YWRhdGEiXSxbNTIsImJIIiwiZ29vZ2xlX2FuYWx5c2lzX3BhcmFtcyJdLFs1MiwiYkkiLCJfZ29vZ2xlX25nIl0sWzUyLCJiSiIsIl9vbm8iXSxbNTIsImJLIiwiZ3BwX3NpZCJdLFs1MiwiYkwiLCJncHBfc3RyaW5nIl0sWzUyLCJiTSIsImdzYV9leHBlcmltZW50X2lkIl0sWzUyLCJiTiIsImd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSJdLFs1MiwiYk8iLCJpZnJhbWVfc3RhdGUiXSxbNTIsImJQIiwiaWdub3JlX3JlZmVycmVyIl0sWzUyLCJiUSIsImlzX3Bhc3N0aHJvdWdoIl0sWzUyLCJiUiIsImxhbmd1YWdlIl0sWzUyLCJiUyIsIm1lcmNoYW50X2ZlZWRfbGFiZWwiXSxbNTIsImJUIiwibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSJdLFs1MiwiYlUiLCJtZXJjaGFudF9pZCJdLFs1MiwiYlYiLCJuZXdfY3VzdG9tZXIiXSxbNTIsImJXIiwicGFnZV9ob3N0bmFtZSJdLFs1MiwiYlgiLCJwYWdlX3BhdGgiXSxbNTIsImJZIiwicGFnZV9yZWZlcnJlciJdLFs1MiwiYloiLCJwYWdlX3RpdGxlIl0sWzUyLCJjQSIsIl9wbGF0aW51bV9yZXF1ZXN0X3N0YXR1cyJdLFs1MiwiY0IiLCJxdWFudGl0eSJdLFs1MiwiY0MiLCJyZXN0cmljdGVkX2RhdGFfcHJvY2Vzc2luZyJdLFs1MiwiY0QiLCJzY3JlZW5fcmVzb2x1dGlvbiJdLFs1MiwiY0UiLCJzZW5kX3BhZ2VfdmlldyJdLFs1MiwiY0YiLCJzZXJ2ZXJfY29udGFpbmVyXzNwX2VucmljaG1lbnQiXSxbNTIsImNHIiwic2VydmVyX2NvbnRhaW5lcl91cmwiXSxbNTIsImNIIiwic2Vzc2lvbl9kdXJhdGlvbiJdLFs1MiwiY0kiLCJzZXNzaW9uX2VuZ2FnZWRfdGltZSJdLFs1MiwiY0oiLCJzZXNzaW9uX2lkIl0sWzUyLCJjSyIsIl9zaGFyZWRfdXNlcl9pZCJdLFs1MiwiY0wiLCJkZWxpdmVyeV9wb3N0YWxfY29kZSJdLFs1MiwiY00iLCJ0ZXN0b25seSJdLFs1MiwiY04iLCJ0b3Btb3N0X3VybCJdLFs1MiwiY08iLCJ0cmFuc2FjdGlvbl9pZCJdLFs1MiwiY1AiLCJ0cmFuc2FjdGlvbl9pZF9zb3VyY2UiXSxbNTIsImNRIiwidHJhbnNwb3J0X3VybCJdLFs1MiwiY1IiLCJ1cGRhdGUiXSxbNTIsImNTIiwiX3VzZXJfYWdlbnRfYXJjaGl0ZWN0dXJlIl0sWzUyLCJjVCIsIl91c2VyX2FnZW50X2JpdG5lc3MiXSxbNTIsImNVIiwiX3VzZXJfYWdlbnRfZnVsbF92ZXJzaW9uX2xpc3QiXSxbNTIsImNWIiwiX3VzZXJfYWdlbnRfbW9iaWxlIl0sWzUyLCJjVyIsIl91c2VyX2FnZW50X21vZGVsIl0sWzUyLCJjWCIsIl91c2VyX2FnZW50X3BsYXRmb3JtIl0sWzUyLCJjWSIsIl91c2VyX2FnZW50X3BsYXRmb3JtX3ZlcnNpb24iXSxbNTIsImNaIiwiX3VzZXJfYWdlbnRfd293NjQiXSxbNTIsImRBIiwidXNlcl9kYXRhIl0sWzUyLCJkQiIsInVzZXJfZGF0YV9hdXRvX2xhdGVuY3kiXSxbNTIsImRDIiwidXNlcl9kYXRhX2F1dG9fbWV0YSJdLFs1MiwiZEQiLCJ1c2VyX2RhdGFfYXV0b19tdWx0aSJdLFs1MiwiZEUiLCJ1c2VyX2RhdGFfYXV0b19zZWxlY3RvcnMiXSxbNTIsImRGIiwidXNlcl9kYXRhX2F1dG9fc3RhdHVzIl0sWzUyLCJkRyIsInVzZXJfZGF0YV9tb2RlIl0sWzUyLCJkSCIsInVzZXJfaWQiXSxbNTIsImRJIiwidXNlcl9wcm9wZXJ0aWVzIl0sWzUyLCJkSiIsInVzX3ByaXZhY3lfc3RyaW5nIl0sWzUyLCJkSyIsInZhbHVlIl0sWzUyLCJkTCIsIl9mcG1fcGFyYW1ldGVycyJdLFs1MiwiZE0iLCJfaG9zdF9uYW1lIl0sWzUyLCJkTiIsIl9pbl9wYWdlX2NvbW1hbmQiXSxbNTIsImRPIiwiX21lYXN1cmVtZW50X3R5cGUiXSxbNTIsImRQIiwibm9uX3BlcnNvbmFsaXplZF9hZHMiXSxbNTIsImRRIiwiY29udmVyc2lvbl9sYWJlbCJdLFs1MiwiZFIiLCJwYWdlX2xvY2F0aW9uIl0sWzUyLCJkUyIsIl9leHRyYWN0ZWRfZGF0YSJdLFs1MiwiZFQiLCJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiZFUiLCJ0Y19wcml2YWN5X3N0cmluZyJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJDIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkkiLFsxNSwiZiJdLCJKIixbMTUsImciXSwiSyIsWzE1LCJoIl0sIkwiLFsxNSwiaSJdLCJNIixbMTUsImoiXSwiTyIsWzE1LCJrIl0sIkFBIixbMTUsImwiXSwiQUYiLFsxNSwibSJdLCJBRyIsWzE1LCJuIl0sIkFIIixbMTUsIm8iXSwiQUoiLFsxNSwicCJdLCJBSyIsWzE1LCJxIl0sIkFNIixbMTUsInIiXSwiQVEiLFsxNSwicyJdLCJCQyIsWzE1LCJ0Il0sIkJKIixbMTUsInUiXSwiQksiLFsxNSwidiJdLCJCTSIsWzE1LCJ3Il0sIkJOIixbMTUsIngiXSwiQlQiLFsxNSwieSJdLCJCWCIsWzE1LCJ6Il0sIkJZIixbMTUsImFBIl0sIkJaIixbMTUsImFCIl0sIkNBIixbMTUsImFDIl0sIkNCIixbMTUsImFEIl0sIkNDIixbMTUsImFFIl0sIkNEIixbMTUsImFGIl0sIkNMIixbMTUsImFHIl0sIkNRIixbMTUsImFIIl0sIkNSIixbMTUsImFJIl0sIktHIixbMTUsImRRIl0sIkNTIixbMTUsImFKIl0sIkNVIixbMTUsImFLIl0sIkNXIixbMTUsImFMIl0sIkNZIixbMTUsImFNIl0sIkRDIixbMTUsImFOIl0sIkREIixbMTUsImFPIl0sIkRFIixbMTUsImFQIl0sIkRGIixbMTUsImFRIl0sIkRHIixbMTUsImFSIl0sIkRIIixbMTUsImFTIl0sIkROIixbMTUsImFUIl0sIkVBIixbMTUsImFVIl0sIkVDIixbMTUsImFWIl0sIkVHIixbMTUsImFXIl0sIkVKIixbMTUsImFYIl0sIkVLIixbMTUsImFZIl0sIkVOIixbMTUsImFaIl0sIkVPIixbMTUsImJBIl0sIkVRIixbMTUsImJCIl0sIktJIixbMTUsImRTIl0sIkVVIixbMTUsImJDIl0sIkVXIixbMTUsImJEIl0sIkZFIixbMTUsImJFIl0sIkZPIixbMTUsImJGIl0sIkZQIixbMTUsImJHIl0sIktKIixbMTUsImRUIl0sIkZUIixbMTUsImJIIl0sIkZVIixbMTUsImJJIl0sIkZWIixbMTUsImJKIl0sIkZZIixbMTUsImJLIl0sIkZaIixbMTUsImJMIl0sIkdCIixbMTUsImJNIl0sIkdDIixbMTUsImJOIl0sIkdFIixbMTUsImJPIl0sIkdGIixbMTUsImJQIl0sIkdLIixbMTUsImJRIl0sIkdNIixbMTUsImJSIl0sIkdUIixbMTUsImJTIl0sIkdVIixbMTUsImJUIl0sIkdWIixbMTUsImJVIl0sIkdaIixbMTUsImJWIl0sIkhDIixbMTUsImJXIl0sIktIIixbMTUsImRSIl0sIkhEIixbMTUsImJYIl0sIkhFIixbMTUsImJZIl0sIkhGIixbMTUsImJaIl0sIkhOIixbMTUsImNBIl0sIkhQIixbMTUsImNCIl0sIkhUIixbMTUsImNDIl0sIkhYIixbMTUsImNEIl0sIklBIixbMTUsImNFIl0sIklDIixbMTUsImNGIl0sIklEIixbMTUsImNHIl0sIklGIixbMTUsImNIIl0sIklIIixbMTUsImNJIl0sIklJIixbMTUsImNKIl0sIklLIixbMTUsImNLIl0sIklMIixbMTUsImNMIl0sIktLIixbMTUsImRVIl0sIklQIixbMTUsImNNIl0sIklSIixbMTUsImNOIl0sIklVIixbMTUsImNPIl0sIklWIixbMTUsImNQIl0sIklXIixbMTUsImNRIl0sIklZIixbMTUsImNSIl0sIkpCIixbMTUsImNTIl0sIkpDIixbMTUsImNUIl0sIkpEIixbMTUsImNVIl0sIkpFIixbMTUsImNWIl0sIkpGIixbMTUsImNXIl0sIkpHIixbMTUsImNYIl0sIkpIIixbMTUsImNZIl0sIkpJIixbMTUsImNaIl0sIkpKIixbMTUsImRBIl0sIkpLIixbMTUsImRCIl0sIkpMIixbMTUsImRDIl0sIkpNIixbMTUsImREIl0sIkpOIixbMTUsImRFIl0sIkpPIixbMTUsImRGIl0sIkpQIixbMTUsImRHIl0sIkpSIixbMTUsImRIIl0sIkpTIixbMTUsImRJIl0sIkpVIixbMTUsImRKIl0sIkpWIixbMTUsImRLIl0sIkpYIixbMTUsImRMIl0sIkpZIixbMTUsImRNIl0sIkpaIixbMTUsImROIl0sIktDIixbMTUsImRPIl0sIktEIixbMTUsImRQIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFib3J0X3dpdGhvdXRfZmFpbCJdLFs1MiwiYyIsImFjY2VwdF9ieV9kZWZhdWx0Il0sWzUyLCJkIiwiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIl0sWzUyLCJlIiwiY29uc2VudF9zdGF0ZSJdLFs1MiwiZiIsImNvbnNlbnRfdXBkYXRlZCJdLFs1MiwiZyIsImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiXSxbNTIsImgiLCJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIl0sWzUyLCJpIiwiY29va2llX29wdGlvbnMiXSxbNTIsImoiLCJkZWR1cGVfaWQiXSxbNTIsImsiLCJlbV9ldmVudCJdLFs1MiwibCIsImV2ZW50X3Byb3ZlbmFuY2UiXSxbNTIsIm0iLCJldmVudF9zb3VyY2UiXSxbNTIsIm4iLCJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiXSxbNTIsIm8iLCJldmVudF91c2FnZSJdLFs1MiwicCIsImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyJdLFs1MiwicSIsImZvcm1fZXZlbnRfY2FuY2VsZWQiXSxbNTIsInIiLCJnYTRfY29sbGVjdGlvbl9zdWJkb21haW4iXSxbNTIsInMiLCJndG1fZXh0cmFjdGVkX2RhdGEiXSxbNTIsInQiLCJoYW5kbGVfaW50ZXJuYWxseSJdLFs1MiwidSIsImhhc19nYV9jb252ZXJzaW9uX2NvbnNlbnRzIl0sWzUyLCJ2IiwiaGl0X3R5cGUiXSxbNTIsInciLCJoaXRfdHlwZV9vdmVycmlkZSJdLFs1MiwieCIsImlnbm9yZV9kdXBlX2NvbmZpZyJdLFs1MiwieSIsImlzX2NvbnZlcnNpb24iXSxbNTIsInoiLCJpc19leHRlcm5hbF9ldmVudCJdLFs1MiwiYUEiLCJpc19maXJzdF92aXNpdCJdLFs1MiwiYUIiLCJpc19maXJzdF92aXNpdF9jb252ZXJzaW9uIl0sWzUyLCJhQyIsImlzX2ZwbV9lbmNyeXB0aW9uIl0sWzUyLCJhRCIsImlzX2ZwbV9zcGxpdCJdLFs1MiwiYUUiLCJpc19nY3BfYnJvd3NlciJdLFs1MiwiYUYiLCJpc19nb29nbGVfbWVhc3VyZW1lbnRfYWxsb3dlZCJdLFs1MiwiYUciLCJpc19zZXJ2ZXJfc2lkZV9kZXN0aW5hdGlvbiJdLFs1MiwiYUgiLCJpc19zZXNzaW9uX3N0YXJ0Il0sWzUyLCJhSSIsImlzX3Nlc3Npb25fc3RhcnRfY29udmVyc2lvbiJdLFs1MiwiYUoiLCJpc19zZ3RtX2dhX2Fkc19jb252ZXJzaW9uX3N0dWR5X2NvbnRyb2xfZ3JvdXAiXSxbNTIsImFLIiwiaXNfc2d0bV9wcmVoaXQiXSxbNTIsImFMIiwiaXNfc3BsaXRfY29udmVyc2lvbiJdLFs1MiwiYU0iLCJpc19zeW4iXSxbNTIsImFOIiwiaXNfdGVzdF9ldmVudCJdLFs1MiwiYU8iLCJwcmVoaXRfZm9yX3JldHJ5Il0sWzUyLCJhUCIsInJlZGFjdF9hZHNfZGF0YSJdLFs1MiwiYVEiLCJyZWRhY3RfY2xpY2tfaWRzIl0sWzUyLCJhUiIsInNlbmRfY2NtX3BhcmFsbGVsX3BpbmciXSxbNTIsImFTIiwic2VuZF91c2VyX2RhdGFfaGl0Il0sWzUyLCJhVCIsInNwZWN1bGF0aXZlIl0sWzUyLCJhVSIsInN5bl9vcl9tb2QiXSxbNTIsImFWIiwidHJhbnNpZW50X2Vjc2lkIl0sWzUyLCJhVyIsInVzZXJfZGF0YSJdLFs1MiwiYVgiLCJ1c2VyX2RhdGFfZnJvbV9hdXRvbWF0aWMiXSxbNTIsImFZIiwidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciJdLFs1MiwiYVoiLCJ1c2VyX2RhdGFfZnJvbV9jb2RlIl0sWzUyLCJiQSIsInVzZXJfZGF0YV9mcm9tX21hbnVhbCJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJGIixbMTUsImQiXSwiTSIsWzE1LCJlIl0sIk4iLFsxNSwiZiJdLCJPIixbMTUsImciXSwiUCIsWzE1LCJoIl0sIlEiLFsxNSwiaSJdLCJTIixbMTUsImoiXSwiVCIsWzE1LCJrIl0sIloiLFsxNSwibCJdLCJBQSIsWzE1LCJtIl0sIkFCIixbMTUsIm4iXSwiQUMiLFsxNSwibyJdLCJBRCIsWzE1LCJwIl0sIkFKIixbMTUsInEiXSwiQUsiLFsxNSwiciJdLCJBTiIsWzE1LCJzIl0sIkFPIixbMTUsInQiXSwiQVAiLFsxNSwidSJdLCJBUSIsWzE1LCJ2Il0sIkFSIixbMTUsInciXSwiQVMiLFsxNSwieCJdLCJBViIsWzE1LCJ5Il0sIkFZIixbMTUsInoiXSwiQVoiLFsxNSwiYUEiXSwiQkEiLFsxNSwiYUIiXSwiQkMiLFsxNSwiYUMiXSwiQkQiLFsxNSwiYUQiXSwiQkUiLFsxNSwiYUUiXSwiQkYiLFsxNSwiYUYiXSwiQksiLFsxNSwiYUciXSwiQkwiLFsxNSwiYUgiXSwiQk0iLFsxNSwiYUkiXSwiQk4iLFsxNSwiYUoiXSwiQk8iLFsxNSwiYUsiXSwiQlEiLFsxNSwiYUwiXSwiQlIiLFsxNSwiYU0iXSwiQlMiLFsxNSwiYU4iXSwiQlkiLFsxNSwiYU8iXSwiQ0IiLFsxNSwiYVAiXSwiQ0MiLFsxNSwiYVEiXSwiQ0UiLFsxNSwiYVIiXSwiQ04iLFsxNSwiYVMiXSwiQ1EiLFsxNSwiYVQiXSwiQ1QiLFsxNSwiYVUiXSwiQ1UiLFsxNSwiYVYiXSwiQ1ciLFsxNSwiYVciXSwiQ1giLFsxNSwiYVgiXSwiQ1kiLFsxNSwiYVkiXSwiQ1oiLFsxNSwiYVoiXSwiREEiLFsxNSwiYkEiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsNDVdLFs1MiwiYyIsNDZdLFs1MiwiZCIsNDddLFs1MiwiZSIsMTc0XSxbNTIsImYiLDI3Nl0sWzM2LFs4LCJGIixbMTUsImIiXSwiRyIsWzE1LCJjIl0sIkgiLFsxNSwiZCJdLCJWIixbMTUsImUiXSwiQUQiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZWNUeXBlcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImZzcmMiXSxbNTIsImMiLCJmZWlkIl0sWzUyLCJkIiwiMCJdLFs1MiwiZSIsIjEiXSxbNTIsImYiLCIyIl0sWzUyLCJnIiwiMyJdLFs1MiwiaCIsIjQiXSxbMzYsWzgsIkIiLFsxNSwiYyJdLCJGIixbMTUsImciXSwiRCIsWzE1LCJlIl0sIkUiLFsxNSwiZiJdLCJDIixbMTUsImQiXSwiRyIsWzE1LCJoIl0sIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZmVhdHVyZXMiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDQyNV0sWzUyLCJjIiw0MzVdLFs1MiwiZCIsNDg4XSxbNTIsImUiLDQ4OV0sWzUyLCJmIiw0OThdLFs1MiwiZyIsNTAzXSxbNTIsImgiLDUwNF0sWzUyLCJpIiw1MDZdLFs1MiwiaiIsNTIzXSxbNTIsImsiLDUzMl0sWzUyLCJsIiw1NTNdLFs1MiwibSIsNTY4XSxbNTIsIm4iLDU3N10sWzUyLCJvIiw1ODFdLFs1MiwicCIsNTgzXSxbNTIsInEiLDU5Ml0sWzUyLCJyIiw1OTRdLFs1MiwicyIsNTk5XSxbMzYsWzgsIkFWIixbMTUsImsiXSwiQUQiLFsxNSwiZCJdLCJDSSIsWzE1LCJxIl0sIkJWIixbMTUsIm4iXSwiQk8iLFsxNSwibSJdLCJDSyIsWzE1LCJyIl0sIkNQIixbMTUsInMiXSwiQU0iLFsxNSwiZyJdLCJCWiIsWzE1LCJvIl0sIkFUIixbMTUsImoiXSwiQUUiLFsxNSwiZSJdLCJBTiIsWzE1LCJoIl0sIkwiLFsxNSwiYyJdLCJCQyIsWzE1LCJsIl0sIkFPIixbMTUsImkiXSwiQ0IiLFsxNSwicCJdLCJBSSIsWzE1LCJmIl0sIkkiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLCJjb29raWVfZGVwcmVjYXRpb25fbGFiZWwiXSxbNTIsImMiLCJwbGQiXSxbNTIsImQiLCJzaGFyZWRfdXNlcl9pZCJdLFs1MiwiZSIsInNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCJdLFs1MiwiZiIsInNoYXJlZF91c2VyX2lkX3NvdXJjZSJdLFszNixbOCwiQiIsWzE1LCJiIl0sIk4iLFsxNSwiYyJdLCJTIixbMTUsImQiXSwiVCIsWzE1LCJlIl0sIlUiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1TY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDFdLFs1MiwiYyIsMl0sWzUyLCJkIiwzXSxbNTIsImUiLDRdLFs1MiwiZiIsNV0sWzUyLCJnIiw2XSxbMzYsWzgsIkEiLFsxNSwiYiJdLCJGIixbMTUsImciXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9nb2xkRXZlbnRVc2FnZUlkIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwxXSxbNTIsImMiLDJdLFs1MiwiZCIsNV0sWzUyLCJlIiw2XSxbNTIsImYiLDddLFs1MiwiZyIsOF0sWzUyLCJoIiw5XSxbNTIsImkiLDExXSxbNTIsImoiLDE1XSxbNTIsImsiLDE2XSxbNTIsImwiLDIwXSxbNTIsIm0iLDIxXSxbNTIsIm4iLDIzXSxbNTIsIm8iLDI0XSxbNTIsInAiLDI3XSxbNTIsInEiLDQwXSxbNTIsInIiLDQxXSxbMzYsWzgsIk8iLFsxNSwiaiJdLCJXIixbMTUsIm4iXSwiUCIsWzE1LCJrIl0sIlgiLFsxNSwibyJdLCJLIixbMTUsImkiXSwiQSIsWzE1LCJiIl0sIlQiLFsxNSwibCJdLCJFIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkIiLFsxNSwiYyJdLCJIIixbMTUsImciXSwiQU4iLFsxNSwicSJdLCJJIixbMTUsImgiXSwiRyIsWzE1LCJmIl0sIlUiLFsxNSwibSJdLCJBTyIsWzE1LCJyIl0sIkFBIixbMTUsInAiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiYWVfYmxvY2tfZG93bmxvYWRzIl0sWzUyLCJjIiwiYWVfYmxvY2tfZm9ybSJdLFs1MiwiZCIsImFlX2Jsb2NrX2hpc3RvcnkiXSxbNTIsImUiLCJhZV9ibG9ja19vdXRib3VuZF9jbGljayJdLFs1MiwiZiIsImFlX2Jsb2NrX3Njcm9sbCJdLFs1MiwiZyIsImFlX2Jsb2NrX3ZpZGVvIl0sWzM2LFs4LCJBIixbMTUsImIiXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl0sIkYiLFsxNSwiZyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImIiLFs0NiwiZCIsImUiXSxbNTIsImYiLFsyLFszMCxbMTUsImQiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiZyJdLFszLCJnIiwwXSxbNjMsWzcsImciXSxbMjMsWzE1LCJnIl0sWzE3LFsxNSwiZiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiZyJdLFszLCJnIixbMCxbMTUsImciXSwxXV1dLFs0NixbNTMsWzUyLCJoIixbImUiLFsyLFsxNixbMTUsImYiXSxbMTUsImciXV0sInRyaW0iLFs3XV1dXSxbMjIsWzIxLFsxNSwiaCJdLFs0NF1dLFs0NixbNTMsWzM2LFsxNSwiaCJdXV1dXV1dXV1dLFs1MCwiYyIsWzQ2LCJkIiwiZSIsImYiXSxbNTIsImciLFs4LCJzZWFyY2hfdGVybSIsWzE1LCJkIl1dXSxbNTIsImgiLFsyLFszMCxbMTUsImUiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiaSJdLFszLCJpIiwwXSxbNjMsWzcsImkiXSxbMjMsWzE1LCJpIl0sWzE3LFsxNSwiaCJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiaSJdLFszLCJpIixbMCxbMTUsImkiXSwxXV1dLFs0NixbNTMsWzUyLCJqIixbMixbMTYsWzE1LCJoIl0sWzE1LCJpIl1dLCJ0cmltIixbN11dXSxbNTIsImsiLFsiZiIsWzE1LCJqIl1dXSxbMjIsWzIxLFsxNSwiayJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiZyJdLFswLCJxXyIsWzE1LCJqIl1dLFsxNSwiayJdXV1dXV1dXV0sWzM2LFsxNSwiZyJdXV0sWzM2LFs4LCJCIixbMTUsImMiXSwiQSIsWzE1LCJiIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9hY3Rpdml0aWVzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJiIixbNDYsImMiLCJkIl0sWzM2LFszOSxbMTUsImQiXSxbImQiLFsxNSwiYyJdXSxbMTUsImMiXV1dXSxbMzYsWzgsIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1EZXRlY3Rpb24iLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm8iLFs0Nl0sWzY4LCJ3IixbNTMsWzIyLFsxLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiQUkiXV1dLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiSSJdXV1dLFs0NixbNTMsWzM2LFs3XV1dXV0sWzUyLCJ3IixbImIiLFsxNyxbMTUsImciXSwiTiJdXV0sWzIyLFsibiIsWzE1LCJ3Il1dLFs0NixbNTMsWzM2LFsxNSwidyJdXV1dXSxbNTIsIngiLFs3XV0sWzIyLFsicCJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJBIl1dXV1dLFsyMixbInEiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiQiJdXV1dXSxbMjIsWyJyIl0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkYiXV1dXV0sWzIyLFsidSJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJEIl1dXV1dLFsyMixbInMiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiRSJdXV1dXSxbMjIsWyJ0Il0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkMiXV1dXV0sWzIyLFsibCJdLFs0NixbNTMsWyJmIixbMTcsWzE1LCJnIl0sIk4iXSxbMTUsIngiXSx0cnVlXV1dXSxbMzYsWzE1LCJ4Il1dXSxbNDZdXSxbMzYsWzddXV0sWzUwLCJwIixbNDZdLFs2OCwidyIsWzUzLFszNixbMjgsWzI4LFsiYyIsInNjcmlwdFtkYXRhLXJlcXVpcmVtb2R1bGVePVwibWFnZS9cIl0iXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJxIixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWyJtIiwiWVhOelpYUnpMbk54ZFdGeVpYTndZV05sTG1OdmJTOD0iXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjXj1cIi8vIixbMTUsInciXV0sIlwiXSJdXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJyIixbNDZdLFsyMixbMjgsWyJlIixbMTcsWzE1LCJoIl0sIkkiXV1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNjgsInciLFs1MyxbNTIsInciLFsibSIsImMyaHZjR2xtZVM1amIyMD0iXV0sWzUyLCJ4IixbIm0iLCJjMmh2Y0dsbWVXTmtiaTVqYjIwPSJdXSxbMjIsWzMwLFsyOCxbMTUsInciXV0sWzI4LFsxNSwieCJdXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLCJzY3JpcHRbc3JjKj1cImNkbi4iLFsxNSwidyJdXSwiXCJdLCJdLCJtZXRhW3Byb3BlcnR5PVwib2c6aW1hZ2VcIl1bY29udGVudCo9XCJjZG4uIl0sWzE1LCJ3Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cImNkbi4iXSxbMTUsInciXV0sIlwiXSwiXSwibGlua1tyZWw9XCJwcmVjb25uZWN0XCJdW2hyZWYqPVwiZm9udHMuIl0sWzE1LCJ4Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cIml0ZXJhYmxlLXNob3BpZnlcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cInYuIl0sWzE1LCJ3Il1dLCJcIl0iXV1dXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwicyIsWzQ2XSxbNjgsInciLFs1MyxbNTIsInciLFsiZCIsInByb3RvY29sIl1dLFs1MiwieCIsWyJkIiwiaG9zdCJdXSxbNTIsInkiLFszOSxbMSxbMTUsInciXSxbMTUsIngiXV0sWzAsWzAsWzAsWzAsIltzcmNePVwiIixbMTUsInciXV0sIjovLyJdLFsxNSwieCJdXSwiL3dwLWNvbnRlbnRcIl0sIl0sIiJdXSxbNTIsInoiLFsibSIsIkxuZHZjbVJ3Y21WemN5NWpiMjA9Il1dLFs1MiwiYUEiLFsibSIsIkx5OXpMbmN1YjNKbiJdXSxbMjIsWzMwLFsyOCxbMTUsInoiXV0sWzI4LFsxNSwiYUEiXV1dLFs0NixbMzYsZmFsc2VdXV0sWzM2LFszMCxbInYiLFsxNSwieCJdLFsxNSwieiJdXSxbMjgsWzI4LFsiYyIsWzAsWzAsWzAsWzAsWzE1LCJ5Il0sIm1ldGFbbmFtZT1cImdlbmVyYXRvclwiXVtjb250ZW50Xj1cIldvcmRQcmVzcyBcIl0sIl0sImxpbmtbcmVsPVwiZG5zLXByZWZldGNoXCJdW2hyZWY9XCIiXSxbMTUsImFBIl1dLCJcIl0iXV1dXV1dXSxbNDZdXSxbMzYsZmFsc2VdXSxbNTAsInQiLFs0Nl0sWzY4LCJ3IixbNTMsWzUyLCJ3IixbMjgsWzI4LFsiYyIsWzAsIltjbGFzcyo9XCJ3b29jb21tZXJjZVwiXSwiLCJtZXRhW25hbWU9XCJnZW5lcmF0b3JcIl1bY29udGVudF49XCJXb29Db21tZXJjZSBcIl0iXV1dXV0sWzIyLFsxNSwidyJdLFs0NixbNTNdXV0sWzM2LFsxNSwidyJdXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJ1IixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjKj1cIndvb2NvbW1lcmNlXCJdLCIsImxpbmtbaHJlZio9XCJ3b29jb21tZXJjZVwiXSwiXSwiW2NsYXNzfD1cIndvb2NvbW1lcmNlXCJdIl1dXV1dLFsyMixbMTUsInciXSxbNDYsWzUzXV1dLFszNixbMTUsInciXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwidiIsWzQ2LCJ3IiwieCJdLFszNixbMSxbMTksWzE3LFsxNSwidyJdLCJsZW5ndGgiXSxbMTcsWzE1LCJ4Il0sImxlbmd0aCJdXSxbMjAsWzIsWzE1LCJ3Il0sInN1YnN0cmluZyIsWzcsWzM3LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sWzE3LFsxNSwieCJdLCJsZW5ndGgiXV0sWzE3LFsxNSwidyJdLCJsZW5ndGgiXV1dLFsxNSwieCJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciJdXSxbNTIsImQiLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRJbkNyb3NzQ29udGFpbmVyRGF0YSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9mZWF0dXJlRmxhZ3MiXV0sWzUyLCJqIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtU2NoZW1hIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImwiLFsicmVxdWlyZSIsImludGVybmFsLmlzRG9tUmVhZHkiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJmcm9tQmFzZTY0Il1dLFs1MiwibiIsWzUxLCIiLFs3LCJ3Il0sWzM2LFsyMCxbImsiLFsxNSwidyJdXSwiYXJyYXkiXV1dXSxbMzYsWzgsIkEiLFsxNSwibyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Eb3dubG9hZEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfdXJsIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJsaW5rX3RleHQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImZpbGVfbmFtZSIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywiZmlsZV9leHRlbnNpb24iLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiQSJdXSxbNTIsImciLCJmaWxlX2Rvd25sb2FkIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImUiLFs0NiwiZyJdLFs1MiwiaCIsWyJiIl1dLFs1MiwiaSIsWzddXSxbNTMsWzQxLCJqIl0sWzMsImoiLDBdLFs2MyxbNywiaiJdLFsyMyxbMTUsImoiXSxbMTcsWzE1LCJoIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJqIl0sWzMsImoiLFswLFsxNSwiaiJdLDFdXV0sWzQ2LFs1MyxbNTIsImsiLFsxNixbMTUsImgiXSxbMTUsImoiXV1dLFsyMixbImQiLFsxNSwiZyJdLFsxNSwiayJdXSxbNDYsWzUzLFsyLFsxNSwiaSJdLCJwdXNoIixbNyxbMTUsImsiXV1dXV1dXV1dXSxbMzYsWzE1LCJpIl1dXSxbNTAsImYiLFs0NiwiZyIsImgiXSxbNTIsImkiLFszMCxbMTUsImgiXSxbOF1dXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJUIl0sdHJ1ZV0sWzQzLFsxNSwiaSJdLFsxNyxbMTUsImMiXSwiQ1EiXSx0cnVlXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJaIl0sImEiXSxbNDMsWzE1LCJnIl0sImV2ZW50TWV0YWRhdGEiLFsxNSwiaSJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5jbGFpbURlc3RpbmF0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJlIl0sIkIiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Gb3JtQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm4iLFs0NiwibyIsInAiLCJxIl0sWzUyLCJyIixbMjAsWzIsWzE1LCJvIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dLFsyMixbMjAsWzE1LCJwIl0sWzQ0XV0sWzQ2LFs1MyxbMywicCIsWzE1LCJyIl1dXV1dLFsiYyIsWzE1LCJvIl0sWzUxLCIiLFs3LCJzIl0sWzUyLCJ0IixbMixbMTUsInMiXSwiZ2V0RXZlbnROYW1lIixbN11dXSxbNTIsInUiLFszMCxbMjAsWzE1LCJ0Il0sWzE1LCJsIl1dLFsyMCxbMTUsInQiXSxbMTUsImsiXV1dXSxbMjIsWzMwLFsyOCxbMTUsInUiXV0sWzI4LFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsIm8iXSxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzEsWzI4LFsxNSwicCJdXSxbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQUoiXV1dXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFs1MiwidiIsWzIsWzE1LCJzIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIkFBIl1dXV0sWzIyLFsxLFsyOCxbMTUsInIiXV0sWzIwLFsxNSwidiJdLFsxNSwibSJdXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzI4LFsiaCIsWzE3LFsxNSwiaSJdLCJCWiJdXV0sWzQ2LFs1MyxbMjIsWzIwLFsxNSwidiJdLFsxNSwibSJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV0sWzQ2LFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJrIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlMiXSxbNDRdXV1dXV1dXV1dXSxbMixbMTUsInMiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMSxbMTUsInYiXSxbMTUsInIiXV0sWzQ2LFs1MyxbNDEsInciXSxbMywidyIsWzE3LFsxNSwiZyJdLCJDIl1dLFs0MSwieCJdLFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJsIl1dLFs0NixbNTMsWzMsInciLFsxNyxbMTUsImciXSwiRCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidiJdLFsxNSwiayJdXSxbNDYsWzUzLFszLCJ3IixbMTcsWzE1LCJnIl0sIkUiXV0sWzMsIngiLFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJTIl1dXV1dXSxbNDYsWzIyLFsyMCxbMTUsInYiXSxbMTUsIm0iXV0sWzQ2LFs1MyxbMywidyIsWzE3LFsxNSwiZyJdLCJGIl1dLFszLCJ4IixbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiUyJdXV1dXV1dXV1dXSxbNTIsInkiLFs4XV0sWzQzLFsxNSwieSJdLFsxNyxbMTUsImciXSwiQSJdLFsxNSwidyJdXSxbMjIsWzE1LCJ4Il0sWzQ2LFs1MyxbNDMsWzE1LCJ5Il0sWzE3LFsxNSwiZyJdLCJCIl0sWzE1LCJ4Il1dXV1dLFsyLFsxNSwicyJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImYiXSwiRlQiXSxbMTUsInkiXV1dXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX2lkIixbNDRdXV0sWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fZGVzdGluYXRpb24iLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fbGVuZ3RoIixbNDRdXV0sWzIyLFsyMCxbMTUsInQiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fc3VibWl0X3RleHQiLFs0NF1dXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLFsxNSwibCJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJzZXRIaXREYXRhIixbNywiZmlyc3RfZmllbGRfaWQiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3R5cGUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3Bvc2l0aW9uIixbNDRdXV1dXV1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfZWNUeXBlcyJdXSxbNTIsImgiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJpIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaiIsWzE3LFsxNSwiZSJdLCJCIl1dLFs1MiwiayIsImZvcm1fc3VibWl0Il0sWzUyLCJsIiwiZm9ybV9zdGFydCJdLFs1MiwibSIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsIm4iXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtT3V0Ym91bmRDbGlja0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfY2xhc3NlcyIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywibGlua191cmwiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfZG9tYWluIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJvdXRib3VuZCIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJEIl1dLFs1MiwiZyIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtUGFnZVZpZXdBY3Rpdml0eSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJrIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsImwiXSxbMjIsWzMwLFsyMSxbMixbMTUsImwiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiaSJdXSxbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiaCJdXSxbNDYsWzUzLFsyLFsxNSwibCJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyMixbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIkJPIl1dXV0sWzQ2LFs1MyxbImQiLFsxNSwiayJdLFsxNyxbMTUsImYiXSwiSEUiXSxbMixbMTUsImwiXSwiZ2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZiJdLCJIRSJdXV1dXV1dLFsyLFsxNSwibCJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJDUSJdLGZhbHNlXV1dXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2V0UmVtb3RlQ29uZmlnUGFyYW1ldGVyIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkMiXV0sWzUyLCJpIixbMTcsWzE1LCJmIl0sIkFLIl1dLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9jY2RFbVNjcm9sbEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsInBlcmNlbnRfc2Nyb2xsZWQiLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbMzYsWzgsIkEiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1WaWRlb0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJqIixbNDYsImsiLCJsIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsIm0iXSxbNTIsIm4iLFsyLFsxNSwibSJdLCJnZXRFdmVudE5hbWUiLFs3XV1dLFs1MiwibyIsWzMwLFszMCxbMjAsWzE1LCJuIl0sWzE1LCJnIl1dLFsyMCxbMTUsIm4iXSxbMTUsImgiXV1dLFsyMCxbMTUsIm4iXSxbMTUsImkiXV1dXSxbMjIsWzMwLFsyOCxbMTUsIm8iXV0sWzI4LFsyLFsxNSwibSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsImsiXSxbMTUsImYiXV0sWzQ2LFs1MyxbMixbMTUsIm0iXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMixbMTUsIm0iXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMjgsWzE1LCJsIl1dLFs0NixbNTMsWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19jdXJyZW50X3RpbWUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX2R1cmF0aW9uIixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wZXJjZW50IixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wcm92aWRlciIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlkZW9fdGl0bGUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX3VybCIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlzaWJsZSIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJGIl1dLFs1MiwiZyIsInZpZGVvX3N0YXJ0Il0sWzUyLCJoIiwidmlkZW9fcHJvZ3Jlc3MiXSxbNTIsImkiLCJ2aWRlb19jb21wbGV0ZSJdLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiZiIsWzQ2LCJnIl0sWzIyLFsyLFsxNSwiZyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJCUyJdXV0sWzQ2LFs1MyxbMixbMTUsImciXSwic2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJJUCJdLCIxIl1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9ndGFnU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbMzYsWzgsIkEiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJtIiwibiIsIm8iXSxbNTAsInQiLFs0NiwidiJdLFs1MiwidyIsWzE2LFsxNSwiaSJdLFsxNSwidiJdXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNl1dXSxbNTMsWzQxLCJ4Il0sWzMsIngiLDBdLFs2MyxbNywieCJdLFsyMyxbMTUsIngiXSxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdXSxbMzMsWzE1LCJ4Il0sWzMsIngiLFswLFsxNSwieCJdLDFdXV0sWzQ2LFs1MyxbNTIsInkiLFsxNixbMTUsInciXSxbMTUsIngiXV1dLFsicSIsWzE1LCJwIl0sWzE3LFsxNSwieSJdLCJuYW1lIl0sWzE3LFsxNSwieSJdLCJ2YWx1ZSJdXV1dXV1dLFs1MCwidSIsWzQ2LCJ2Il0sWzIyLFszMCxbMjgsWzE1LCJyIl1dLFsyMSxbMTcsWzE1LCJyIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFszNixmYWxzZV1dXV0sWzQxLCJ3Il0sWzMsInciLFsxNixbMTUsInYiXSxbMTUsInMiXV1dLFsyMixbMjAsWzE1LCJ3Il0sWzQ0XV0sWzQ2LFs1MyxbMywidyIsWzE2LFsxNSwidiJdLFsxNSwiciJdXV1dXV0sWzM2LFsyOCxbMjgsWzE1LCJ3Il1dXV1dLFsyMixbMjgsWzE1LCJuIl1dLFs0NixbMzZdXV0sWzUyLCJwIixbMzAsWzE3LFsxNSwibSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXSxbMTcsWyJjIl0sImNvbnRhaW5lcklkIl1dXSxbNTIsInEiLFsiaCIsWzE1LCJmIl0sWzE1LCJvIl1dXSxbNTIsInIiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbImgiLFsxNSwiZCJdLFsxNSwibyJdXV0sWyIkMCJdXV0sWzUyLCJzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWyJoIixbMTUsImUiXSxbMTUsIm8iXV1dLFsiJDAiXV1dLFs1MyxbNDEsInYiXSxbMywidiIsMF0sWzYzLFs3LCJ2Il0sWzIzLFsxNSwidiJdLFsxNyxbMTUsIm4iXSwibGVuZ3RoIl1dLFszMyxbMTUsInYiXSxbMywidiIsWzAsWzE1LCJ2Il0sMV1dXSxbNDYsWzUzLFs1MiwidyIsWzE2LFsxNSwibiJdLFsxNSwidiJdXV0sWzIyLFszMCxbMTcsWzE1LCJ3Il0sImRpc2FsbG93QWxsUmVnaW9ucyJdLFsidSIsWzE3LFsxNSwidyJdLCJkaXNhbGxvd2VkUmVnaW9ucyJdXV0sWzQ2LFs1MyxbInQiLFsxNyxbMTUsInciXSwicmVkYWN0RmllbGRHcm91cCJdXV1dXV1dXV1dLFs1MCwiayIsWzQ2LCJtIl0sWzUyLCJuIixbOF1dLFsyMixbMjgsWzE1LCJtIl1dLFs0NixbMzYsWzE1LCJuIl1dXV0sWzUyLCJvIixbMixbMTUsIm0iXSwic3BsaXQiLFs3LCIsIl1dXSxbNTMsWzQxLCJwIl0sWzMsInAiLDBdLFs2MyxbNywicCJdLFsyMyxbMTUsInAiXSxbMTcsWzE1LCJvIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJwIl0sWzMsInAiLFswLFsxNSwicCJdLDFdXV0sWzQ2LFs1MyxbNTIsInEiLFsyLFsxNixbMTUsIm8iXSxbMTUsInAiXV0sInRyaW0iLFs3XV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNl1dXSxbNTIsInIiLFsyLFsxNSwicSJdLCJzcGxpdCIsWzcsIi0iXV1dLFs1MiwicyIsWzE2LFsxNSwiciJdLDBdXSxbNTIsInQiLFszOSxbMjAsWzE3LFsxNSwiciJdLCJsZW5ndGgiXSwyXSxbMTUsInEiXSxbNDRdXV0sWzIyLFszMCxbMjgsWzE1LCJzIl1dLFsyMSxbMTcsWzE1LCJzIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFs2XV1dXSxbMjIsWzEsWzIxLFsxNSwidCJdLFs0NF1dLFszMCxbMjMsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw0XSxbMTgsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw2XV1dLFs0NixbNTMsWzZdXV1dLFs0MyxbMTUsIm4iXSxbMTUsInEiXSx0cnVlXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJsIixbNDYsIm0iXSxbMjIsWzI4LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdXSxbNDYsWzM2LFs3XV1dXSxbNTIsIm4iLFs4XV0sWzUzLFs0MSwibyJdLFszLCJvIiwwXSxbNjMsWzcsIm8iXSxbMjMsWzE1LCJvIl0sWzE3LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdLCJsZW5ndGgiXV0sWzMzLFsxNSwibyJdLFszLCJvIixbMCxbMTUsIm8iXSwxXV1dLFs0NixbNTMsWzUyLCJwIixbMTYsWzE3LFsxNSwibSJdLCJzZXR0aW5nc1RhYmxlIl0sWzE1LCJvIl1dXSxbNTIsInEiLFsxNyxbMTUsInAiXSwicmVkYWN0RmllbGRHcm91cCJdXSxbMjIsWzI4LFsxNixbMTUsImkiXSxbMTUsInEiXV1dLFs0NixbNl1dXSxbNDMsWzE1LCJuIl0sWzE1LCJxIl0sWzgsInJlZGFjdEZpZWxkR3JvdXAiLFsxNSwicSJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiLGZhbHNlLCJkaXNhbGxvd2VkUmVnaW9ucyIsWzhdXV0sWzUyLCJyIixbMTYsWzE1LCJuIl0sWzE1LCJxIl1dXSxbMjIsWzE3LFsxNSwicCJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiXSxbNDYsWzUzLFs0MyxbMTUsInIiXSwiZGlzYWxsb3dBbGxSZWdpb25zIix0cnVlXSxbNl1dXV0sWzQzLFsxNSwiciJdLCJkaXNhbGxvd2VkUmVnaW9ucyIsWyJrIixbMTcsWzE1LCJwIl0sImRpc2FsbG93ZWRSZWdpb25zIl1dXV1dXV0sWzM2LFsyLFsxNSwiYiJdLCJ2YWx1ZXMiLFs3LFsxNSwibiJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImdldENvbnRhaW5lclZlcnNpb24iXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRDb3VudHJ5Q29kZSJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlZ2lvbkNvZGUiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2FjdGl2aXRpZXMiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkEiXV0sWzUyLCJpIixbOCwiR09PR0xFX1NJR05BTFMiLFs3LFs4LCJuYW1lIiwiYWxsb3dfZ29vZ2xlX3NpZ25hbHMiLCJ2YWx1ZSIsZmFsc2VdXSwiREVWSUNFX0FORF9HRU8iLFs3LFs4LCJuYW1lIiwiZ2VvX2dyYW51bGFyaXR5IiwidmFsdWUiLHRydWVdLFs4LCJuYW1lIiwicmVkYWN0X2RldmljZV9pbmZvIiwidmFsdWUiLHRydWVdXV1dLFszNixbOCwiQSIsWzE1LCJqIl0sIkIiLFsxNSwibCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJkIixbNDYsImUiXSxbNTIsImYiLFsyLFsxNSwiYyJdLCJBIixbN11dXSxbMjIsWzEsWzE1LCJmIl0sWzE4LFsxNyxbMTUsImYiXSwibGVuZ3RoIl0sMF1dLFs0NixbNTMsWzIsWzE1LCJlIl0sIm1lcmdlSGl0RGF0YUZvcktleSIsWzcsWzE3LFsxNSwiYiJdLCJGVCJdLFs4LCJwbGYiLFsyLFsxNSwiZiJdLCJqb2luIixbNywiLiJdXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2d0YWdTY2hlbWEiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtRGV0ZWN0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJkIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAKXQosImVudGl0aWVzIjp7CiJfX2MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfYXV0b19yZWRhY3QiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Zvcm0iOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fcGFnZV92aWV3Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX3Njcm9sbCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV92aWRlbyI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9maXJzdCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9sYXN0Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2dhX3JlZ3Njb3BlIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fZSI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2djdCI6eyI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX29ndF8xcF9kYXRhX3YyIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fc2V0X3Byb2R1Y3Rfc2V0dGluZ3MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KCgp9CiwiYmxvYiI6eyIxIjoiMSIsIjEwIjoiRy1WODRYUDhXR1hZfEdULVROR1hSNlE4IiwiMTEiOnRydWUsIjE0IjoiNjdtMCIsIjE1IjoiMSIsIjE2IjoiQ2hBSThPQ1cwd1lRcjVEZ2tKK2U4YU45RWgwQWgrZ0dmdmQrM09Bdi8wOU42aFdpc0VIZFJFZUxIb2hGaFNIU1hCb0NaSmM9IiwiMTciOiIiLCIxOSI6ImRhdGFMYXllciIsIjIiOnRydWUsIjIwIjoiIiwiMjEiOiJ3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20iLCIyMiI6ImV5SXdJam9pVGs4aUxDSXhJam9pVGs4dE1ETWlMQ0l5SWpwbVlXeHpaU3dpTXlJNkltZHZiMmRzWlM1dWJ5SXNJalFpT2lKeVpXZHBiMjR4SWl3aU5TSTZabUZzYzJVc0lqWWlPblJ5ZFdVc0lqY2lPaUpoWkY5emRHOXlZV2RsZkdGdVlXeDVkR2xqYzE5emRHOXlZV2RsZkdGa1gzVnpaWEpmWkdGMFlYeGhaRjl3WlhKemIyNWhiR2w2WVhScGIyNGlMQ0k1SWpwMGNuVmxmUSIsIjIzIjoiZ29vZ2xlLnRhZ21hbmFnZXIuZGVidWd1aTIucXVldWUiLCIyNCI6InRhZ2Fzc2lzdGFudC5nb29nbGUuY29tIiwiMjciOjAuMDA1LCIzIjoid3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIiwiMzAiOiJOTyIsIjMxIjoiTk8tMDMiLCIzMiI6ZmFsc2UsIjMzIjoicmVnaW9uMSIsIjM0IjoiRy1WODRYUDhXR1hZIiwiMzUiOiJHIiwiMzYiOiJodHRwczovL2Fkc2VydmljZS5nb29nbGUuY29tL3BhZ2VhZC9yZWdjbGsiLCIzNyI6Il9fVEFHR1lfSU5TVEFMTEVEIiwiMzgiOiJjY3QuZ29vZ2xlIiwiMzkiOiJnb29nVGFnZ3lSZWZlcnJlciIsIjQwIjoiaHR0cHM6Ly9jY3QuZ29vZ2xlL3RhZ2d5L2FnZW50LmpzIiwiNDEiOiJnb29nbGUudGFnbWFuYWdlci50YS5wcm9kcXVldWUiLCI0MiI6MC4wMSwiNDMiOiJ7XCJrZXlzXCI6W3tcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCS2x5VFgyanlvYnBRQ21mVXlCYmhCeVFIazlaMkhkTjVsSHhwQkF0SUtHTWNtencwZ0UrZWJsWUNtbTFHYTdiWWVUZHlkb0ptZTZJcGFTb0NVMElVVW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiZGVlNGIzNTEtYjBmNS00YzI3LWE4YzgtZWQ2NjA0NzdhNDRjXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRHRZQlJuUEJTMWc2bWVYTzFyUTVhNTJCNUZibmg3REM1anF2MDJpeEpzc24wazFKOXJjSENhVmMvenpSc25zSEJ6U29GS3M2SjhwSDdDY25RUDNFanc9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiYWQxOTNiMmEtNGE5MC00YzFhLWI3OWUtZGUzN2FjMzkxYmQyXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCTVowVU11ZEFlNFBvYWZTVHBVeFB0SWtmQmVDTWJGQlh2dHlSWXZITENTUS9FVXZFSnNtc1Y0dDZOQi9CRVZwcUwzSHY4Z05TUWg3SytTVW9vZjI1YW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDhjNGVmZTEtZmRkMC00MzZhLWFjOGYtOTIzZjExOTE4Nzg3XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRmZsdlVsK3hwSGFGVkNJWU8xS1BMeGt2K0FqZGw0ZDhydnJYaEk2emZwbmJCRHFJNTFERGt0SEhiM1pXSVM1N29EaDBLaXI5QXVDT29uMk1PeE5WOVk9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDMyYmMyNzAtOTllYS00MjIwLWI1NjItZTJjNWFlNzdkNGQ5XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCQVE4VGt5NERMV09KYkhPSGJWWURiUVpFZkVlbGI0RlRCOEVZTVFlUlFpTDFtMUx0QWQwcjN6ZXlMamdaMy9XMjRSOFZmYjIyelkyaXg2Vy9UZkNqakE9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiMDUwYTZlMTEtMzhhYi00ZjgwLTg5Y2ItN2IzMTliOTcwNGMwXCJ9XX0iLCI0NCI6IjExODg5NzkyMH4xMTg4OTc5MzAiLCI0NSI6dHJ1ZSwiNDYiOnsiMSI6IjEwMDAiLCIxMCI6IjY2dTAiLCIxMSI6IjY2ZzAiLCIxNCI6IjEwMDAiLCIxNiI6IlVTLUNPflVTLUNUflVTLU1UflVTLU5FflVTLU5IflVTLVRYflVTLU1OflVTLU5KflVTLU1EflVTLU9SflVTLURFIiwiMTciOiJVUy1DT35VUy1DVH5VUy1NVH5VUy1ORX5VUy1OSH5VUy1UWH5VUy1NTn5VUy1OSn5VUy1NRH5VUy1PUn5VUy1ERSIsIjIiOiI5IiwiMjAiOiI1MDAwIiwiMjEiOiI1MDAwIiwiMjIiOiI0LjQuMCIsIjIzIjoiMC4wLjAiLCIyNSI6IjEiLCIyNiI6IjQwMDAiLCIyNyI6IjEwMCIsIjMiOiI1IiwiNCI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhfGFkX3BlcnNvbmFsaXphdGlvbiIsIjQ0IjoiMTUwMDAiLCI0OCI6IjMwMDAwIiwiNSI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhIiwiNiI6IjEiLCI2MSI6IjEwMDAiLCI2MiI6IkE2T05IUlk3L2J2QnJvK0lNWmQvYTZMTmpuN1NTdjk5OVNrTi9oRkFFOUw2dk1yMzRkTmdmZFNWZFltdjRVK05IWmcxc3hkMzhSdGNpUnBSVXRJUlBnUUFBQUNDZXlKdmNtbG5hVzRpT2lKb2RIUndjem92TDNkM2R5NW5iMjluYkdWMFlXZHRZVzVoWjJWeUxtTnZiVG8wTkRNaUxDSm1aV0YwZFhKbElqb2lVMmhoY21Wa1YyOXlhMlZ5UlhoMFpXNWtaV1JNYVdabGRHbHRaU0lzSW1WNGNHbHllU0k2TVRjM05qY3lPVFl3TUN3aWFYTlVhR2x5WkZCaGNuUjVJanAwY25WbGZRPT0iLCI2MyI6IjEwMDAiLCI2NiI6IjEwMCIsIjciOiIxMCJ9LCI0OCI6dHJ1ZSwiNSI6IkctVjg0WFA4V0dYWSIsIjU1IjpbIkctVjg0WFA4V0dYWSJdLCI1NiI6W3siMSI6NDAzLCIzIjowLjUsIjQiOjExNTkzODQ2NSwiNSI6MTE1OTM4NDY2LCI2IjowLCI3IjoyfSx7IjEiOjQwNCwiMyI6MC41LCI0IjoxMTU5Mzg0NjgsIjUiOjExNTkzODQ2OSwiNiI6MCwiNyI6MX0seyIxIjo2MDIsIjMiOjAuMDEsIjQiOjEyMDEyNDQ1NSwiNSI6MTIwMTI0NDUzLCI2IjoxMjAxMjQ0NTQsIjciOjN9LHsiMSI6NTY5LCIyIjp0cnVlfSx7IjEiOjQ3NSwiMiI6dHJ1ZX0seyIxIjo1MDIsIjIiOnRydWV9LHsiMSI6NTc3LCIyIjp0cnVlfSx7IjEiOjU2OCwiMyI6MC4wMSwiNCI6MTE5NzkxNzQ5LCI1IjoxMTk3OTE3NDgsIjYiOjAsIjciOjF9LHsiMSI6NDkwLCIyIjp0cnVlfSx7IjEiOjQ5MSwiMyI6MC4wMSwiNCI6MTE4MDEyMDA3LCI1IjoxMTgwMTIwMDgsIjYiOjExODAxMjAwOSwiNyI6MX0seyIxIjo0ODAsIjIiOnRydWV9LHsiMSI6NTk0LCIzIjowLjAxLCI0IjoxMTk3OTM5NzQsIjUiOjExOTc5Mzk3MiwiNiI6MTE5NzkzOTczLCI3IjoxfSx7IjEiOjU5OSwiMiI6dHJ1ZX0seyIxIjo1ODAsIjMiOjAuMSwiNCI6MTE5NTI3MDIwLCI1IjoxMTk1MjcwMTksIjYiOjAsIjciOjF9LHsiMSI6NTIzLCIyIjp0cnVlfSx7IjEiOjU4MSwiMyI6MC4wMSwiNCI6MTE5OTQ4ODU0LCI1IjoxMTk5NDg4NTIsIjYiOjExOTk0ODg1MywiNyI6M30seyIxIjo1NTUsIjMiOjAuMDEsIjQiOjExOTI1OTYwNiwiNSI6MTE5MjU5NjA1LCI2IjowLCI3IjoyfSx7IjEiOjUwNCwiMiI6dHJ1ZX0seyIxIjo0NjIsIjMiOjAuMDUsIjQiOjExODgwNjUyNCwiNSI6MTE4ODA2NTI1LCI2IjoxMTg4MDY1MjYsIjciOjF9LHsiMSI6NDEzLCIyIjp0cnVlfSx7IjEiOjU5MywiMiI6dHJ1ZX0seyIxIjo1MDYsIjIiOnRydWV9LHsiMSI6NTAwLCIyIjp0cnVlfSx7IjEiOjU2MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMywiNSI6MTE5NDA0NzAyLCI2IjowLCI3IjoxfSx7IjEiOjQ4MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMSwiNSI6MTE5NDA0NzAwLCI2IjowLCI3IjoxfSx7IjEiOjQ1MCwiMyI6MC4wMSwiNCI6MTE3MjI3NzE0LCI1IjoxMTcyMjc3MTUsIjYiOjExNzIyNzcxNiwiNyI6M30seyIxIjo1ODMsIjMiOjAuNSwiNCI6MTE5ODk2ODAzLCI1IjoxMTk4OTY4MDIsIjYiOjAsIjciOjF9LHsiMSI6NDU4LCIyIjp0cnVlfSx7IjEiOjU4MiwiMyI6MC4wMSwiNCI6MTE5MzgxNjY0LCI1IjoxMTkzODE2NjIsIjYiOjExOTM4MTY2MywiNyI6MX0seyIxIjo1NzAsIjIiOnRydWV9LHsiMSI6NDk4LCIzIjowLjIsIjQiOjExNTYxNjk4NSwiNSI6MTE1NjE2OTg2LCI2IjowLCI3IjoxfSx7IjEiOjU5NSwiMiI6dHJ1ZX0seyIxIjo1ODksIjMiOjAuMDEsIjQiOjEyMDA4NDIxNSwiNSI6MTIwMDg0MjE0LCI2IjowLCI3IjoxfSx7IjEiOjQ5NSwiMyI6MC4wNSwiNCI6MTE4MTMxODEwLCI1IjoxMTgxMzE4MDgsIjYiOjExODEzMTgwOSwiNyI6M30seyIxIjo1ODcsIjMiOjAuMSwiNCI6MTE5NzMyMTcxLCI1IjoxMTk3MzIxNzAsIjYiOjAsIjciOjN9LHsiMSI6NTg0LCIyIjp0cnVlfSx7IjEiOjU2NCwiMyI6MC4wMDAxLCI0IjoxMTkyMDUzMTcsIjUiOjExOTIwNTMxNSwiNiI6MTE5MjA1MzE2LCI3IjoxfSx7IjEiOjU1NywiMiI6dHJ1ZX0seyIxIjo0MjcsIjMiOjAuMSwiNCI6MTE5NzI0MzIyLCI1IjoxMTk3MjQzMjAsIjYiOjExOTcyNDMyMSwiNyI6Mn0seyIxIjo1NzYsIjMiOjAuMDEsIjQiOjExOTMxNzgxMCwiNSI6MTE5MzE3ODExLCI2IjoxMTkzMTgxNzcsIjciOjN9LHsiMSI6NTczLCIyIjp0cnVlfSx7IjEiOjQ5OSwiMiI6dHJ1ZX0seyIxIjo1MTYsIjMiOjAuMSwiNCI6MTE4Mzk1MzM1LCI1IjoxMTgzOTUzMzMsIjYiOjExODM5NTMzNCwiNyI6MX0seyIxIjo1MjQsIjIiOnRydWV9XSwiNTkiOlsiRy1WODRYUDhXR1hZIl0sIjYiOiIyNTAwOTM2MDIiLCI2MiI6dHJ1ZSwiNjMiOjAuMDA1fQosInBlcm1pc3Npb25zIjp7CiJfX2MiOnt9CiwKIl9fY2NkX2F1dG9fcmVkYWN0Ijp7fQosCiJfX2NjZF9jb252ZXJzaW9uX21hcmtpbmciOnt9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9mb3JtIjp7ImFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlIjp7fSwibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uZm9ybUludGVyYWN0IiwiZ3RtLmZvcm1TdWJtaXQiLCJndG0uY2xpY2stdjIiXX0sImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9LCJkZXRlY3RfY2xpY2tfZXZlbnRzIjp7fSwiZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sImxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9wYWdlX3ZpZXciOnsibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uaGlzdG9yeUNoYW5nZS12MiJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2Nyb2xsIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLnNjcm9sbERlcHRoIl19LCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSI6e30sImRldGVjdF9zY3JvbGxfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2l0ZV9zZWFyY2giOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sInJlYWRfY29udGFpbmVyX2RhdGEiOnt9fQosCiJfX2NjZF9lbV92aWRlbyI6eyJsaXN0ZW5fZGF0YV9sYXllciI6eyJhY2Nlc3NUeXBlIjoic3BlY2lmaWMiLCJhbGxvd2VkRXZlbnRzIjpbImd0bS52aWRlbyJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiOnsiYWxsb3dGaXhNaXNzaW5nSmF2YVNjcmlwdEFwaSI6ZmFsc2V9fQosCiJfX2NjZF9nYV9maXJzdCI6eyJyZWFkX2RvbV9lbGVtZW50cyI6eyJhbGxvd2VkQ3NzU2VsZWN0b3JzIjoiYW55In0sImdldF91cmwiOnsidXJsUGFydHMiOiJzcGVjaWZpYyIsInByb3RvY29sIjp0cnVlLCJob3N0Ijp0cnVlfX0KLAoiX19jY2RfZ2FfbGFzdCI6e30KLAoiX19jY2RfZ2FfcmVnc2NvcGUiOnsicmVhZF9jb250YWluZXJfZGF0YSI6e319CiwKIl9fZSI6eyJyZWFkX2V2ZW50X2RhdGEiOnsiZXZlbnREYXRhQWNjZXNzIjoic3BlY2lmaWMiLCJrZXlQYXR0ZXJucyI6WyJldmVudCJdfX0KLAoiX19nY3QiOnsiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9fQosCiJfX29ndF8xcF9kYXRhX3YyIjp7ImRldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEiOnsibGltaXREYXRhU291cmNlcyI6dHJ1ZSwiYWxsb3dBdXRvRGF0YVNvdXJjZXMiOnRydWUsImFsbG93TWFudWFsRGF0YVNvdXJjZXMiOmZhbHNlLCJhbGxvd0NvZGVEYXRhU291cmNlcyI6ZmFsc2V9fQosCiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIjp7fQoKCn0KCgoKLCJzZWN1cml0eV9ncm91cHMiOnsKImdvb2dsZSI6WwoiX19jIgosCiJfX2NjZF9hdXRvX3JlZGFjdCIKLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIgosCiJfX2NjZF9lbV9kb3dubG9hZCIKLAoiX19jY2RfZW1fZm9ybSIKLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siCiwKIl9fY2NkX2VtX3BhZ2VfdmlldyIKLAoiX19jY2RfZW1fc2Nyb2xsIgosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIKLAoiX19jY2RfZW1fdmlkZW8iCiwKIl9fY2NkX2dhX2ZpcnN0IgosCiJfX2NjZF9nYV9sYXN0IgosCiJfX2NjZF9nYV9yZWdzY29wZSIKLAoiX19lIgosCiJfX2djdCIKLAoiX19vZ3RfMXBfZGF0YV92MiIKLAoiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIKCl0KCgp9CgoKCgoKfTsKCgoKCnZhciBrLGFhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/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":103,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":47,"receive":56,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%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://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.909Z","timestamp":1785120762909,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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/ticker-tape/?locale=en 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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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/2 200 \r\ndate: Mon, 27 Jul 2026 02:52:42 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 02:52:46 GMT\r\ncontent-security-policy: base-uri 'none'; 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-mijOFLKMMQsoQ40wYNl0Dw=='; default-src 'self' https: data: blob: wss: 'unsafe-inline'; object-src '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 02:52:34\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f112c394fc6b3b78f565a0481473020c\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":"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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"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":52009,"size_decoded":17382,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"58556de997f77bc8e5ab39d9dd021bf3","sha1":"4a37272cb7a27414a023f125eb0e1167b9a8f8d7","sha256":"9169d29d9f0f116c67df0e45a89f5373e63abcfe1e6c727ead97427d7c74a0ca","sha512":"6cec99d7225adbfc47fee170dbc95788c80d8b4cf158411f2f678790ee6becf1f6341872c823819077055ba1bf31bc984ccc46f0ba71175007828768a26c4785","ssdeep":"1536:Dp8RteetNzfMO53tCqNogd73eWn+66ceuvRMY:Dp8RteetNzfMO53tCqNlqWe4MY","tlshash":"fe33e75788098b05ead64a057c33b203f92903a89552689479acdcdc159ffc2f1a7bfe","first_seen":"2026-07-27T02:53:32.299831Z","last_seen":"2026-07-27T02:54:36.80208Z","times_seen":3,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UaWNrZXIgVGFwZSBXaWRnZXQ8L3RpdGxlPgoKCTxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KCgk8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM5MDcwLjU1Y2JjN2ExZGE5NjNiMzgyOWIzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NjkwNy5jNWFmOGFhN2I1MDgyYjE4NzVhNS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjgxNi4zNTVkNzViMjFhZTRiNTM0YTg0OS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80MzMyNS4yNTZmYTVhNTIxM2I5Y2I3MGY1Yy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA1LjY4MmU4OWVmMmRjNGM3MDQyM2M2LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzE1OTMyLjJhNzBkMzk3YzM0ZjJlOWRlOTRmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxNTA4Ljc2NzIxOTI4M2M2NWY0ZDRjYTZlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg0MDguZGU1MzQ2NjNlMDUyMDc1YmExMmYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODAwOTcuMGEzY2ZkYzI4MDI4Nzk1MjJhZWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cgo8c2NyaXB0IG5vbmNlPSJtaWpPRkxLTU1Rc29RNDB3WU5sMER3PT0iPgoJd2luZG93LmxvY2FsZSA9ICdlbic7Cgl3aW5kb3cubGFuZ3VhZ2UgPSAnZW4nOwo8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9Im1pak9GTEtNTVFzb1E0MHdZTmwwRHc9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7PC9zY3JpcHQ+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjJmNzc3YzIzYjY2MGQ4MzBhNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM1Mi4zMzAxMWYyNDRiOTJlYTBiNjQyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc5MjA3LjZhNjJmYzgwM2QzZDA3ODk4OTM2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83Mjc4LjczODc1OWVmMGFjMzM0NjkyNTNiLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODc5MjYuOGFiOWNmZWRlMTYyOTUxMDcwMTcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjVjOTBkYzZkNDEzMTlmMTMyZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+PHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF90aWNrZXJfdGFwZV93aWRnZXQuOTYyZjc3N2MyM2I2NjBkODMwYTUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjkzNTIuMzMwMTFmMjQ0YjkyZWEwYjY0MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQ3MDguNzNkMmJjYTM3MjA3YzY3YTQxZjQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83OTIwNy42YTYyZmM4MDNkM2QwNzg5ODkzNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzcyNzguNzM4NzU5ZWYwYWMzMzQ2OTI1M2IuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg3OTI2LjhhYjljZmVkZTE2Mjk1MTA3MDE3LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfdGlja2VyX3RhcGVfd2lkZ2V0Ljk2NWM5MGRjNmQ0MTMxOWYxMzJkLmpzIiBkZWZlcj48L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJtaWpPRkxLTU1Rc29RNDB3WU5sMER3PT0iPndpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjMsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC4zfTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwiZGlzcGxheU1vZGUiOiJhZGFwdGl2ZSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZSwic3ltYm9scyI6W3sicHJvTmFtZSI6IkZPUkVYQ09NOlNQWFVTRCIsInRpdGxlIjoiUyZQIDUwMCBJbmRleCJ9LHsicHJvTmFtZSI6IkZPUkVYQ09NOk5TWFVTRCIsInRpdGxlIjoiVVMgMTAwIENhc2ggQ0ZEIn0seyJwcm9OYW1lIjoiRlhfSURDOkVVUlVTRCIsInRpdGxlIjoiRVVSIHRvIFVTRCJ9LHsicHJvTmFtZSI6IkJJVFNUQU1QOkJUQ1VTRCIsInRpdGxlIjoiQml0Y29pbiJ9LHsicHJvTmFtZSI6IkJJVFNUQU1QOkVUSFVTRCIsInRpdGxlIjoiRXRoZXJldW0ifV0sImNvbG9yVGhlbWUiOiJsaWdodCIsImxvY2FsZSI6ImVuIn19OwoJCXdpbmRvdy5pbml0RGF0YS5jdXJyZW50TG9jYWxlSW5mbyA9IHsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9OwoJCXdpbmRvdy5pbml0RGF0YS5zZXR0aW5ncyA9IHsnUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLycsICdTM19ORVdTX0lNQUdFX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vbmV3cy8nLCAnV0VCUEFDS19TVEFUSUNfUEFUSCc6ICdodHRwczovL3N0YXRpYy50cmFkaW5ndmlldy5jb20vc3RhdGljL2J1bmRsZXMvJywgJ1RSQURJTkdfVVJMUyc6IHsnZnJlZSc6ICdodHRwczovL3BhcGVydHJhZGluZy1mcmVlLnRyYWRpbmd2aWV3LmNvbScsICdwcm8nOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmcudHJhZGluZ3ZpZXcuY29tJ30sICdDT05URVNUU19VUkwnOiAnL3BhcGVyLXRyYWRpbmcnLCAnQ1JVRF9TVE9SQUdFX1VSTCc6ICdodHRwczovL2NydWQtc3RvcmFnZS50cmFkaW5ndmlldy5jb20nfTs8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJtaWpPRkxLTU1Rc29RNDB3WU5sMER3PT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBlPXt3aGl0ZWxhYmVsOiEwLHBlcm1pc3Npb25PdmVycmlkZXM6ITAsbGlua0NhcHR1cmluZ0FsbG93ZWQ6ITAsc3ltYm9sX3NlYXJjaF9kZWZhdWx0X2V4Y2hhbmdlOiEwLHN5bWJvbF9zZWFyY2hfYWxsb3dlZF9leGNoYW5nZXM6ITB9O2NvbnN0IHQ9d2luZG93O3QuaW5pdERhdGE9dC5pbml0RGF0YXx8e307Y29uc3QgYT0vXCsvZyxuPS88XC8/W14+XSsoPnwkKS9nLHM9ZT0+ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShhLCIgIikpLnJlcGxhY2UobiwiIiksbz10LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSksYz0vKFteJj1dKyk9PyhbXiZdKikvZyxpPXt9O2xldCBsLHI9Yy5leGVjKG8pO2Zvcig7bnVsbCE9PXI7KWlbcyhyWzFdKV09cyhyWzJdKSxyPWMuZXhlYyhvKTt0cnl7bD1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh0LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSksIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bHx8KGw9e30pfWNhdGNoKGUpe2w9e319dmFyIGg7dC5pbml0RGF0YS5xdWVyeVNldHRpbmdzPWksdC5pbml0RGF0YS5oYXNoU2V0dGluZ3M9KGg9bCxPYmplY3Qua2V5cyhoKS5mb3JFYWNoKCh0PT57ZVt0XSYmZGVsZXRlIGhbdF19KSksaCl9KSgpOwoJPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0ibWlqT0ZMS01NUXNvUTQwd1lObDBEdz09Ij53aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCQl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0ibWlqT0ZMS01NUXNvUTQwd1lObDBEdz09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjsKCQl3aW5kb3cuQlVJTERfVElNRSA9ICIyMDI2LTA3LTI0VDExOjQwOjA4IjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1QgPSAid2lkZ2V0ZGF0YS50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNUID0gIndpZGdldGRhdGEtYmFja3VwLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LnVzZXIgPSB7J3VzZXJuYW1lJzogJ0d1ZXN0JywgJ2ZvbGxvd2luZyc6ICcwJywgJ2ZvbGxvd2Vycyc6ICcwJywgJ2lnbm9yZV9saXN0Jzoge30sICdkb19ub3RfdHJhY2snOiB0cnVlfTs8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9Im1pak9GTEtNTVFzb1E0MHdZTmwwRHc9PSI+bGV0IHBhcmFtcyA9IHt9OwoJCQljb25zdCBodHRwUmVnID0gbmV3IFJlZ0V4cCgnXmh0dHAocyk/Oi8vJyk7CgoJCQl0cnkgewoJCQkJcGFyYW1zID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKTsKCQkJfSBjYXRjaCAoZSkgewoJCQkJcGFyYW1zID0ge307CgkJCX0KCgkJCXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyA9IHsKCQkJCSd3c19hbmNlc3Rvcl9vcmlnaW4nOiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zICYmIHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoID8gd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1t3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCAtIDFdLnJlcGxhY2UoaHR0cFJlZywgJycpIDogbnVsbCwKCQkJCSd3c19wYWdlX3VyaSc6IHBhcmFtc1sncGFnZS11cmknXSwKCQkJfTsoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpufT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBzPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHBfbmV3Iiksbz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lKyI9IixuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtsZXQgcz1uW2VdO2Zvcig7IiAiPT09cy5jaGFyQXQoMCk7KXM9cy5zdWJzdHJpbmcoMSxzLmxlbmd0aCk7aWYoMD09PXMuaW5kZXhPZih0KSlyZXR1cm4gcy5zdWJzdHJpbmcodC5sZW5ndGgscy5sZW5ndGgpfXJldHVybiBudWxsfSgidHZfYXBwIil8fCIiO3N8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IXMpfHwhKCJuZXciPT09ZXx8IW8pfWNvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yLG49dCYmIm9udG91Y2hzdGFydCJpbiB3aW5kb3cscz0odCYmbiYmd2luZG93LHQmJihufHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpLHQmJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSx0JiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImZpcmVmb3giKSx0JiYvXHNFZGdlXC9cZFxkXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdCYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJGeGlPUyIpLHQmJi9tYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL1dpbjMyfFdpbjY0L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9MaW51eC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpLG89dCYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGk9dCYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyPXQmJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxjPXQmJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksYT1zfHxvfHxpfHxyO2NvbnN0IF89bmV3IE1hcDtmdW5jdGlvbiBkKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxuPWAke3R9JHtlfWA7cmV0dXJuIF8uaGFzKG4pfHxfLnNldChuLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG4paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHM9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxvPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IGk7Zm9yKGxldCBlPXMubGVuZ3RoLTE7ZT49MDtlLS0paWYoaT1uZXcgUmVnRXhwKHNbZV0pLGkudGVzdChvKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksXy5nZXQobik/PyExfWNvbnN0IGg9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbD17QW5kcm9pZDooKT0+cyxCbGFja0JlcnJ5OigpPT5vLGlPUzooKT0+aSxPcGVyYTooKT0+cixpc0lQYWQ6KCk9PmMsYW55OigpPT5hfTtoLmlzTW9iaWxlPWwsaC5vbldpZGdldD1kO2NvbnN0IHU9KCk9Pnt9LGc9In5tfiI7Y2xhc3MgbXtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuc2Vzc2lvbmlkPW51bGwsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2Jhc2U9ZSx0aGlzLl9vcHRpb25zPXt0aW1lb3V0OnQudGltZW91dHx8MmU0LGNvbm5lY3Rpb25UeXBlOnQuY29ubmVjdGlvblR5cGUsYXBpS2V5OnQuYXBpS2V5fX1jb25uZWN0KCl7dGhpcy5fc29ja2V0PW5ldyBXZWJTb2NrZXQodGhpcy5fcHJlcGFyZVVybCgpKSwKdGhpcy5fc29ja2V0Lm9ubWVzc2FnZT1lPT57aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIFdlYlNvY2tldCBtZXNzYWdlIHNob3VsZCBiZSBhIHN0cmluZy4gUmVjaWV2ZWQgJHtPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZS5kYXRhKX1gKTt0aGlzLl9vbkRhdGEoZS5kYXRhKX0sdGhpcy5fc29ja2V0Lm9uY2xvc2U9dGhpcy5fb25DbG9zZS5iaW5kKHRoaXMpLHRoaXMuX3NvY2tldC5vbmVycm9yPXRoaXMuX29uRXJyb3IuYmluZCh0aGlzKX1zZW5kKGUpe3RoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnNlbmQodGhpcy5fZW5jb2RlKGUpKX1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9dSx0aGlzLl9zb2NrZXQub25jbG9zZT11LHRoaXMuX3NvY2tldC5vbmVycm9yPXUsdGhpcy5fc29ja2V0LmNsb3NlKCkpfV9jbGVhcklkbGVUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsKX1fZW5jb2RlKGUpe2xldCB0LG49IiI7Y29uc3Qgcz1BcnJheS5pc0FycmF5KGUpP2U6W2VdLG89cy5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxvO2UrKyl0PW51bGw9PT1zW2VdfHx2b2lkIDA9PT1zW2VdPyIiOm0uX3N0cmluZ2lmeShzW2VdKSxuKz1nK3QubGVuZ3RoK2crdDtyZXR1cm4gbn1fZGVjb2RlKGUpe2NvbnN0IHQ9W107bGV0IG4scztkb3tpZihlLnN1YnN0cmluZygwLDMpIT09ZylyZXR1cm4gdDtuPSIiLHM9IiI7Y29uc3Qgbz0oZT1lLnN1YnN0cmluZygzKSkubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8bzt0Kyspe2lmKHM9TnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSksTnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSkhPT1zKXtlPWUuc3Vic3RyaW5nKG4ubGVuZ3RoKzMpLG49TnVtYmVyKG4pO2JyZWFrfW4rPXN9dC5wdXNoKGUuc3Vic3RyaW5nKDAsbikpLGU9ZS5zdWJzdHJpbmcobil9d2hpbGUoIiIhPT1lKTtyZXR1cm4gdH1fb25EYXRhKGUpe3RoaXMuX3NldFRpbWVvdXQoKTtjb25zdCB0PXRoaXMuX2RlY29kZShlKSxuPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5fb25NZXNzYWdlKHRbZV0pfV9zZXRUaW1lb3V0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9vblRpbWVvdXQuYmluZCh0aGlzKSx0aGlzLl9vcHRpb25zLnRpbWVvdXQpfV9vblRpbWVvdXQoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9vbkRpc2Nvbm5lY3Qoe2NvZGU6NGUzLHJlYXNvbjoic29ja2V0LmlvIHRpbWVvdXQiLHdhc0NsZWFuOiExfSl9X29uTWVzc2FnZShlKXt0aGlzLnNlc3Npb25pZD90aGlzLl9jaGVja0lmSGVhcnRiZWF0KGUpP3RoaXMuX29uSGVhcnRiZWF0KGUuc2xpY2UoMykpOnRoaXMuX2NoZWNrSWZKc29uKGUpP3RoaXMuX2Jhc2Uub25NZXNzYWdlKEpTT04ucGFyc2UoZS5zbGljZSgzKSkpOnRoaXMuX2Jhc2Uub25NZXNzYWdlKGUpOih0aGlzLnNlc3Npb25pZD1lLHRoaXMuX29uQ29ubmVjdCgpKX1fY2hlY2tJZkhlYXJ0YmVhdChlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJoIil9X2NoZWNrSWZKc29uKGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImoiKX1fY2hlY2tNZXNzYWdlVHlwZShlLHQpe3JldHVybiBlLnN1YnN0cmluZygwLDMpPT09In4iK3QrIn4ifV9vbkhlYXJ0YmVhdChlKXt0aGlzLnNlbmQoIn5ofiIrZSl9X29uQ29ubmVjdCgpe3RoaXMuY29ubmVjdGVkPSEwLHRoaXMuX2Jhc2Uub25Db25uZWN0KCl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2Uub25EaXNjb25uZWN0KGUpLHRoaXMuc2Vzc2lvbmlkPW51bGx9X2NsZWFyKCl7dGhpcy5jb25uZWN0ZWQ9ITF9X3ByZXBhcmVVcmwoKXtjb25zdCB0PWsodGhpcy5fYmFzZS5ob3N0KTtpZih0LnBhdGhuYW1lKz0ic29ja2V0LmlvL3dlYnNvY2tldCIsdC5wcm90b2NvbD0id3NzOiIsdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJmcm9tIix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSw1MCkpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZGF0ZSIsd2luZG93LkJVSUxEX1RJTUV8fCIiKSxlKCJhbnkiKSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjbGllbnQiLCJtb2JpbGUiKSx0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInR5cGUiLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUpLHdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyl7Y29uc3R7d3NfcGFnZV91cmk6ZSx3c19hbmNlc3Rvcl9vcmlnaW46bn09d2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTO2UmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgicGFnZS11cmkiLGUpLG4mJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYW5jZXN0b3Itb3JpZ2luIixuKX1jb25zdCBuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpfHx3aW5kb3cubG9jYXRpb24uaGFzaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIik7cmV0dXJuIGQoKXx8bnx8dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhdXRoIiwic2Vzc2lvbmlkIiksdm9pZCAwIT09dGhpcy5fb3B0aW9ucy5hcGlLZXkmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXBpX2tleSIsdGhpcy5fb3B0aW9ucy5hcGlLZXkpLHQuaHJlZn1fb25DbG9zZShlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fb25EaXNjb25uZWN0KGUpfV9vbkVycm9yKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2UuZW1pdCgiZXJyb3IiLFtlXSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1zdGF0aWMgX3N0cmluZ2lmeShlKXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT8ifmp+IitKU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSl9fWNsYXNzIHd7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhvc3Q9ZSwKdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl9ldmVudHM9e30sdGhpcy50cmFuc3BvcnQ9dGhpcy5fZ2V0VHJhbnNwb3J0KHQpfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkfWlzQ29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfWNvbm5lY3QoKXt0aGlzLmlzQ29ubmVjdGVkKCl8fCh0aGlzLl9jb25uZWN0aW5nJiZ0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMudHJhbnNwb3J0LmNvbm5lY3QoKSl9c2VuZChlKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkJiZ0aGlzLnRyYW5zcG9ydC5zZW5kKGUpfWRpc2Nvbm5lY3QoKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuZGlzY29ubmVjdCgpfW9uKGUsdCl7ZSBpbiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHNbZV09W10pLHRoaXMuX2V2ZW50c1tlXS5wdXNoKHQpfW9mZkFsbCgpe3RoaXMuX2V2ZW50cz17fX1vbk1lc3NhZ2UoZSl7dGhpcy5lbWl0KCJtZXNzYWdlIixbZV0pfWVtaXQoZSx0PVtdKXtpZihlIGluIHRoaXMuX2V2ZW50cyl7Y29uc3Qgbj10aGlzLl9ldmVudHNbZV0uY29uY2F0KCkscz1uLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bZV0uYXBwbHkodGhpcyx0KX19b25Db25uZWN0KCl7dGhpcy5jbGVhcigpLHRoaXMuZW1pdCgiY29ubmVjdCIpfW9uRGlzY29ubmVjdChlKXt0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLFtlXSl9Y2xlYXIoKXt0aGlzLl9jb25uZWN0aW5nPSExfV9nZXRUcmFuc3BvcnQoZSl7cmV0dXJuIG5ldyBtKHRoaXMsZSl9fWZ1bmN0aW9uIGsoZSl7Y29uc3QgdD0tMSE9PWUuaW5kZXhPZigiLyIpP25ldyBVUkwoZSk6bmV3IFVSTCgid3NzOi8vIitlKTtpZigid3NzOiIhPT10LnByb3RvY29sJiYiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHdlYnNvY2tldCBiYXNlICIrZSk7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdC5zZWFyY2g9IiIsdC51c2VybmFtZT0iIix0LnBhc3N3b3JkPSIiLHR9dmFyIHAsYjshZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0zMDBdPSJOb3JtYWwiLGVbZS5BZnRlckNsb3NlRXZlbnQ9NWUzXT0iQWZ0ZXJDbG9zZUV2ZW50In0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlW2UuSW5mbz0wXT0iSW5mbyIsZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuRGVidWc9Ml09IkRlYnVnIixlW2UuRXJyb3I9M109IkVycm9yIn0oYnx8KGI9e30pKTtjb25zdCBmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZOdW1iZXIod2luZG93LlRFTEVNRVRSWV9XU19FUlJPUl9MT0dTX1RIUkVTSE9MRCl8fDA7dmFyIHk7IWZ1bmN0aW9uKGUpe2VbZS5QaW5nSW50ZXJ2YWw9MWU0XT0iUGluZ0ludGVydmFsIixlW2UuTWF4UGluZ3NDb3VudD0xMF09Ik1heFBpbmdzQ291bnQiLGVbZS5NYXhSZWRpcmVjdHM9MjBdPSJNYXhSZWRpcmVjdHMiLGVbZS5NYXhSZWNvbm5lY3RzPTIwXT0iTWF4UmVjb25uZWN0cyJ9KHl8fCh5PXt9KSk7Y2xhc3MgVHtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuX3F1ZXVlU3RhY2s9W10sdGhpcy5fbG9nc1F1ZXVlPVtdLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXSx0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MCx0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLl9pbml0aWFsSG9zdD10LmluaXRpYWxIb3N0fHxudWxsLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9ZSx0aGlzLl9wcm9Ib3N0PXQucHJvSG9zdCx0aGlzLl9yZWNvbm5lY3RIb3N0PXQucmVjb25uZWN0SG9zdCx0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dD0hMD09PXQubm9SZWNvbm5lY3RBZnRlclRpbWVvdXQsdGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0PXQuZGF0YVJlcXVlc3RUaW1lb3V0LHRoaXMuX2Nvbm5lY3Rpb25UeXBlPXQuY29ubmVjdGlvblR5cGUsdGhpcy5fYXBpS2V5PXQuYXBpS2V5LHRoaXMuX2RvQ29ubmVjdCgpLHQucGluZ1JlcXVpcmVkJiYtMT09PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigibm9waW5nIikmJnRoaXMuX3N0YXJ0UGluZygpfWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCl9cmVzZXRDb3VudGVycygpe3RoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wfXNldExvZ2dlcihlLHQpe3RoaXMuX2xvZ2dlcj1lLHRoaXMuX2dldExvZ0hpc3Rvcnk9dCx0aGlzLl9mbHVzaExvZ3MoKX1zZXRUZWxlbWV0cnkoZSl7dGhpcy5fdGVsZW1ldHJ5PWUsdGhpcy5fdGVsZW1ldHJ5LnJlcG9ydFNlbnQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25UZWxlbWV0cnlTZW50KSx0aGlzLl9mbHVzaFRlbGVtZXRyeSgpfW9uUmVjb25uZWN0KGUpe3RoaXMuX29uUmVjb25uZWN0PWV9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl9aXNDb25uZWN0aW5nKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKX1vbihlLHQpe3JldHVybiEhdGhpcy5fc29ja2V0JiYoImNvbm5lY3QiPT09ZSYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCk/dCgpOiJkaXNjb25uZWN0Ij09PWU/dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpOnRoaXMuX3NvY2tldC5vbihlLHQpLCEwKX1nZXRTZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQudHJhbnNwb3J0P3RoaXMuX3NvY2tldC50cmFuc3BvcnQuc2Vzc2lvbmlkOm51bGx9c2VuZChlKXtyZXR1cm4gdGhpcy5pc0Nvbm5lY3RlZCgpPyh0aGlzLl9zb2NrZXQuc2VuZChlKSwhMCk6KHRoaXMuX3F1ZXVlTWVzc2FnZShlKSwhMSl9CmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWR9Z2V0SG9zdCgpe2NvbnN0IGU9dGhpcy5fdHJ5R2V0UHJvSG9zdCgpO3JldHVybiBudWxsIT09ZT9lOnRoaXMuX3JlY29ubmVjdEhvc3QmJnRoaXMuX3JlY29ubmVjdENvdW50PjM/dGhpcy5fcmVjb25uZWN0SG9zdDp0aGlzLl9zdWdnZXN0ZWRIb3N0fWdldFJlY29ubmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50fWdldFJlZGlyZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudH1nZXRDb25uZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvblN0YXJ0fWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSwodGhpcy5pc0Nvbm5lY3RlZCgpfHx0aGlzLmlzQ29ubmVjdGluZygpKSYmKHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nsb3NlU29ja2V0KCkpfWZvcmJpZENvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITAsdGhpcy5kaXNjb25uZWN0KCl9YWxsb3dDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuY29ubmVjdCgpfWlzTWF4UmVkaXJlY3RzKCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQ+PTIwfWlzTWF4UmVjb25uZWN0cygpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudD49MjB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fcGluZ0luZm98fG51bGx9Z2V0QXBpS2V5KCl7cmV0dXJuIHRoaXMuX2FwaUtleX1fdHJ5R2V0UHJvSG9zdCgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmImJhdHRsZSI9PT13aW5kb3cuZW52aXJvbm1lbnQmJiF0aGlzLl9yZWRpcmVjdENvdW50JiYtMT09PXdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoIndzX2hvc3QiKT90aGlzLl9pbml0aWFsSG9zdD90aGlzLl9pbml0aWFsSG9zdDp2b2lkIDAhPT13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW4/dGhpcy5fcHJvSG9zdHx8dGhpcy5fc3VnZ2VzdGVkSG9zdDpudWxsOm51bGx9X3F1ZXVlTWVzc2FnZShlKXswPT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJnRoaXMuX2xvZ01lc3NhZ2UoMCwiU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQuIFF1ZXVlZCBhIG1lc3NhZ2UiKSx0aGlzLl9xdWV1ZVN0YWNrLnB1c2goZSl9X3Byb2Nlc3NNZXNzYWdlUXVldWUoKXswIT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJih0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NpbmcgcXVldWVkIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjay5mb3JFYWNoKHRoaXMuc2VuZC5iaW5kKHRoaXMpKSx0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NlZCAiK3RoaXMuX3F1ZXVlU3RhY2subGVuZ3RoKyIgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrPVtdKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0fHxudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dHx8KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl90cnlSZWNvbm5lY3QuYmluZCh0aGlzKSw1ZTMpKSx0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCk7bGV0IHQ9ImRpc2Nvbm5lY3Qgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCk7ZSYmKHQrPSIsIGNvZGU6IitlLmNvZGUrIiwgcmVhc29uOiIrZS5yZWFzb24sMTAwNT09PWUuY29kZSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2NvZGVfMTAwNSIpKSx0aGlzLl9sb2dNZXNzYWdlKDAsdCksdGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdChlKSx0aGlzLl9jbG9zZVNvY2tldCgpLHRoaXMuX3F1ZXVlU3RhY2s9W119X2Nsb3NlU29ja2V0KCl7bnVsbCE9PXRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vZmZBbGwoKSx0aGlzLl9zb2NrZXQuZGlzY29ubmVjdCgpLHRoaXMuX3NvY2tldD1udWxsKX1fbG9nTWVzc2FnZShlLHQpe2NvbnN0IG49e21ldGhvZDplLG1lc3NhZ2U6dH07dGhpcy5fbG9nZ2VyP3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShuKToobi5tZXNzYWdlPWBbJHsobmV3IERhdGUpLnRvSVNPU3RyaW5nKCl9XSAke24ubWVzc2FnZX1gLHRoaXMuX2xvZ3NRdWV1ZS5wdXNoKG4pKX1fZmx1c2hMb2dNZXNzYWdlKGUpe3N3aXRjaChlLm1ldGhvZCl7Y2FzZSAyOnRoaXMuX2xvZ2dlci5sb2dEZWJ1ZyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMzp0aGlzLl9sb2dnZXIubG9nRXJyb3IoZS5tZXNzYWdlKTticmVhaztjYXNlIDA6dGhpcy5fbG9nZ2VyLmxvZ0luZm8oZS5tZXNzYWdlKTticmVhaztjYXNlIDE6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChlLm1lc3NhZ2UpfX1fZmx1c2hMb2dzKCl7dGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBTdGFydC4ifSksdGhpcy5fbG9nc1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaExvZ01lc3NhZ2UoZSl9KSksdGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBFbmQuIn0pLHRoaXMuX2xvZ3NRdWV1ZT1bXX1fc2VuZFRlbGVtZXRyeShlLHQpe2NvbnN0IG49e2V2ZW50OmUscGFyYW1zOnR9O3RoaXMuX3RlbGVtZXRyeT90aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChuKTp0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUucHVzaChuKX1fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl7dGhpcy5fdGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLmV2ZW50LGUucGFyYW1zLCExKX1fZmx1c2hUZWxlbWV0cnkoKXt0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpfSkpLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXX1fZG9Db25uZWN0KCl7CnRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfHx0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCkpfHwodGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX2hvc3Q9dGhpcy5nZXRIb3N0KCksdGhpcy5fc29ja2V0PW5ldyB3KHRoaXMuX2hvc3Qse3RpbWVvdXQ6dGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0LGNvbm5lY3Rpb25UeXBlOnRoaXMuX2Nvbm5lY3Rpb25UeXBlLGFwaUtleTp0aGlzLl9hcGlLZXl9KSx0aGlzLl9sb2dNZXNzYWdlKDAsIkNvbm5lY3RpbmcgdG8gIit0aGlzLl9ob3N0KSx0aGlzLl9iaW5kRXZlbnRzKCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fc29ja2V0LmNvbm5lY3QoKSxwZXJmb3JtYW5jZS5tYXJrKCJTV1NDIix7ZGV0YWlsOiJTdGFydCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSx0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e3BlcmZvcm1hbmNlLm1hcmsoIkVXU0MiLHtkZXRhaWw6IkVuZCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSxwZXJmb3JtYW5jZS5tZWFzdXJlKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBkZWxheSIsIlNXU0MiLCJFV1NDIil9KSkpfV9wcm9wYWdhdGVEaXNjb25uZWN0KGUpe2NvbnN0IHQ9dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5sZW5ndGg7Zm9yKGxldCBuPTA7bjx0O24rKyl0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzW25dKGV8fHt9KX1fYmluZEV2ZW50cygpe3RoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57Y29uc3QgZT10aGlzLmdldFNlc3Npb25JZCgpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO2lmKHQucmVkaXJlY3QpcmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQrPTEsdGhpcy5fc3VnZ2VzdGVkSG9zdD10LnJlZGlyZWN0LHRoaXMuaXNNYXhSZWRpcmVjdHMoKSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgicmVkaXJlY3RfYmFpbG91dCIpLHZvaWQgdGhpcy5fcmVkaXJlY3QoKX10aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiY29ubmVjdCBzZXNzaW9uOiIrZSl9KSksdGhpcy5fc29ja2V0Lm9uKCJkaXNjb25uZWN0Iix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJjbG9zZSIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiZXJyb3IiLChlPT57dGhpcy5fbG9nTWVzc2FnZSgwLG5ldyBEYXRlKyIgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCkrIiB3ZWJzb2NrZXQgZXJyb3I6IitKU09OLnN0cmluZ2lmeShlKSksdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yIiksdGhpcy5fZXJyb3JzQ291bnQrKywhdGhpcy5fZXJyb3JzSW5mb1NlbnQmJnRoaXMuX2Vycm9yc0NvdW50Pj1mJiYodm9pZCAwIT09dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2smJih0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfY29ubmVjdF9zdGFjayIse3RleHQ6dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2t9KSxkZWxldGUgdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2spLHZvaWQgMCE9PXRoaXMuX2dldExvZ0hpc3RvcnkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9sb2ciLHt0ZXh0OnRoaXMuX2dldExvZ0hpc3RvcnkoNTApLmpvaW4oIlxuIil9KSx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMCl9KSkpfV9yZWRpcmVjdCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKX1fdHJ5UmVjb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpJiYodGhpcy5fcmVjb25uZWN0Q291bnQrPTEpfV90cnlDb25uZWN0KCl7cmV0dXJuIXRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbiYmKHRoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrPW5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Qgc3RhY2suIElzIGNvbm5lY3RlZDogJHt0aGlzLmlzQ29ubmVjdGVkKCl9LmApLnN0YWNrfHwiIiwhdGhpcy5pc0Nvbm5lY3RlZCgpJiYodGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpLCEwKSl9X2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKXt0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbiYmKHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCl9X2NsZWFyUmVjb25uZWN0VGltZW91dCgpe251bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCl9X3JlY29ubmVjdFdoZW5PbmxpbmUoKXtpZihuYXZpZ2F0b3Iub25MaW5lKXJldHVybiB0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHZvaWQodGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCkpO3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPWZ1bmN0aW9uKGUpe2xldCB0PWU7Y29uc3Qgbj0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLCgpPT57dD1udWxsfX0oKCgpPT57dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1cyBjaGFuZ2VkIHRvIG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCl9KSl9Cl9vblRlbGVtZXRyeVNlbnQoZSl7IndlYnNvY2tldF9lcnJvciJpbiBlJiYodGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSl9X3N0YXJ0UGluZygpe2lmKHRoaXMuX3BpbmdJbnRlcnZhbElkKXJldHVybjtjb25zdCBlPWsodGhpcy5nZXRIb3N0KCkpO2UucGF0aG5hbWUrPSJwaW5nIixlLnByb3RvY29sPSJodHRwczoiO2xldCB0PTAsbj0wO2NvbnN0IHM9ZT0+e3RoaXMuX3BpbmdJbmZvPXRoaXMuX3BpbmdJbmZvfHx7bWF4OjAsbWluOjEvMCxhdmc6MH07Y29uc3Qgcz0obmV3IERhdGUpLmdldFRpbWUoKS1lO3M+dGhpcy5fcGluZ0luZm8ubWF4JiYodGhpcy5fcGluZ0luZm8ubWF4PXMpLHM8dGhpcy5fcGluZ0luZm8ubWluJiYodGhpcy5fcGluZ0luZm8ubWluPXMpLHQrPXMsbisrLHRoaXMuX3BpbmdJbmZvLmF2Zz10L24sbj49MTAmJnRoaXMuX3BpbmdJbnRlcnZhbElkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9waW5nSW50ZXJ2YWxJZCksZGVsZXRlIHRoaXMuX3BpbmdJbnRlcnZhbElkKX07dGhpcy5fcGluZ0ludGVydmFsSWQ9c2V0SW50ZXJ2YWwoKCgpPT57Y29uc3QgdD0obmV3IERhdGUpLmdldFRpbWUoKSxuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oIkdFVCIsZSwhMCksbi5zZW5kKCksbi5vbnJlYWR5c3RhdGVjaGFuZ2U9KCk9PntuLnJlYWR5U3RhdGU9PT1YTUxIdHRwUmVxdWVzdC5ET05FJiYyMDA9PT1uLnN0YXR1cyYmcyh0KX19KSwxZTQpfX0KY29uc3QgQz0id2lkZ2V0X3VzZXJfdG9rZW4tIix2PUpTT04ucGFyc2UoJ3siYWR4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4IiwiYWR4RCI6IndpZGdldF91c2VyX3Rva2VuLWFkeEQiLCJhZ2VuY2lhbGJtY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZ2VuY2lhbGJtY29tYnIiLCJhbGphemlyYWNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsRCIsImFsamF6aXJhY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsUlQiLCJhbHJhamhpY2FwaXRhbGNvbUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbUQiLCJhbHJhamhpY2FwaXRhbGNvbVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21SVCIsImFtYml0byI6IndpZGdldF91c2VyX3Rva2VuLWFtYml0byIsImFyZW5heHRybyI6IndpZGdldF91c2VyX3Rva2VuLWFyZW5heHRybyIsImFydGVjaGVjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1BcnRlY2hlRCIsImF0bGNhcGl0YWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1hdGxjYXBpdGFsIiwiYmFua2lyb3NydSI6IndpZGdldF91c2VyX3Rva2VuLWJhbmtpcm9zcnUiLCJiYnZhY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1iYnZhY2giLCJiZWVrc2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmVla3Nncm91cCIsImJlbHVnYWdyb3VwcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWx1Z2Fncm91cHJ1IiwiYml2YWNvbSI6IndpZGdldF91c2VyX3Rva2VuLWJpdmFjb20iLCJibHVlZmllbGQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlZmllbGQiLCJibHVlbGluZWZ1dHVyZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlbGluZWZ1dHVyZXMiLCJib3Zlc3BhIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm1mYm92ZXNwYWNvbWJyIiwiYnZicm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1idmJybyIsImJ5dGV0cmF2ZWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1ieXRldHJhdmVsIiwiY2JvZWNhbmFkYSI6IndpZGdldF91c2VyX3Rva2VuLWNib2VjYW5hZGEiLCJjaGFtcGlvbm5hdGJvdXJzZSI6IndpZGdldF91c2VyX3Rva2VuLWNoYW1waW9ubmF0Ym91cnNlIiwiY2luY29kaWFzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2luY29kaWFzIiwiY2VvY2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FEIiwiY2VvY2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhUlQiLCJjbWNtYXJrZXRzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY21jbWFya2V0cyIsImNvcGVlcyI6IndpZGdldF91c2VyX3Rva2VuLWNvcGVlcyIsImNzZWxrIjoid2lkZ2V0X3VzZXJfdG9rZW4tY3NlbGsiLCJkYWlseWZ4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZGFpbHlmeCIsImRlZXBzZWFyY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1kZWVwc2VhcmNoIiwiZGVyYXlhaGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWRlcmF5YWhjb20iLCJkZm1hZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZUQiLCJkZm1hZVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVSVCIsImRpbmFyc2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYUQiLCJkaW5hcnNhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhUlQiLCJkb2xhcmhveSI6IndpZGdldF91c2VyX3Rva2VuLWRvbGFyaG95IiwiZWFzeW52ZXN0Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1lYXN5bnZlc3Rjb21iciIsImVkYWlseSI6IndpZGdldF91c2VyX3Rva2VuLWVkYWlseSIsImVsZXNwYW5vbGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWVsZXNwYW5vbGNvbSIsImVsb2JyZXJvZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbG9icmVyb2VzIiwiZWxuYWNpb25hbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1FbE5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBhaXNmaW5hbmNpZXJvIiwiZWxwZXJpb2RpY29kZWxhZW5lcmdpYSI6IndpZGdldF91c2VyX3Rva2VuLWVscGVyaW9kaWNvZGVsYWVuZXJnaWEiLCJldXF1ZXJvaW52ZXN0aXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXF1ZXJvaW52ZXN0aXJjb20iLCJldXJleCI6IndpZGdldF91c2VyX3Rva2VuLWV1cmV4IiwiZXVyb2ZpbnMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvZmlucyIsImVwZSI6IndpZGdldF91c2VyX3Rva2VuLWVwZSIsImV1cm9wYXByZXNzZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvcGFwcmVzc2VzIiwiZmluYW56YXNEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRmluYW56YXNEIiwiZm9yYmVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1mb3JiZXNjb21iciIsImdlbmlhbGludmVzdGltZW50b3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1nZW5pYWxpbnZlc3RpbWVudG9zIiwiaGVhbHRoaXRhbGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVhbHRoaXRhbGlhIiwiaGVnbmFybm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWduYXJubyIsImhpcG90ZWNhcmlvY29tYXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1oaXBvdGVjYXJpb2NvbWFyIiwiaWdjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1pZ2NvbSIsImludmVzdGVnYXRlY291ayI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdGVnYXRlY291ayIsImludmVzdG9wZWRpYSI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdG9wZWRpYSIsImludGVncmFseWF0aXJpbSI6IndpZGdldF91c2VyX3Rva2VuLWludGVncmFseWF0aXJpbSIsIml2c2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4taXZzZ3JvdXAiLCJqc2Vjb3phIjoid2lkZ2V0X3VzZXJfdG9rZW4tanNlY296YSIsImJvZXJzZW56ZWl0dW5nIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm9lcnNlbnplaXR1bmciLCJsYWluZm9ybWFjaW9uY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbGFpbmZvcm1hY2lvbmNvbSIsIm1hcmNvcG9sb2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWFyY29wb2xvY29tYnIiLCJtZXJjYWRvZmluYW5jaWVyb2NvbSI6IndpZGdldF91c2VyX3Rva2VuLW1lcmNhZG9maW5hbmNpZXJvY29tIiwibW9leCI6IndpZGdldF91c2VyX3Rva2VuLW1vZXgiLCJtb25leXRpbWVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25leXRpbWVzY29tYnIiLCJtb25pdG9yZG9tZXJjYWRvRCI6IndpZGdldF91c2VyX3Rva2VuLW1vbml0b3Jkb21lcmNhZG9EIiwibXluZXRjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1teW5ldGNvbSIsIm5lZ29jaW9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tbmVnb2Npb3MiLCJOR1giOiJ3aWRnZXRfdXNlcl90b2tlbi1OR1giLCJOb3RpY2lhc2Fncmljb2xhRCI6IndpZGdldF91c2VyX3Rva2VuLW5vdGljaWFzYWdyaWNvbGFEIiwibm9tbW9tYSI6IndpZGdldF91c2VyX3Rva2VuLW5vbW1vbWEiLCJuc2Vjb2tyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbnNlY29rciIsIm9rZGlhcmlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tb2tkaWFyaW8iLCJwYW5hZnJpY2FucmVzb3VyY2VzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tcGFuYWZyaWNhbnJlc291cmNlc2NvbSIsInBzZSI6IndpZGdldF91c2VyX3Rva2VuLXBzZSIsInBvZGVyMzYwIjoid2lkZ2V0X3VzZXJfdG9rZW4tcG9kZXIzNjAiLCJwc2VEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlRCIsInJpeWFkaGNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbEQiLCJyaXlhZGhjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsUlQiLCJxZWNvbXFhIjoid2lkZ2V0X3VzZXJfdG9rZW4tcWVjb21xYSIsInNhbW9sZXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zYW1vbGV0Iiwic2VlaW5nbWFjaGluZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZWVpbmdtYWNoaW5lc2NvbSIsInNldWRpbmhlaXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2V1ZGluaGVpcm8iLCJzb2Z0d2FyZWFnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29mdHdhcmVhZyIsInNvZ2VjbGFpciI6IndpZGdldF91c2VyX3Rva2VuLXNvZ2VjbGFpciIsInNnY29tcGFueWl0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2djb21wYW55aXQiLCJzaGFyZWp1bmN0aW9uIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2hhcmVqdW5jdGlvbiIsInNtYXJ0bGFiLWN1c3RvbSI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic21hcnRsYWIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNwYWNlbW9uZXljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXNwYWNlbW9uZXljb21iciIsInN0b25leHdkZyI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leMKjLSF3d3cuc3RvbmV4LmNvbSIsInN0b3hpbyI6IndpZGdldF91c2VyX3Rva2VuLXN0b3hpbyIsInN0b25leCI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leCIsInRvcm9pbnZlc3RpbWVudG9zY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdG9yb2ludmVzdGltZW50b3Njb20iLCJ0aGVjc2Vjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10aGVjc2Vjb20iLCJ0cmFkZXJzY2x1YmJyYXNpbCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsIiwidHJhZGVyc2NsdWJicmFzaWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWxEIiwidHJhZGluZ3ZpZXciOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkaW5ndmlldyIsInh0b29scyI6IndpZGdldF91c2VyX3Rva2VuLXh0b29scyIsInR3aXR0ZXIiOiJ3aWRnZXRfdXNlcl90b2tlbi10d2l0dGVyIiwidmVsb2NpdHljb21wb3NpdGVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdmVsb2NpdHljb21wb3NpdGVzY29tIiwidm9jZXNhYWJyaWxjb21iciI6IndpZGdldF91c2VyX3Rva2VuLXZvY2VzYWFicmlsY29tYnIiLCJ3ZWFsdGhzaW1wbGUiOiJ3aWRnZXRfdXNlcl90b2tlbi13ZWFsdGhzaW1wbGXCoy0hbXkud2VhbHRoc2ltcGxlLmNvbSIsIndvcmxkY2hlc3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi13b3JsZGNoZXNzY29tIiwieENydHlKa3NwIjoid2lkZ2V0X3VzZXJfdG9rZW4teENydHlKa3NwIiwieHBpY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi14cGljb21iciJ9Jylbd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiXXx8IiIsUz12LnN0YXJ0c1dpdGgoQyk/di5zdWJzdHJpbmcoMTgpOiJ0cmFkaW5ndmlldyIKO3dpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uPW5ldyBUKHdpbmRvdy5XRUJTT0NLRVRfSE9TVCx7cGluZ1JlcXVpcmVkOndpbmRvdy5XU19IT1NUX1BJTkdfUkVRVUlSRUQscHJvSG9zdDp3aW5kb3cuV0VCU09DS0VUX1BST19IT1NULHJlY29ubmVjdEhvc3Q6d2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QsaW5pdGlhbEhvc3Q6d2luZG93LldFQlNPQ0tFVF9JTklUSUFMX0hPU1QsY29ubmVjdGlvblR5cGU6d2luZG93LldFQlNPQ0tFVF9DT05ORUNUSU9OX1RZUEUsYXBpS2V5OlN9KSx3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbkN0b3I9VH0pKCk7Cgk8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KCTxzY3JpcHQgbm9uY2U9Im1pak9GTEtNTVFzb1E0MHdZTmwwRHc9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IHQ9MTAxOTt2YXIgZSxzLG8sYSxkOyFmdW5jdGlvbih0KXt0LkFkYXB0aXZlPSJhZGFwdGl2ZSIsdC5SZWd1bGFyPSJyZWd1bGFyIix0LkNvbXBhY3Q9ImNvbXBhY3QifShlfHwoZT17fSkpLGZ1bmN0aW9uKHQpe3QuQWxsU3ltYm9scz0iYWxsX3N5bWJvbHMiLHQuTWFya2V0PSJtYXJrZXQiLHQuU3ltYm9sPSJzeW1ib2wifShzfHwocz17fSkpLGZ1bmN0aW9uKHQpe3QuQ3J5cHRvY3VycmVuY2llcz0iY3J5cHRvIix0LkN1cnJlbmNpZXM9ImZvcmV4Iix0LlN0b2Nrcz0ic3RvY2siLHQuSW5kaWNlcz0iaW5kZXgiLHQuRnV0dXJlcz0iZnV0dXJlcyIsdC5Cb25kcz0iY2ZkIn0ob3x8KG89e30pKSxmdW5jdGlvbih0KXt0LkhUTUw9Imh0bWwiLHQuUmVhY3Q9InJlYWN0In0oYXx8KGE9e30pKSxmdW5jdGlvbih0KXt0LlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGR8fChkPXt9KSk7Y29uc3QgYz13aW5kb3c7Yy5pbml0RGF0YT1jLmluaXREYXRhfHx7fTtsZXQgaT1jLmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihjLmluaXREYXRhLndpZGdldERlZmF1bHRzJiYoaT17Li4uYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cywuLi5pfSksdm9pZCAwIT09aSl7aWYodm9pZCAwIT09aS5jb2xvclRoZW1lJiZmdW5jdGlvbih0LGU9d2luZG93KXtjb25zdCBzPSJ0aGVtZS0iK3Qsbz1lLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbShvKSl0LnN0YXJ0c1dpdGgoInRoZW1lLSIpJiZ0IT09cyYmby5yZW1vdmUodCk7by5hZGQocyksZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT10fShpLmNvbG9yVGhlbWUpLChpLmlzVHJhbnNwYXJlbnR8fGkudHJhbnNwYXJlbmN5KSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXRyYW5zcGFyZW50Iiksdm9pZCAwIT09aS5kaXNwbGF5TW9kZSYmZnVuY3Rpb24ocyxvKXtpZihvPT09ZS5BZGFwdGl2ZSl7Y29uc3QgZT13aW5kb3cubWF0Y2hNZWRpYShgKG1heC13aWR0aDogJHt0fXB4KWApLG89KCk9PntzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIiwhZS5tYXRjaGVzKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixlLm1hdGNoZXMpfTtvKCksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG8pfWVsc2Ugcy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsbz09PWUuUmVndWxhcikscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsbz09PWUuQ29tcGFjdCl9KGRvY3VtZW50LmJvZHksaS5kaXNwbGF5TW9kZSksaS5ib2R5Q2xhc3Nlcylmb3IoY29uc3QgdCBvZiBpLmJvZHlDbGFzc2VzKWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0KTtpLmJvZHlfY2xhc3MmJmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChpLmJvZHlfY2xhc3MpLGkuYm9keUlkJiYoZG9jdW1lbnQuYm9keS5pZD1pLmJvZHlJZCl9fSkoKTsKCTwvc2NyaXB0PgoKCTxkaXYgaWQ9IndpZGdldC10aWNrZXItdGFwZS1jb250YWluZXIiPjwvZGl2PgoKPHNjcmlwdCBub25jZT0ibWlqT0ZMS01NUXNvUTQwd1lObDBEdz09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"time_used":25,"timings":{"blocked":-1,"dns":3,"connect":1,"send":0,"wait":2,"receive":0,"ssl":17},"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.114Z","timestamp":1785120763114,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 700a790e95f0d1ed91e2d1d82a449add\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-27T05:26:55.717195Z","times_seen":218,"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":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/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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.451Z","timestamp":1785120763451,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: 739df8d87ae0437bcff3e89cf0abdccc\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-07-27T05:14:11.3544Z","times_seen":17556491,"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.57291.7208384210f7c33bcce4.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.461Z","timestamp":1785120763461,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/en.57291.7208384210f7c33bcce4.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/ticker-tape/?locale=en\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 02:52:43 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-9d1\"\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:19:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 511dede0e81ddf6b73db5961e72cebd8\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.606Z","timestamp":1785120761606,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.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://360trustwealthavenue.stglen.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.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: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 394947\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":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-27T05:13:02.326236Z","times_seen":247289,"resource_available":false,"data":"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"}},"time_used":81,"timings":{"blocked":21,"dns":0,"connect":0,"send":0,"wait":27,"receive":33,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.813Z","timestamp":1785120761813,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 3808278\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 02:52:41 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=qtGCJS%2Fa3SMqr5SDlaosEZKlKsWPqeZOQd6pQVSM5pi8ack3IH6CuH9oxN53cf5rYvCTAZxkSY3d8xsalDLA%2FLNDncZ9JnvcoSWvZWxwtGBKDl5NSCciFZ4NAcNI\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859795bd50daa-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":"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"]}],"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-07-27T05:24:59.932953Z","times_seen":1196,"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":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/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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.823Z","timestamp":1785120761823,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 4401168\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 02:52:41 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=EdYl0BvO9g4h8ryRFIDIz6bOSkacJhrsU%2F%2FBwkngsrX%2Fln2zFhWiCrAreucHn1tXMLEG4SJm3869sAeML4zglv%2B9puVJC%2FAs%2BX1FQR%2FurApLzl8j%2Fi%2BL9T9BDR44\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859796bd90daa-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":30684,"size_decoded":9893,"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-07-27T05:24:59.816149Z","times_seen":1478,"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":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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.964Z","timestamp":1785120761964,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 7732167\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 02:52:41 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=f3%2F6V7aDKWUsi5qbgb%2BAbfHkzUlEIrvzakl4Pq7FIkkkxVWejpAXwZ69uX9l0kOz493AwDtE5ahOU6Nd3RC%2FcDheckx1Dk0dl2k8yGE2KmPtODDpCysNEf5sQJ1V\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a4be40daa-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":"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"]}],"data":{"size":33297,"size_decoded":9769,"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-07-27T05:24:59.929979Z","times_seen":1593,"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":"s2.coinmarketcap.com/static/img/coins/64x64/74.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.157Z","timestamp":1785120762157,"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=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\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: 69133\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 3DSpZ4nBDipz3y6k1xbDRbK8DzLEuzLlr-J-uVFUIYmpgH8A0os3TQ==\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-07-27T05:24:59.851182Z","times_seen":14641,"resource_available":false,"data":"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"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/4943.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.187Z","timestamp":1785120762187,"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=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\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: 4317\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 7_VaajG0oRMlIkv_esm-XO5NVJe8roO_SUIYwqcDEiJto8dpe0jTwg==\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":2671,"size_decoded":3196,"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-07-27T05:24:59.953783Z","times_seen":1118,"resource_available":false,"data":"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"}},"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":"cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.24.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.951Z","timestamp":1785120760951,"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":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/6.4.0/css/all.min.css HTTP/1.1\r\nHost: cdnjs.cloudflare.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://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 18752\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\ncontent-encoding: br\r\nlast-modified: Mon, 27 Mar 2023 17:46:59 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=PEuTxayFh9y4T3aZdb9LCsK3pNiSUseZm7r9vk0aPGDAQP5SrljliKUvRjxNoPtQVpoOwhBMC0XymlBviMk%2FOeYJeIOltGE8CY2OzUKkNUDVZ6omFNZ4g1mIdXNSyDDrnmoDEKhH\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=2,i=?0\r\nserver: cloudflare\r\ncf-ray: a21859742eaab1b8-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"]}],"data":{"size":102025,"size_decoded":19739,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (52276)","md5":"ded1c367363e8b20bdc6a19b8350a737","sha1":"8c06d82739d14b094ff6d9036021a252bd1d985d","sha256":"1edb1725a9ea8ca4dcf2f5508cee183218aa1685e47c1b23056717f754f58ebf","sha512":"89e71d2e66ac925ec2564aa45cd43f647fd72e5bd664e2728fb632eed71e9e6a43d72a404a8ce9993fc4d223ed985201e3a66676d01cf5e341bc7d07fd9a6207","ssdeep":"1536:OwMCMPMCMjMCM4MCMwMCM3sVMX709gbPMfjSFOTyPGuZprfZCl:S709gMGFiyPGuZpfZCl","tlshash":"2ea3a7f9e44c05d97732c44bab95b37c65b6f738d5810ca9f02f580c1ad26a822c6f7a","first_seen":"2023-04-06T15:05:25Z","last_seen":"2026-07-27T05:12:05.026218Z","times_seen":58188,"resource_available":false,"data":"LyohCiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNC4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tCiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpCiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLgogKi8KLmZhe2ZvbnQtZmFtaWx5OnZhcigtLWZhLXN0eWxlLWZhbWlseSwiRm9udCBBd2Vzb21lIDYgRnJlZSIpO2ZvbnQtd2VpZ2h0OnZhcigtLWZhLXN0eWxlLDkwMCl9LmZhLC5mYS1icmFuZHMsLmZhLWNsYXNzaWMsLmZhLXJlZ3VsYXIsLmZhLXNoYXJwLC5mYS1zb2xpZCwuZmFiLC5mYXIsLmZhc3stbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtkaXNwbGF5OnZhcigtLWZhLWRpc3BsYXksaW5saW5lLWJsb2NrKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2xpbmUtaGVpZ2h0OjE7dGV4dC1yZW5kZXJpbmc6YXV0b30uZmEtY2xhc3NpYywuZmEtcmVndWxhciwuZmEtc29saWQsLmZhciwuZmFze2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNiBGcmVlIn0uZmEtYnJhbmRzLC5mYWJ7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA2IEJyYW5kcyJ9LmZhLTF4e2ZvbnQtc2l6ZToxZW19LmZhLTJ4e2ZvbnQtc2l6ZToyZW19LmZhLTN4e2ZvbnQtc2l6ZTozZW19LmZhLTR4e2ZvbnQtc2l6ZTo0ZW19LmZhLTV4e2ZvbnQtc2l6ZTo1ZW19LmZhLTZ4e2ZvbnQtc2l6ZTo2ZW19LmZhLTd4e2ZvbnQtc2l6ZTo3ZW19LmZhLTh4e2ZvbnQtc2l6ZTo4ZW19LmZhLTl4e2ZvbnQtc2l6ZTo5ZW19LmZhLTEweHtmb250LXNpemU6MTBlbX0uZmEtMnhze2ZvbnQtc2l6ZTouNjI1ZW07bGluZS1oZWlnaHQ6LjFlbTt2ZXJ0aWNhbC1hbGlnbjouMjI1ZW19LmZhLXhze2ZvbnQtc2l6ZTouNzVlbTtsaW5lLWhlaWdodDouMDgzMzNlbTt2ZXJ0aWNhbC1hbGlnbjouMTI1ZW19LmZhLXNte2ZvbnQtc2l6ZTouODc1ZW07bGluZS1oZWlnaHQ6LjA3MTQzZW07dmVydGljYWwtYWxpZ246LjA1MzU3ZW19LmZhLWxne2ZvbnQtc2l6ZToxLjI1ZW07bGluZS1oZWlnaHQ6LjA1ZW07dmVydGljYWwtYWxpZ246LS4wNzVlbX0uZmEteGx7Zm9udC1zaXplOjEuNWVtO2xpbmUtaGVpZ2h0Oi4wNDE2N2VtO3ZlcnRpY2FsLWFsaWduOi0uMTI1ZW19LmZhLTJ4bHtmb250LXNpemU6MmVtO2xpbmUtaGVpZ2h0Oi4wMzEyNWVtO3ZlcnRpY2FsLWFsaWduOi0uMTg3NWVtfS5mYS1md3t0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxLjI1ZW19LmZhLXVse2xpc3Qtc3R5bGUtdHlwZTpub25lO21hcmdpbi1sZWZ0OnZhcigtLWZhLWxpLW1hcmdpbiwyLjVlbSk7cGFkZGluZy1sZWZ0OjB9LmZhLXVsPmxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mYS1saXtsZWZ0OmNhbGModmFyKC0tZmEtbGktd2lkdGgsIDJlbSkqLTEpO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOnZhcigtLWZhLWxpLXdpZHRoLDJlbSk7bGluZS1oZWlnaHQ6aW5oZXJpdH0uZmEtYm9yZGVye2JvcmRlci1yYWRpdXM6dmFyKC0tZmEtYm9yZGVyLXJhZGl1cywuMWVtKTtib3JkZXI6dmFyKC0tZmEtYm9yZGVyLXdpZHRoLC4wOGVtKSB2YXIoLS1mYS1ib3JkZXItc3R5bGUsc29saWQpIHZhcigtLWZhLWJvcmRlci1jb2xvciwjZWVlKTtwYWRkaW5nOnZhcigtLWZhLWJvcmRlci1wYWRkaW5nLC4yZW0gLjI1ZW0gLjE1ZW0pfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6dmFyKC0tZmEtcHVsbC1tYXJnaW4sLjNlbSl9LmZhLXB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHQ7bWFyZ2luLWxlZnQ6dmFyKC0tZmEtcHVsbC1tYXJnaW4sLjNlbSl9LmZhLWJlYXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYS1iZWF0O2FuaW1hdGlvbi1uYW1lOmZhLWJlYXQ7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6dmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LDBzKTthbmltYXRpb24tZGVsYXk6dmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LDBzKTstd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpO2FuaW1hdGlvbi1kaXJlY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwxcyk7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwxcyk7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OnZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsaW5maW5pdGUpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6dmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCxpbmZpbml0ZSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsZWFzZS1pbi1vdXQpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZyxlYXNlLWluLW91dCl9LmZhLWJvdW5jZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhLWJvdW5jZTthbmltYXRpb24tbmFtZTpmYS1ib3VuY2U7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6dmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LDBzKTthbmltYXRpb24tZGVsYXk6dmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LDBzKTstd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpO2FuaW1hdGlvbi1kaXJlY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwxcyk7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwxcyk7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OnZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsaW5maW5pdGUpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6dmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCxpbmZpbml0ZSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsY3ViaWMtYmV6aWVyKC4yOCwuODQsLjQyLDEpKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsY3ViaWMtYmV6aWVyKC4yOCwuODQsLjQyLDEpKX0uZmEtZmFkZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhLWZhZGU7YW5pbWF0aW9uLW5hbWU6ZmEtZmFkZTstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6dmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCxpbmZpbml0ZSk7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDp2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LGluZmluaXRlKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZyxjdWJpYy1iZXppZXIoLjQsMCwuNiwxKSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLGN1YmljLWJlemllciguNCwwLC42LDEpKX0uZmEtYmVhdC1mYWRlLC5mYS1mYWRley13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OnZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwwcyk7YW5pbWF0aW9uLWRlbGF5OnZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwwcyk7LXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sbm9ybWFsKTthbmltYXRpb24tZGlyZWN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sbm9ybWFsKTstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sMXMpO2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sMXMpfS5mYS1iZWF0LWZhZGV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYS1iZWF0LWZhZGU7YW5pbWF0aW9uLW5hbWU6ZmEtYmVhdC1mYWRlOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDp2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LGluZmluaXRlKTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OnZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsaW5maW5pdGUpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLGN1YmljLWJlemllciguNCwwLC42LDEpKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkpfS5mYS1mbGlwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmEtZmxpcDthbmltYXRpb24tbmFtZTpmYS1mbGlwOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OnZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwwcyk7YW5pbWF0aW9uLWRlbGF5OnZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwwcyk7LXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sbm9ybWFsKTthbmltYXRpb24tZGlyZWN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sbm9ybWFsKTstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sMXMpO2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sMXMpOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDp2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LGluZmluaXRlKTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OnZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsaW5maW5pdGUpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLGVhc2UtaW4tb3V0KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsZWFzZS1pbi1vdXQpfS5mYS1zaGFrZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhLXNoYWtlO2FuaW1hdGlvbi1uYW1lOmZhLXNoYWtlOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwxcyk7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwxcyk7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OnZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsaW5maW5pdGUpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6dmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCxpbmZpbml0ZSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsbGluZWFyKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsbGluZWFyKX0uZmEtc2hha2UsLmZhLXNwaW57LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6dmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LDBzKTthbmltYXRpb24tZGVsYXk6dmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LDBzKTstd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpO2FuaW1hdGlvbi1kaXJlY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpfS5mYS1zcGluey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmEtc3BpbjthbmltYXRpb24tbmFtZTpmYS1zcGluOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwycyk7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwycyk7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OnZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsaW5maW5pdGUpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6dmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCxpbmZpbml0ZSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsbGluZWFyKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsbGluZWFyKX0uZmEtc3Bpbi1yZXZlcnNley0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbjpyZXZlcnNlfS5mYS1wdWxzZSwuZmEtc3Bpbi1wdWxzZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhLXNwaW47YW5pbWF0aW9uLW5hbWU6ZmEtc3Bpbjstd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpO2FuaW1hdGlvbi1kaXJlY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwxcyk7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwxcyk7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OnZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsaW5maW5pdGUpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6dmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCxpbmZpbml0ZSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsc3RlcHMoOCkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZyxzdGVwcyg4KSl9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmZhLWJlYXQsLmZhLWJlYXQtZmFkZSwuZmEtYm91bmNlLC5mYS1mYWRlLC5mYS1mbGlwLC5mYS1wdWxzZSwuZmEtc2hha2UsLmZhLXNwaW4sLmZhLXNwaW4tcHVsc2V7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LTFtczthbmltYXRpb24tZGVsYXk6LTFtczstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxbXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFtczstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzO3RyYW5zaXRpb24tZGVsYXk6MHM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOjBzO3RyYW5zaXRpb24tZHVyYXRpb246MHN9fUAtd2Via2l0LWtleWZyYW1lcyBmYS1iZWF0ezAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9NDUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKHZhcigtLWZhLWJlYXQtc2NhbGUsMS4yNSkpO3RyYW5zZm9ybTpzY2FsZSh2YXIoLS1mYS1iZWF0LXNjYWxlLDEuMjUpKX19QGtleWZyYW1lcyBmYS1iZWF0ezAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9NDUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKHZhcigtLWZhLWJlYXQtc2NhbGUsMS4yNSkpO3RyYW5zZm9ybTpzY2FsZSh2YXIoLS1mYS1iZWF0LXNjYWxlLDEuMjUpKX19QC13ZWJraXQta2V5ZnJhbWVzIGZhLWJvdW5jZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApfTEwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwxLjEpLHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS15LC45KSkgdHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06c2NhbGUodmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXgsMS4xKSx2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteSwuOSkpIHRyYW5zbGF0ZVkoMCl9MzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXgsLjkpLHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXksMS4xKSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtaGVpZ2h0LC0uNWVtKSk7dHJhbnNmb3JtOnNjYWxlKHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXgsLjkpLHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXksMS4xKSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtaGVpZ2h0LC0uNWVtKSl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXgsMS4wNSksdmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteSwuOTUpKSB0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTpzY2FsZSh2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS14LDEuMDUpLHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXksLjk1KSkgdHJhbnNsYXRlWSgwKX01NyV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtcmVib3VuZCwtLjEyNWVtKSk7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLXJlYm91bmQsLS4xMjVlbSkpfTY0JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgZmEtYm91bmNlezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCl9MTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS14LDEuMSksdmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXksLjkpKSB0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTpzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwxLjEpLHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS15LC45KSkgdHJhbnNsYXRlWSgwKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUodmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteCwuOSksdmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteSwxLjEpKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1oZWlnaHQsLS41ZW0pKTt0cmFuc2Zvcm06c2NhbGUodmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteCwuOSksdmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteSwxLjEpKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1oZWlnaHQsLS41ZW0pKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUodmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteCwxLjA1KSx2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS15LC45NSkpIHRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnNjYWxlKHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXgsMS4wNSksdmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteSwuOTUpKSB0cmFuc2xhdGVZKDApfTU3JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1yZWJvdW5kLC0uMTI1ZW0pKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtcmVib3VuZCwtLjEyNWVtKSl9NjQley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgwKX19QC13ZWJraXQta2V5ZnJhbWVzIGZhLWZhZGV7NTAle29wYWNpdHk6dmFyKC0tZmEtZmFkZS1vcGFjaXR5LC40KX19QGtleWZyYW1lcyBmYS1mYWRlezUwJXtvcGFjaXR5OnZhcigtLWZhLWZhZGUtb3BhY2l0eSwuNCl9fUAtd2Via2l0LWtleWZyYW1lcyBmYS1iZWF0LWZhZGV7MCUsdG97b3BhY2l0eTp2YXIoLS1mYS1iZWF0LWZhZGUtb3BhY2l0eSwuNCk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUodmFyKC0tZmEtYmVhdC1mYWRlLXNjYWxlLDEuMTI1KSk7dHJhbnNmb3JtOnNjYWxlKHZhcigtLWZhLWJlYXQtZmFkZS1zY2FsZSwxLjEyNSkpfX1Aa2V5ZnJhbWVzIGZhLWJlYXQtZmFkZXswJSx0b3tvcGFjaXR5OnZhcigtLWZhLWJlYXQtZmFkZS1vcGFjaXR5LC40KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSh2YXIoLS1mYS1iZWF0LWZhZGUtc2NhbGUsMS4xMjUpKTt0cmFuc2Zvcm06c2NhbGUodmFyKC0tZmEtYmVhdC1mYWRlLXNjYWxlLDEuMTI1KSl9fUAtd2Via2l0LWtleWZyYW1lcyBmYS1mbGlwezUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCh2YXIoLS1mYS1mbGlwLXgsMCksdmFyKC0tZmEtZmxpcC15LDEpLHZhcigtLWZhLWZsaXAteiwwKSx2YXIoLS1mYS1mbGlwLWFuZ2xlLC0xODBkZWcpKTt0cmFuc2Zvcm06cm90YXRlM2QodmFyKC0tZmEtZmxpcC14LDApLHZhcigtLWZhLWZsaXAteSwxKSx2YXIoLS1mYS1mbGlwLXosMCksdmFyKC0tZmEtZmxpcC1hbmdsZSwtMTgwZGVnKSl9fUBrZXlmcmFtZXMgZmEtZmxpcHs1MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QodmFyKC0tZmEtZmxpcC14LDApLHZhcigtLWZhLWZsaXAteSwxKSx2YXIoLS1mYS1mbGlwLXosMCksdmFyKC0tZmEtZmxpcC1hbmdsZSwtMTgwZGVnKSk7dHJhbnNmb3JtOnJvdGF0ZTNkKHZhcigtLWZhLWZsaXAteCwwKSx2YXIoLS1mYS1mbGlwLXksMSksdmFyKC0tZmEtZmxpcC16LDApLHZhcigtLWZhLWZsaXAtYW5nbGUsLTE4MGRlZykpfX1ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc2hha2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTVkZWcpfTQley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxNWRlZyl9OCUsMjQley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE4ZGVnKX0xMiUsMjgley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxOGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxOGRlZyl9MTYley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMjJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTIyZGVnKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDIyZGVnKTt0cmFuc2Zvcm06cm90YXRlKDIyZGVnKX0zMiV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMmRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTJkZWcpfTM2JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTJkZWcpfTQwJSx0b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX19QGtleWZyYW1lcyBmYS1zaGFrZXswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTE1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xNWRlZyl9NCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE1ZGVnKX04JSwyNCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xOGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpfTEyJSwyOCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4ZGVnKX0xNiV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0yMmRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMjJkZWcpfTIwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjJkZWcpfTMyJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMmRlZyl9MzYley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMmRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMmRlZyl9NDAlLHRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX1Aa2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LmZhLXJvdGF0ZS05MHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5mYS1yb3RhdGUtMTgwey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uZmEtcm90YXRlLTI3MHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9LmZhLWZsaXAtaG9yaXpvbnRhbHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoLTEpO3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5mYS1mbGlwLXZlcnRpY2Fsey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgtMSk7dHJhbnNmb3JtOnNjYWxlWSgtMSl9LmZhLWZsaXAtYm90aCwuZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWx7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLTEpO3RyYW5zZm9ybTpzY2FsZSgtMSl9LmZhLXJvdGF0ZS1ieXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUodmFyKC0tZmEtcm90YXRlLWFuZ2xlLG5vbmUpKTt0cmFuc2Zvcm06cm90YXRlKHZhcigtLWZhLXJvdGF0ZS1hbmdsZSxub25lKSl9LmZhLXN0YWNre2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MmVtO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyLjVlbX0uZmEtc3RhY2stMXgsLmZhLXN0YWNrLTJ4e2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlO3otaW5kZXg6dmFyKC0tZmEtc3RhY2stei1pbmRleCxhdXRvKX0uZmEtc3RhY2stMXh7bGluZS1oZWlnaHQ6aW5oZXJpdH0uZmEtc3RhY2stMnh7Zm9udC1zaXplOjJlbX0uZmEtaW52ZXJzZXtjb2xvcjp2YXIoLS1mYS1pbnZlcnNlLCNmZmYpfQoKLmZhLTA6YmVmb3Jle2NvbnRlbnQ6IlwzMCJ9LmZhLTE6YmVmb3Jle2NvbnRlbnQ6IlwzMSJ9LmZhLTI6YmVmb3Jle2NvbnRlbnQ6IlwzMiJ9LmZhLTM6YmVmb3Jle2NvbnRlbnQ6IlwzMyJ9LmZhLTQ6YmVmb3Jle2NvbnRlbnQ6IlwzNCJ9LmZhLTU6YmVmb3Jle2NvbnRlbnQ6IlwzNSJ9LmZhLTY6YmVmb3Jle2NvbnRlbnQ6IlwzNiJ9LmZhLTc6YmVmb3Jle2NvbnRlbnQ6IlwzNyJ9LmZhLTg6YmVmb3Jle2NvbnRlbnQ6IlwzOCJ9LmZhLTk6YmVmb3Jle2NvbnRlbnQ6IlwzOSJ9LmZhLWZpbGwtZHJpcDpiZWZvcmV7Y29udGVudDoiXGY1NzYifS5mYS1hcnJvd3MtdG8tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTRiZCJ9LmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSwuZmEtY2lyY2xlLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM4In0uZmEtYXQ6YmVmb3Jle2NvbnRlbnQ6Ilw0MCJ9LmZhLXRyYXNoLWFsdDpiZWZvcmUsLmZhLXRyYXNoLWNhbjpiZWZvcmV7Y29udGVudDoiXGYyZWQifS5mYS10ZXh0LWhlaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzQifS5mYS11c2VyLXRpbWVzOmJlZm9yZSwuZmEtdXNlci14bWFyazpiZWZvcmV7Y29udGVudDoiXGYyMzUifS5mYS1zdGV0aG9zY29wZTpiZWZvcmV7Y29udGVudDoiXGYwZjEifS5mYS1jb21tZW50LWFsdDpiZWZvcmUsLmZhLW1lc3NhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjdhIn0uZmEtaW5mbzpiZWZvcmV7Y29udGVudDoiXGYxMjkifS5mYS1jb21wcmVzcy1hbHQ6YmVmb3JlLC5mYS1kb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGY0MjIifS5mYS1leHBsb3Npb246YmVmb3Jle2NvbnRlbnQ6IlxlNGU5In0uZmEtZmlsZS1hbHQ6YmVmb3JlLC5mYS1maWxlLWxpbmVzOmJlZm9yZSwuZmEtZmlsZS10ZXh0OmJlZm9yZXtjb250ZW50OiJcZjE1YyJ9LmZhLXdhdmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjgzZSJ9LmZhLXJpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNzBiIn0uZmEtYnVpbGRpbmctdW46YmVmb3Jle2NvbnRlbnQ6IlxlNGQ5In0uZmEtZGljZS10aHJlZTpiZWZvcmV7Y29udGVudDoiXGY1MjcifS5mYS1jYWxlbmRhci1hbHQ6YmVmb3JlLC5mYS1jYWxlbmRhci1kYXlzOmJlZm9yZXtjb250ZW50OiJcZjA3MyJ9LmZhLWFuY2hvci1jaXJjbGUtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNGFhIn0uZmEtYnVpbGRpbmctY2lyY2xlLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTRkMSJ9LmZhLXZvbGxleWJhbGwtYmFsbDpiZWZvcmUsLmZhLXZvbGxleWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDVmIn0uZmEtYXJyb3dzLXVwLXRvLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlNGMyIn0uZmEtc29ydC1kZXNjOmJlZm9yZSwuZmEtc29ydC1kb3duOmJlZm9yZXtjb250ZW50OiJcZjBkZCJ9LmZhLWNpcmNsZS1taW51czpiZWZvcmUsLmZhLW1pbnVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTYifS5mYS1kb29yLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmNTJiIn0uZmEtcmlnaHQtZnJvbS1icmFja2V0OmJlZm9yZSwuZmEtc2lnbi1vdXQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjJmNSJ9LmZhLWF0b206YmVmb3Jle2NvbnRlbnQ6IlxmNWQyIn0uZmEtc29hcDpiZWZvcmV7Y29udGVudDoiXGUwNmUifS5mYS1oZWFydC1tdXNpYy1jYW1lcmEtYm9sdDpiZWZvcmUsLmZhLWljb25zOmJlZm9yZXtjb250ZW50OiJcZjg2ZCJ9LmZhLW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSwuZmEtbWljcm9waG9uZS1saW5lcy1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY1MzkifS5mYS1icmlkZ2UtY2lyY2xlLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZTRjOSJ9LmZhLXB1bXAtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGUwNmEifS5mYS1maW5nZXJwcmludDpiZWZvcmV7Y29udGVudDoiXGY1NzcifS5mYS1oYW5kLXBvaW50LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhNCJ9LmZhLW1hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb246YmVmb3JlLC5mYS1zZWFyY2gtbG9jYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNjg5In0uZmEtZm9yd2FyZC1zdGVwOmJlZm9yZSwuZmEtc3RlcC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA1MSJ9LmZhLWZhY2Utc21pbGUtYmVhbTpiZWZvcmUsLmZhLXNtaWxlLWJlYW06YmVmb3Jle2NvbnRlbnQ6IlxmNWI4In0uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFlIn0uZmEtZm9vdGJhbGwtYmFsbDpiZWZvcmUsLmZhLWZvb3RiYWxsOmJlZm9yZXtjb250ZW50OiJcZjQ0ZSJ9LmZhLXNjaG9vbC1jaXJjbGUtZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlNTZjIn0uZmEtY3JvcDpiZWZvcmV7Y29udGVudDoiXGYxMjUifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUsLmZhLWFuZ2xlcy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjEwMyJ9LmZhLXVzZXJzLXJlY3RhbmdsZTpiZWZvcmV7Y29udGVudDoiXGU1OTQifS5mYS1wZW9wbGUtcm9vZjpiZWZvcmV7Y29udGVudDoiXGU1MzcifS5mYS1wZW9wbGUtbGluZTpiZWZvcmV7Y29udGVudDoiXGU1MzQifS5mYS1iZWVyLW11Zy1lbXB0eTpiZWZvcmUsLmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGZjIn0uZmEtZGlhZ3JhbS1wcmVkZWNlc3NvcjpiZWZvcmV7Y29udGVudDoiXGU0NzcifS5mYS1hcnJvdy11cC1sb25nOmJlZm9yZSwuZmEtbG9uZy1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGYxNzYifS5mYS1idXJuOmJlZm9yZSwuZmEtZmlyZS1mbGFtZS1zaW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDZhIn0uZmEtbWFsZTpiZWZvcmUsLmZhLXBlcnNvbjpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTA5In0uZmEtZmlsZS1jc3Y6YmVmb3Jle2NvbnRlbnQ6IlxmNmRkIn0uZmEtbWVub3JhaDpiZWZvcmV7Y29udGVudDoiXGY2NzYifS5mYS10cnVjay1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGU1OGYifS5mYS1yZWNvcmQtdmlueWw6YmVmb3Jle2NvbnRlbnQ6IlxmOGQ5In0uZmEtZmFjZS1ncmluLXN0YXJzOmJlZm9yZSwuZmEtZ3Jpbi1zdGFyczpiZWZvcmV7Y29udGVudDoiXGY1ODcifS5mYS1ib25nOmJlZm9yZXtjb250ZW50OiJcZjU1YyJ9LmZhLXBhc3RhZmFyaWFuaXNtOmJlZm9yZSwuZmEtc3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nOmJlZm9yZXtjb250ZW50OiJcZjY3YiJ9LmZhLWFycm93LWRvd24tdXAtYWNyb3NzLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlNGFmIn0uZmEtc3Bvb246YmVmb3JlLC5mYS11dGVuc2lsLXNwb29uOmJlZm9yZXtjb250ZW50OiJcZjJlNSJ9LmZhLWphci13aGVhdDpiZWZvcmV7Y29udGVudDoiXGU1MTcifS5mYS1lbnZlbG9wZXMtYnVsazpiZWZvcmUsLmZhLW1haWwtYnVsazpiZWZvcmV7Y29udGVudDoiXGY2NzQifS5mYS1maWxlLWNpcmNsZS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGU0ZWIifS5mYS1jaXJjbGUtaDpiZWZvcmUsLmZhLWhvc3BpdGFsLXN5bWJvbDpiZWZvcmV7Y29udGVudDoiXGY0N2UifS5mYS1wYWdlcjpiZWZvcmV7Y29udGVudDoiXGY4MTUifS5mYS1hZGRyZXNzLWJvb2s6YmVmb3JlLC5mYS1jb250YWN0LWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMmI5In0uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmV7Y29udGVudDoiXGYwY2MifS5mYS1rOmJlZm9yZXtjb250ZW50OiJcNGIifS5mYS1sYW5kbWFyay1mbGFnOmJlZm9yZXtjb250ZW50OiJcZTUxYyJ9LmZhLXBlbmNpbC1hbHQ6YmVmb3JlLC5mYS1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzAzIn0uZmEtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDRhIn0uZmEtY2FyZXQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGRhIn0uZmEtY29tbWVudHM6YmVmb3Jle2NvbnRlbnQ6IlxmMDg2In0uZmEtZmlsZS1jbGlwYm9hcmQ6YmVmb3JlLC5mYS1wYXN0ZTpiZWZvcmV7Y29udGVudDoiXGYwZWEifS5mYS1jb2RlLXB1bGwtcmVxdWVzdDpiZWZvcmV7Y29udGVudDoiXGUxM2MifS5mYS1jbGlwYm9hcmQtbGlzdDpiZWZvcmV7Y29udGVudDoiXGY0NmQifS5mYS10cnVjay1sb2FkaW5nOmJlZm9yZSwuZmEtdHJ1Y2stcmFtcC1ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmNGRlIn0uZmEtdXNlci1jaGVjazpiZWZvcmV7Y29udGVudDoiXGY0ZmMifS5mYS12aWFsLXZpcnVzOmJlZm9yZXtjb250ZW50OiJcZTU5NyJ9LmZhLXNoZWV0LXBsYXN0aWM6YmVmb3Jle2NvbnRlbnQ6IlxlNTcxIn0uZmEtYmxvZzpiZWZvcmV7Y29udGVudDoiXGY3ODEifS5mYS11c2VyLW5pbmphOmJlZm9yZXtjb250ZW50OiJcZjUwNCJ9LmZhLXBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlNTM5In0uZmEtc2Nyb2xsLXRvcmFoOmJlZm9yZSwuZmEtdG9yYWg6YmVmb3Jle2NvbnRlbnQ6IlxmNmEwIn0uZmEtYnJvb20tYmFsbDpiZWZvcmUsLmZhLXF1aWRkaXRjaC1icm9vbS1iYWxsOmJlZm9yZSwuZmEtcXVpZGRpdGNoOmJlZm9yZXtjb250ZW50OiJcZjQ1OCJ9LmZhLXRvZ2dsZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMjA0In0uZmEtYXJjaGl2ZTpiZWZvcmUsLmZhLWJveC1hcmNoaXZlOmJlZm9yZXtjb250ZW50OiJcZjE4NyJ9LmZhLXBlcnNvbi1kcm93bmluZzpiZWZvcmV7Y29udGVudDoiXGU1NDUifS5mYS1hcnJvdy1kb3duLTktMTpiZWZvcmUsLmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSwuZmEtc29ydC1udW1lcmljLWRvd24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4NiJ9LmZhLWZhY2UtZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSwuZmEtZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZXtjb250ZW50OiJcZjU4YSJ9LmZhLXNwcmF5LWNhbjpiZWZvcmV7Y29udGVudDoiXGY1YmQifS5mYS10cnVjay1tb25zdGVyOmJlZm9yZXtjb250ZW50OiJcZjYzYiJ9LmZhLXc6YmVmb3Jle2NvbnRlbnQ6Ilw1NyJ9LmZhLWVhcnRoLWFmcmljYTpiZWZvcmUsLmZhLWdsb2JlLWFmcmljYTpiZWZvcmV7Y29udGVudDoiXGY1N2MifS5mYS1yYWluYm93OmJlZm9yZXtjb250ZW50OiJcZjc1YiJ9LmZhLWNpcmNsZS1ub3RjaDpiZWZvcmV7Y29udGVudDoiXGYxY2UifS5mYS10YWJsZXQtYWx0OmJlZm9yZSwuZmEtdGFibGV0LXNjcmVlbi1idXR0b246YmVmb3Jle2NvbnRlbnQ6IlxmM2ZhIn0uZmEtcGF3OmJlZm9yZXtjb250ZW50OiJcZjFiMCJ9LmZhLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjBjMiJ9LmZhLXRyb3dlbC1icmlja3M6YmVmb3Jle2NvbnRlbnQ6IlxlNThhIn0uZmEtZmFjZS1mbHVzaGVkOmJlZm9yZSwuZmEtZmx1c2hlZDpiZWZvcmV7Y29udGVudDoiXGY1NzkifS5mYS1ob3NwaXRhbC11c2VyOmJlZm9yZXtjb250ZW50OiJcZjgwZCJ9LmZhLXRlbnQtYXJyb3ctbGVmdC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU1N2YifS5mYS1nYXZlbDpiZWZvcmUsLmZhLWxlZ2FsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWJpbm9jdWxhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWU1In0uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxMzEifS5mYS1ib3gtdGlzc3VlOmJlZm9yZXtjb250ZW50OiJcZTA1YiJ9LmZhLW1vdG9yY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjFjIn0uZmEtYmVsbC1jb25jaWVyZ2U6YmVmb3JlLC5mYS1jb25jaWVyZ2UtYmVsbDpiZWZvcmV7Y29udGVudDoiXGY1NjIifS5mYS1wZW4tcnVsZXI6YmVmb3JlLC5mYS1wZW5jaWwtcnVsZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWFlIn0uZmEtcGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0OmJlZm9yZSwuZmEtcGVvcGxlLWFycm93czpiZWZvcmV7Y29udGVudDoiXGUwNjgifS5mYS1tYXJzLWFuZC12ZW51cy1idXJzdDpiZWZvcmV7Y29udGVudDoiXGU1MjMifS5mYS1jYXJldC1zcXVhcmUtcmlnaHQ6YmVmb3JlLC5mYS1zcXVhcmUtY2FyZXQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTUyIn0uZmEtY3V0OmJlZm9yZSwuZmEtc2Npc3NvcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGM0In0uZmEtc3VuLXBsYW50LXdpbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTdhIn0uZmEtdG9pbGV0cy1wb3J0YWJsZTpiZWZvcmV7Y29udGVudDoiXGU1ODQifS5mYS1ob2NrZXktcHVjazpiZWZvcmV7Y29udGVudDoiXGY0NTMifS5mYS10YWJsZTpiZWZvcmV7Y29udGVudDoiXGYwY2UifS5mYS1tYWduaWZ5aW5nLWdsYXNzLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTUyMSJ9LmZhLWRpZ2l0YWwtdGFjaG9ncmFwaDpiZWZvcmUsLmZhLXRhY2hvZ3JhcGgtZGlnaXRhbDpiZWZvcmV7Y29udGVudDoiXGY1NjYifS5mYS11c2Vycy1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNzMifS5mYS1jbG92ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTM5In0uZmEtbWFpbC1yZXBseTpiZWZvcmUsLmZhLXJlcGx5OmJlZm9yZXtjb250ZW50OiJcZjNlNSJ9LmZhLXN0YXItYW5kLWNyZXNjZW50OmJlZm9yZXtjb250ZW50OiJcZjY5OSJ9LmZhLWhvdXNlLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxlNTBjIn0uZmEtbWludXMtc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjE0NiJ9LmZhLWhlbGljb3B0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTMzIn0uZmEtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGYxNGUifS5mYS1jYXJldC1zcXVhcmUtZG93bjpiZWZvcmUsLmZhLXNxdWFyZS1jYXJldC1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE1MCJ9LmZhLWZpbGUtY2lyY2xlLXF1ZXN0aW9uOmJlZm9yZXtjb250ZW50OiJcZTRlZiJ9LmZhLWxhcHRvcC1jb2RlOmJlZm9yZXtjb250ZW50OiJcZjVmYyJ9LmZhLXN3YXRjaGJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmNWMzIn0uZmEtcHJlc2NyaXB0aW9uLWJvdHRsZTpiZWZvcmV7Y29udGVudDoiXGY0ODUifS5mYS1iYXJzOmJlZm9yZSwuZmEtbmF2aWNvbjpiZWZvcmV7Y29udGVudDoiXGYwYzkifS5mYS1wZW9wbGUtZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxlNTMzIn0uZmEtaG91cmdsYXNzLTM6YmVmb3JlLC5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZXtjb250ZW50OiJcZjI1MyJ9LmZhLWhlYXJ0LWJyb2tlbjpiZWZvcmUsLmZhLWhlYXJ0LWNyYWNrOmJlZm9yZXtjb250ZW50OiJcZjdhOSJ9LmZhLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDpiZWZvcmUsLmZhLXNxdWFyZS11cC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYzNjAifS5mYS1mYWNlLWtpc3MtYmVhbTpiZWZvcmUsLmZhLWtpc3MtYmVhbTpiZWZvcmV7Y29udGVudDoiXGY1OTcifS5mYS1maWxtOmJlZm9yZXtjb250ZW50OiJcZjAwOCJ9LmZhLXJ1bGVyLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ3In0uZmEtcGVvcGxlLXJvYmJlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlNTM2In0uZmEtbGlnaHRidWxiOmJlZm9yZXtjb250ZW50OiJcZjBlYiJ9LmZhLWNhcmV0LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ5In0uZmEtY2lyY2xlLWV4Y2xhbWF0aW9uOmJlZm9yZSwuZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA2YSJ9LmZhLXNjaG9vbC1jaXJjbGUteG1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlNTZkIn0uZmEtYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0OmJlZm9yZSwuZmEtc2lnbi1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDhiIn0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUsLmZhLWNpcmNsZS1jaGV2cm9uLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTNhIn0uZmEtdW5sb2NrLWFsdDpiZWZvcmUsLmZhLXVubG9jay1rZXlob2xlOmJlZm9yZXtjb250ZW50OiJcZjEzZSJ9LmZhLWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3Jle2NvbnRlbnQ6IlxmNzQwIn0uZmEtaGVhZHBob25lcy1hbHQ6YmVmb3JlLC5mYS1oZWFkcGhvbmVzLXNpbXBsZTpiZWZvcmV7Y29udGVudDoiXGY1OGYifS5mYS1zaXRlbWFwOmJlZm9yZXtjb250ZW50OiJcZjBlOCJ9LmZhLWNpcmNsZS1kb2xsYXItdG8tc2xvdDpiZWZvcmUsLmZhLWRvbmF0ZTpiZWZvcmV7Y29udGVudDoiXGY0YjkifS5mYS1tZW1vcnk6YmVmb3Jle2NvbnRlbnQ6IlxmNTM4In0uZmEtcm9hZC1zcGlrZXM6YmVmb3Jle2NvbnRlbnQ6IlxlNTY4In0uZmEtZmlyZS1idXJuZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNGYxIn0uZmEtZmxhZzpiZWZvcmV7Y29udGVudDoiXGYwMjQifS5mYS1oYW51a2lhaDpiZWZvcmV7Y29udGVudDoiXGY2ZTYifS5mYS1mZWF0aGVyOmJlZm9yZXtjb250ZW50OiJcZjUyZCJ9LmZhLXZvbHVtZS1kb3duOmJlZm9yZSwuZmEtdm9sdW1lLWxvdzpiZWZvcmV7Y29udGVudDoiXGYwMjcifS5mYS1jb21tZW50LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjRiMyJ9LmZhLWNsb3VkLXN1bi1yYWluOmJlZm9yZXtjb250ZW50OiJcZjc0MyJ9LmZhLWNvbXByZXNzOmJlZm9yZXtjb250ZW50OiJcZjA2NiJ9LmZhLXdoZWF0LWFsdDpiZWZvcmUsLmZhLXdoZWF0LWF3bjpiZWZvcmV7Y29udGVudDoiXGUyY2QifS5mYS1hbmtoOmJlZm9yZXtjb250ZW50OiJcZjY0NCJ9LmZhLWhhbmRzLWhvbGRpbmctY2hpbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlNGZhIn0uZmEtYXN0ZXJpc2s6YmVmb3Jle2NvbnRlbnQ6IlwyYSJ9LmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYxNGEifS5mYS1wZXNldGEtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUyMjEifS5mYS1oZWFkZXI6YmVmb3JlLC5mYS1oZWFkaW5nOmJlZm9yZXtjb250ZW50OiJcZjFkYyJ9LmZhLWdob3N0OmJlZm9yZXtjb250ZW50OiJcZjZlMiJ9LmZhLWxpc3Qtc3F1YXJlczpiZWZvcmUsLmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtcGhvbmUtc3F1YXJlLWFsdDpiZWZvcmUsLmZhLXNxdWFyZS1waG9uZS1mbGlwOmJlZm9yZXtjb250ZW50OiJcZjg3YiJ9LmZhLWNhcnQtcGx1czpiZWZvcmV7Y29udGVudDoiXGYyMTcifS5mYS1nYW1lcGFkOmJlZm9yZXtjb250ZW50OiJcZjExYiJ9LmZhLWNpcmNsZS1kb3Q6YmVmb3JlLC5mYS1kb3QtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE5MiJ9LmZhLWRpenp5OmJlZm9yZSwuZmEtZmFjZS1kaXp6eTpiZWZvcmV7Y29udGVudDoiXGY1NjcifS5mYS1lZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmN2ZiIn0uZmEtaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlNTEzIn0uZmEtY2FtcGdyb3VuZDpiZWZvcmV7Y29udGVudDoiXGY2YmIifS5mYS1mb2xkZXItcGx1czpiZWZvcmV7Y29udGVudDoiXGY2NWUifS5mYS1mdXRib2wtYmFsbDpiZWZvcmUsLmZhLWZ1dGJvbDpiZWZvcmUsLmZhLXNvY2Nlci1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjFlMyJ9LmZhLXBhaW50LWJydXNoOmJlZm9yZSwuZmEtcGFpbnRicnVzaDpiZWZvcmV7Y29udGVudDoiXGYxZmMifS5mYS1sb2NrOmJlZm9yZXtjb250ZW50OiJcZjAyMyJ9LmZhLWdhcy1wdW1wOmJlZm9yZXtjb250ZW50OiJcZjUyZiJ9LmZhLWhvdC10dWItcGVyc29uOmJlZm9yZSwuZmEtaG90LXR1YjpiZWZvcmV7Y29udGVudDoiXGY1OTMifS5mYS1tYXAtbG9jYXRpb246YmVmb3JlLC5mYS1tYXAtbWFya2VkOmJlZm9yZXtjb250ZW50OiJcZjU5ZiJ9LmZhLWhvdXNlLWZsb29kLXdhdGVyOmJlZm9yZXtjb250ZW50OiJcZTUwZSJ9LmZhLXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMWJiIn0uZmEtYnJpZGdlLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNGNjIn0uZmEtc2Fjay1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmODFkIn0uZmEtZWRpdDpiZWZvcmUsLmZhLXBlbi10by1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ0In0uZmEtY2FyLXNpZGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWU0In0uZmEtc2hhcmUtYWx0OmJlZm9yZSwuZmEtc2hhcmUtbm9kZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMWUwIn0uZmEtaGVhcnQtY2lyY2xlLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZTRmZiJ9LmZhLWhvdXJnbGFzcy0yOmJlZm9yZSwuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMjUyIn0uZmEtbWljcm9zY29wZTpiZWZvcmV7Y29udGVudDoiXGY2MTAifS5mYS1zaW5rOmJlZm9yZXtjb250ZW50OiJcZTA2ZCJ9LmZhLWJhZy1zaG9wcGluZzpiZWZvcmUsLmZhLXNob3BwaW5nLWJhZzpiZWZvcmV7Y29udGVudDoiXGYyOTAifS5mYS1hcnJvdy1kb3duLXotYTpiZWZvcmUsLmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUsLmZhLXNvcnQtYWxwaGEtZG93bi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODgxIn0uZmEtbWl0dGVuOmJlZm9yZXtjb250ZW50OiJcZjdiNSJ9LmZhLXBlcnNvbi1yYXlzOmJlZm9yZXtjb250ZW50OiJcZTU0ZCJ9LmZhLXVzZXJzOmJlZm9yZXtjb250ZW50OiJcZjBjMCJ9LmZhLWV5ZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYwNzAifS5mYS1mbGFzay12aWFsOmJlZm9yZXtjb250ZW50OiJcZTRmMyJ9LmZhLWhhbmQtcGFwZXI6YmVmb3JlLC5mYS1oYW5kOmJlZm9yZXtjb250ZW50OiJcZjI1NiJ9LmZhLW9tOmJlZm9yZXtjb250ZW50OiJcZjY3OSJ9LmZhLXdvcm06YmVmb3Jle2NvbnRlbnQ6IlxlNTk5In0uZmEtaG91c2UtY2lyY2xlLXhtYXJrOmJlZm9yZXtjb250ZW50OiJcZTUwYiJ9LmZhLXBsdWc6YmVmb3Jle2NvbnRlbnQ6IlxmMWU2In0uZmEtY2hldnJvbi11cDpiZWZvcmV7Y29udGVudDoiXGYwNzcifS5mYS1oYW5kLXNwb2NrOmJlZm9yZXtjb250ZW50OiJcZjI1OSJ9LmZhLXN0b3B3YXRjaDpiZWZvcmV7Y29udGVudDoiXGYyZjIifS5mYS1mYWNlLWtpc3M6YmVmb3JlLC5mYS1raXNzOmJlZm9yZXtjb250ZW50OiJcZjU5NiJ9LmZhLWJyaWRnZS1jaXJjbGUteG1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlNGNiIn0uZmEtZmFjZS1ncmluLXRvbmd1ZTpiZWZvcmUsLmZhLWdyaW4tdG9uZ3VlOmJlZm9yZXtjb250ZW50OiJcZjU4OSJ9LmZhLWNoZXNzLWJpc2hvcDpiZWZvcmV7Y29udGVudDoiXGY0M2EifS5mYS1mYWNlLWdyaW4td2luazpiZWZvcmUsLmZhLWdyaW4td2luazpiZWZvcmV7Y29udGVudDoiXGY1OGMifS5mYS1kZWFmOmJlZm9yZSwuZmEtZGVhZm5lc3M6YmVmb3JlLC5mYS1lYXItZGVhZjpiZWZvcmUsLmZhLWhhcmQtb2YtaGVhcmluZzpiZWZvcmV7Y29udGVudDoiXGYyYTQifS5mYS1yb2FkLWNpcmNsZS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGU1NjQifS5mYS1kaWNlLWZpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmNTIzIn0uZmEtcnNzLXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1yc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTQzIn0uZmEtbGFuZC1taW5lLW9uOmJlZm9yZXtjb250ZW50OiJcZTUxYiJ9LmZhLWktY3Vyc29yOmJlZm9yZXtjb250ZW50OiJcZjI0NiJ9LmZhLXN0YW1wOmJlZm9yZXtjb250ZW50OiJcZjViZiJ9LmZhLXN0YWlyczpiZWZvcmV7Y29udGVudDoiXGUyODkifS5mYS1pOmJlZm9yZXtjb250ZW50OiJcNDkifS5mYS1ocnl2bmlhLXNpZ246YmVmb3JlLC5mYS1ocnl2bmlhOmJlZm9yZXtjb250ZW50OiJcZjZmMiJ9LmZhLXBpbGxzOmJlZm9yZXtjb250ZW50OiJcZjQ4NCJ9LmZhLWZhY2UtZ3Jpbi13aWRlOmJlZm9yZSwuZmEtZ3Jpbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTgxIn0uZmEtdG9vdGg6YmVmb3Jle2NvbnRlbnQ6IlxmNWM5In0uZmEtdjpiZWZvcmV7Y29udGVudDoiXDU2In0uZmEtYmFuZ2xhZGVzaGktdGFrYS1zaWduOmJlZm9yZXtjb250ZW50OiJcZTJlNiJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjA2In0uZmEtcm9kLWFzY2xlcGl1czpiZWZvcmUsLmZhLXJvZC1zbmFrZTpiZWZvcmUsLmZhLXN0YWZmLWFlc2N1bGFwaXVzOmJlZm9yZSwuZmEtc3RhZmYtc25ha2U6YmVmb3Jle2NvbnRlbnQ6IlxlNTc5In0uZmEtaGVhZC1zaWRlLWNvdWdoLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA2MiJ9LmZhLWFtYnVsYW5jZTpiZWZvcmUsLmZhLXRydWNrLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGY5In0uZmEtd2hlYXQtYXduLWNpcmNsZS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGU1OTgifS5mYS1zbm93bWFuOmJlZm9yZXtjb250ZW50OiJcZjdkMCJ9LmZhLW1vcnRhci1wZXN0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWE3In0uZmEtcm9hZC1iYXJyaWVyOmJlZm9yZXtjb250ZW50OiJcZTU2MiJ9LmZhLXNjaG9vbDpiZWZvcmV7Y29udGVudDoiXGY1NDkifS5mYS1pZ2xvbzpiZWZvcmV7Y29udGVudDoiXGY3YWUifS5mYS1qb2ludDpiZWZvcmV7Y29udGVudDoiXGY1OTUifS5mYS1hbmdsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMDUifS5mYS1ob3JzZTpiZWZvcmV7Y29udGVudDoiXGY2ZjAifS5mYS1xOmJlZm9yZXtjb250ZW50OiJcNTEifS5mYS1nOmJlZm9yZXtjb250ZW50OiJcNDcifS5mYS1ub3Rlcy1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjQ4MSJ9LmZhLXRlbXBlcmF0dXJlLTI6YmVmb3JlLC5mYS10ZW1wZXJhdHVyZS1oYWxmOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItMjpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMmM5In0uZmEtZG9uZy1zaWduOmJlZm9yZXtjb250ZW50OiJcZTE2OSJ9LmZhLWNhcHN1bGVzOmJlZm9yZXtjb250ZW50OiJcZjQ2YiJ9LmZhLXBvby1ib2x0OmJlZm9yZSwuZmEtcG9vLXN0b3JtOmJlZm9yZXtjb250ZW50OiJcZjc1YSJ9LmZhLWZhY2UtZnJvd24tb3BlbjpiZWZvcmUsLmZhLWZyb3duLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmNTdhIn0uZmEtaGFuZC1wb2ludC11cDpiZWZvcmV7Y29udGVudDoiXGYwYTYifS5mYS1tb25leS1iaWxsOmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLWJvb2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZjAyZSJ9LmZhLWFsaWduLWp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMDM5In0uZmEtdW1icmVsbGEtYmVhY2g6YmVmb3Jle2NvbnRlbnQ6IlxmNWNhIn0uZmEtaGVsbWV0LXVuOmJlZm9yZXtjb250ZW50OiJcZTUwMyJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9LmZhLWJhY29uOmJlZm9yZXtjb250ZW50OiJcZjdlNSJ9LmZhLWhhbmQtcG9pbnQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYTcifS5mYS1hcnJvdy11cC1mcm9tLWJyYWNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDlhIn0uZmEtZm9sZGVyLWJsYW5rOmJlZm9yZSwuZmEtZm9sZGVyOmJlZm9yZXtjb250ZW50OiJcZjA3YiJ9LmZhLWZpbGUtbWVkaWNhbC1hbHQ6YmVmb3JlLC5mYS1maWxlLXdhdmVmb3JtOmJlZm9yZXtjb250ZW50OiJcZjQ3OCJ9LmZhLXJhZGlhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY3YjkifS5mYS1jaGFydC1zaW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNDczIn0uZmEtbWFycy1zdHJva2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjI5In0uZmEtdmlhbDpiZWZvcmV7Y29udGVudDoiXGY0OTIifS5mYS1kYXNoYm9hcmQ6YmVmb3JlLC5mYS1nYXVnZS1tZWQ6YmVmb3JlLC5mYS1nYXVnZTpiZWZvcmUsLmZhLXRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNjI0In0uZmEtbWFnaWMtd2FuZC1zcGFya2xlczpiZWZvcmUsLmZhLXdhbmQtbWFnaWMtc3BhcmtsZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMmNhIn0uZmEtZTpiZWZvcmV7Y29udGVudDoiXDQ1In0uZmEtcGVuLWFsdDpiZWZvcmUsLmZhLXBlbi1jbGlwOmJlZm9yZXtjb250ZW50OiJcZjMwNSJ9LmZhLWJyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlNGNhIn0uZmEtdXNlcjpiZWZvcmV7Y29udGVudDoiXGYwMDcifS5mYS1zY2hvb2wtY2lyY2xlLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZTU2YiJ9LmZhLWR1bXBzdGVyOmJlZm9yZXtjb250ZW50OiJcZjc5MyJ9LmZhLXNodXR0bGUtdmFuOmJlZm9yZSwuZmEtdmFuLXNodXR0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWI2In0uZmEtYnVpbGRpbmctdXNlcjpiZWZvcmV7Y29udGVudDoiXGU0ZGEifS5mYS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUsLmZhLXNxdWFyZS1jYXJldC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MSJ9LmZhLWhpZ2hsaWdodGVyOmJlZm9yZXtjb250ZW50OiJcZjU5MSJ9LmZhLWtleTpiZWZvcmV7Y29udGVudDoiXGYwODQifS5mYS1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGYwYTEifS5mYS1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGYwYWMifS5mYS1zeW5hZ29ndWU6YmVmb3Jle2NvbnRlbnQ6IlxmNjliIn0uZmEtcGVyc29uLWhhbGYtZHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxlNTQ4In0uZmEtcm9hZC1icmlkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlNTYzIn0uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTI0In0uZmEtYzpiZWZvcmV7Y29udGVudDoiXDQzIn0uZmEtdGFibGV0LWJ1dHRvbjpiZWZvcmV7Y29udGVudDoiXGYxMGEifS5mYS1idWlsZGluZy1sb2NrOmJlZm9yZXtjb250ZW50OiJcZTRkNiJ9LmZhLXBpenphLXNsaWNlOmJlZm9yZXtjb250ZW50OiJcZjgxOCJ9LmZhLW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmV7Y29udGVudDoiXGY1M2EifS5mYS1hcmVhLWNoYXJ0OmJlZm9yZSwuZmEtY2hhcnQtYXJlYTpiZWZvcmV7Y29udGVudDoiXGYxZmUifS5mYS1ob3VzZS1mbGFnOmJlZm9yZXtjb250ZW50OiJcZTUwZCJ9LmZhLXBlcnNvbi1jaXJjbGUtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlNTQwIn0uZmEtYmFuOmJlZm9yZSwuZmEtY2FuY2VsOmJlZm9yZXtjb250ZW50OiJcZjA1ZSJ9LmZhLWNhbWVyYS1yb3RhdGU6YmVmb3Jle2NvbnRlbnQ6IlxlMGQ4In0uZmEtYWlyLWZyZXNoZW5lcjpiZWZvcmUsLmZhLXNwcmF5LWNhbi1zcGFya2xlczpiZWZvcmV7Y29udGVudDoiXGY1ZDAifS5mYS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjAwNSJ9LmZhLXJlcGVhdDpiZWZvcmV7Y29udGVudDoiXGYzNjMifS5mYS1jcm9zczpiZWZvcmV7Y29udGVudDoiXGY2NTQifS5mYS1ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmNDY2In0uZmEtdmVudXMtbWFyczpiZWZvcmV7Y29udGVudDoiXGYyMjgifS5mYS1hcnJvdy1wb2ludGVyOmJlZm9yZSwuZmEtbW91c2UtcG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDUifS5mYS1leHBhbmQtYXJyb3dzLWFsdDpiZWZvcmUsLmZhLW1heGltaXplOmJlZm9yZXtjb250ZW50OiJcZjMxZSJ9LmZhLWNoYXJnaW5nLXN0YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNWU3In0uZmEtc2hhcGVzOmJlZm9yZSwuZmEtdHJpYW5nbGUtY2lyY2xlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGY2MWYifS5mYS1yYW5kb206YmVmb3JlLC5mYS1zaHVmZmxlOmJlZm9yZXtjb250ZW50OiJcZjA3NCJ9LmZhLXBlcnNvbi1ydW5uaW5nOmJlZm9yZSwuZmEtcnVubmluZzpiZWZvcmV7Y29udGVudDoiXGY3MGMifS5mYS1tb2JpbGUtcmV0cm86YmVmb3Jle2NvbnRlbnQ6IlxlNTI3In0uZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGY3YTUifS5mYS1zcGlkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzE3In0uZmEtaGFuZHMtYm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNGY5In0uZmEtZmlsZS1pbnZvaWNlLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY1NzEifS5mYS1wbGFuZS1jaXJjbGUtZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlNTU2In0uZmEteC1yYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDk3In0uZmEtc3BlbGwtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmODkxIn0uZmEtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNzE1In0uZmEtY29tcHV0ZXItbW91c2U6YmVmb3JlLC5mYS1tb3VzZTpiZWZvcmV7Y29udGVudDoiXGY4Y2MifS5mYS1hcnJvdy1yaWdodC10by1icmFja2V0OmJlZm9yZSwuZmEtc2lnbi1pbjpiZWZvcmV7Y29udGVudDoiXGYwOTAifS5mYS1zaG9wLXNsYXNoOmJlZm9yZSwuZmEtc3RvcmUtYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA3MCJ9LmZhLXNlcnZlcjpiZWZvcmV7Y29udGVudDoiXGYyMzMifS5mYS12aXJ1cy1jb3ZpZC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGU0YTkifS5mYS1zaG9wLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNGE1In0uZmEtaG91cmdsYXNzLTE6YmVmb3JlLC5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjUxIn0uZmEtYmxlbmRlci1waG9uZTpiZWZvcmV7Y29udGVudDoiXGY2YjYifS5mYS1idWlsZGluZy13aGVhdDpiZWZvcmV7Y29udGVudDoiXGU0ZGIifS5mYS1wZXJzb24tYnJlYXN0ZmVlZGluZzpiZWZvcmV7Y29udGVudDoiXGU1M2EifS5mYS1yaWdodC10by1icmFja2V0OmJlZm9yZSwuZmEtc2lnbi1pbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmY2In0uZmEtdmVudXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjIxIn0uZmEtcGFzc3BvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWFiIn0uZmEtaGVhcnQtcHVsc2U6YmVmb3JlLC5mYS1oZWFydGJlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFlIn0uZmEtcGVvcGxlLWNhcnJ5LWJveDpiZWZvcmUsLmZhLXBlb3BsZS1jYXJyeTpiZWZvcmV7Y29udGVudDoiXGY0Y2UifS5mYS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZXtjb250ZW50OiJcZjc2OSJ9LmZhLW1pY3JvY2hpcDpiZWZvcmV7Y29udGVudDoiXGYyZGIifS5mYS1jcm93bjpiZWZvcmV7Y29udGVudDoiXGY1MjEifS5mYS13ZWlnaHQtaGFuZ2luZzpiZWZvcmV7Y29udGVudDoiXGY1Y2QifS5mYS14bWFya3MtbGluZXM6YmVmb3Jle2NvbnRlbnQ6IlxlNTlhIn0uZmEtZmlsZS1wcmVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNTcyIn0uZmEtd2VpZ2h0LXNjYWxlOmJlZm9yZSwuZmEtd2VpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjQ5NiJ9LmZhLXVzZXItZnJpZW5kczpiZWZvcmUsLmZhLXVzZXItZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxmNTAwIn0uZmEtYXJyb3ctdXAtYS16OmJlZm9yZSwuZmEtc29ydC1hbHBoYS11cDpiZWZvcmV7Y29udGVudDoiXGYxNWUifS5mYS1jaGVzcy1rbmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDQxIn0uZmEtZmFjZS1sYXVnaC1zcXVpbnQ6YmVmb3JlLC5mYS1sYXVnaC1zcXVpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTliIn0uZmEtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDoiXGYxOTMifS5mYS1hcnJvdy1jaXJjbGUtdXA6YmVmb3JlLC5mYS1jaXJjbGUtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGFhIn0uZmEtdG9nZ2xlLW9uOmJlZm9yZXtjb250ZW50OiJcZjIwNSJ9LmZhLXBlcnNvbi13YWxraW5nOmJlZm9yZSwuZmEtd2Fsa2luZzpiZWZvcmV7Y29udGVudDoiXGY1NTQifS5mYS1sOmJlZm9yZXtjb250ZW50OiJcNGMifS5mYS1maXJlOmJlZm9yZXtjb250ZW50OiJcZjA2ZCJ9LmZhLWJlZC1wdWxzZTpiZWZvcmUsLmZhLXByb2NlZHVyZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNDg3In0uZmEtc2h1dHRsZS1zcGFjZTpiZWZvcmUsLmZhLXNwYWNlLXNodXR0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk3In0uZmEtZmFjZS1sYXVnaDpiZWZvcmUsLmZhLWxhdWdoOmJlZm9yZXtjb250ZW50OiJcZjU5OSJ9LmZhLWZvbGRlci1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjA3YyJ9LmZhLWhlYXJ0LWNpcmNsZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZTUwMCJ9LmZhLWNvZGUtZm9yazpiZWZvcmV7Y29udGVudDoiXGUxM2IifS5mYS1jaXR5OmJlZm9yZXtjb250ZW50OiJcZjY0ZiJ9LmZhLW1pY3JvcGhvbmUtYWx0OmJlZm9yZSwuZmEtbWljcm9waG9uZS1saW5lczpiZWZvcmV7Y29udGVudDoiXGYzYzkifS5mYS1wZXBwZXItaG90OmJlZm9yZXtjb250ZW50OiJcZjgxNiJ9LmZhLXVubG9jazpiZWZvcmV7Y29udGVudDoiXGYwOWMifS5mYS1jb2xvbi1zaWduOmJlZm9yZXtjb250ZW50OiJcZTE0MCJ9LmZhLWhlYWRzZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTkwIn0uZmEtc3RvcmUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDcxIn0uZmEtcm9hZC1jaXJjbGUteG1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlNTY2In0uZmEtdXNlci1taW51czpiZWZvcmV7Y29udGVudDoiXGY1MDMifS5mYS1tYXJzLXN0cm9rZS11cDpiZWZvcmUsLmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMjJhIn0uZmEtY2hhbXBhZ25lLWdsYXNzZXM6YmVmb3JlLC5mYS1nbGFzcy1jaGVlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmNzlmIn0uZmEtY2xpcGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjMyOCJ9LmZhLWhvdXNlLWNpcmNsZS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGU1MGEifS5mYS1maWxlLWFycm93LXVwOmJlZm9yZSwuZmEtZmlsZS11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTc0In0uZmEtd2lmaS0zOmJlZm9yZSwuZmEtd2lmaS1zdHJvbmc6YmVmb3JlLC5mYS13aWZpOmJlZm9yZXtjb250ZW50OiJcZjFlYiJ9LmZhLWJhdGg6YmVmb3JlLC5mYS1iYXRodHViOmJlZm9yZXtjb250ZW50OiJcZjJjZCJ9LmZhLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDoiXGYwY2QifS5mYS11c2VyLWVkaXQ6YmVmb3JlLC5mYS11c2VyLXBlbjpiZWZvcmV7Y29udGVudDoiXGY0ZmYifS5mYS1zaWduYXR1cmU6YmVmb3Jle2NvbnRlbnQ6IlxmNWI3In0uZmEtc3Ryb29wd2FmZWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTUxIn0uZmEtYm9sZDpiZWZvcmV7Y29udGVudDoiXGYwMzIifS5mYS1hbmNob3ItbG9jazpiZWZvcmV7Y29udGVudDoiXGU0YWQifS5mYS1idWlsZGluZy1uZ286YmVmb3Jle2NvbnRlbnQ6IlxlNGQ3In0uZmEtbWFuYXQtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUxZDUifS5mYS1ub3QtZXF1YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTNlIn0uZmEtYm9yZGVyLXN0eWxlOmJlZm9yZSwuZmEtYm9yZGVyLXRvcC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjg1MyJ9LmZhLW1hcC1sb2NhdGlvbi1kb3Q6YmVmb3JlLC5mYS1tYXAtbWFya2VkLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1YTAifS5mYS1qZWRpOmJlZm9yZXtjb250ZW50OiJcZjY2OSJ9LmZhLXBvbGw6YmVmb3JlLC5mYS1zcXVhcmUtcG9sbC12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGY2ODEifS5mYS1tdWctaG90OmJlZm9yZXtjb250ZW50OiJcZjdiNiJ9LmZhLWJhdHRlcnktY2FyOmJlZm9yZSwuZmEtY2FyLWJhdHRlcnk6YmVmb3Jle2NvbnRlbnQ6IlxmNWRmIn0uZmEtZ2lmdDpiZWZvcmV7Y29udGVudDoiXGYwNmIifS5mYS1kaWNlLXR3bzpiZWZvcmV7Y29udGVudDoiXGY1MjgifS5mYS1jaGVzcy1xdWVlbjpiZWZvcmV7Y29udGVudDoiXGY0NDUifS5mYS1nbGFzc2VzOmJlZm9yZXtjb250ZW50OiJcZjUzMCJ9LmZhLWNoZXNzLWJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjQzYyJ9LmZhLWJ1aWxkaW5nLWNpcmNsZS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGU0ZDIifS5mYS1wZXJzb24tY2hhbGtib2FyZDpiZWZvcmV7Y29udGVudDoiXGU1M2QifS5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZSwuZmEtbWFycy1zdHJva2UtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjJiIn0uZmEtaGFuZC1iYWNrLWZpc3Q6YmVmb3JlLC5mYS1oYW5kLXJvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjU1In0uZmEtY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSwuZmEtc3F1YXJlLWNhcmV0LXVwOmJlZm9yZXtjb250ZW50OiJcZjE1MSJ9LmZhLWNsb3VkLXNob3dlcnMtd2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNGU0In0uZmEtYmFyLWNoYXJ0OmJlZm9yZSwuZmEtY2hhcnQtYmFyOmJlZm9yZXtjb250ZW50OiJcZjA4MCJ9LmZhLWhhbmRzLWJ1YmJsZXM6YmVmb3JlLC5mYS1oYW5kcy13YXNoOmJlZm9yZXtjb250ZW50OiJcZTA1ZSJ9LmZhLWxlc3MtdGhhbi1lcXVhbDpiZWZvcmV7Y29udGVudDoiXGY1MzcifS5mYS10cmFpbjpiZWZvcmV7Y29udGVudDoiXGYyMzgifS5mYS1leWUtbG93LXZpc2lvbjpiZWZvcmUsLmZhLWxvdy12aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmMmE4In0uZmEtY3JvdzpiZWZvcmV7Y29udGVudDoiXGY1MjAifS5mYS1zYWlsYm9hdDpiZWZvcmV7Y29udGVudDoiXGU0NDUifS5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmV7Y29udGVudDoiXGYyZDIifS5mYS1wbHVzLXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjBmZSJ9LmZhLXRvcmlpLWdhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNmExIn0uZmEtZnJvZzpiZWZvcmV7Y29udGVudDoiXGY1MmUifS5mYS1idWNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNGNmIn0uZmEtaW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtbWljcm9waG9uZTpiZWZvcmV7Y29udGVudDoiXGYxMzAifS5mYS1jb3c6YmVmb3Jle2NvbnRlbnQ6IlxmNmM4In0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ4In0uZmEtc2NyZXdkcml2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTRhIn0uZmEtZm9sZGVyLWNsb3NlZDpiZWZvcmV7Y29udGVudDoiXGUxODUifS5mYS1ob3VzZS10c3VuYW1pOmJlZm9yZXtjb250ZW50OiJcZTUxNSJ9LmZhLXNxdWFyZS1uZmk6YmVmb3Jle2NvbnRlbnQ6IlxlNTc2In0uZmEtYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNGI1In0uZmEtZ2xhc3MtbWFydGluaS1hbHQ6YmVmb3JlLC5mYS1tYXJ0aW5pLWdsYXNzOmJlZm9yZXtjb250ZW50OiJcZjU3YiJ9LmZhLXJvdGF0ZS1iYWNrOmJlZm9yZSwuZmEtcm90YXRlLWJhY2t3YXJkOmJlZm9yZSwuZmEtcm90YXRlLWxlZnQ6YmVmb3JlLC5mYS11bmRvLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZWEifS5mYS1jb2x1bW5zOmJlZm9yZSwuZmEtdGFibGUtY29sdW1uczpiZWZvcmV7Y29udGVudDoiXGYwZGIifS5mYS1sZW1vbjpiZWZvcmV7Y29udGVudDoiXGYwOTQifS5mYS1oZWFkLXNpZGUtbWFzazpiZWZvcmV7Y29udGVudDoiXGUwNjMifS5mYS1oYW5kc2hha2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmI1In0uZmEtZ2VtOmJlZm9yZXtjb250ZW50OiJcZjNhNSJ9LmZhLWRvbGx5LWJveDpiZWZvcmUsLmZhLWRvbGx5OmJlZm9yZXtjb250ZW50OiJcZjQ3MiJ9LmZhLXNtb2tpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDhkIn0uZmEtY29tcHJlc3MtYXJyb3dzLWFsdDpiZWZvcmUsLmZhLW1pbmltaXplOmJlZm9yZXtjb250ZW50OiJcZjc4YyJ9LmZhLW1vbnVtZW50OmJlZm9yZXtjb250ZW50OiJcZjVhNiJ9LmZhLXNub3dwbG93OmJlZm9yZXtjb250ZW50OiJcZjdkMiJ9LmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUsLmZhLWFuZ2xlcy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMDEifS5mYS1jYW5uYWJpczpiZWZvcmV7Y29udGVudDoiXGY1NWYifS5mYS1jaXJjbGUtcGxheTpiZWZvcmUsLmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9LmZhLXRhYmxldHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDkwIn0uZmEtZXRoZXJuZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzk2In0uZmEtZXVyOmJlZm9yZSwuZmEtZXVyby1zaWduOmJlZm9yZSwuZmEtZXVybzpiZWZvcmV7Y29udGVudDoiXGYxNTMifS5mYS1jaGFpcjpiZWZvcmV7Y29udGVudDoiXGY2YzAifS5mYS1jaGVjay1jaXJjbGU6YmVmb3JlLC5mYS1jaXJjbGUtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDU4In0uZmEtY2lyY2xlLXN0b3A6YmVmb3JlLC5mYS1zdG9wLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGQifS5mYS1jb21wYXNzLWRyYWZ0aW5nOmJlZm9yZSwuZmEtZHJhZnRpbmctY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGY1NjgifS5mYS1wbGF0ZS13aGVhdDpiZWZvcmV7Y29udGVudDoiXGU1NWEifS5mYS1pY2ljbGVzOmJlZm9yZXtjb250ZW50OiJcZjdhZCJ9LmZhLXBlcnNvbi1zaGVsdGVyOmJlZm9yZXtjb250ZW50OiJcZTU0ZiJ9LmZhLW5ldXRlcjpiZWZvcmV7Y29udGVudDoiXGYyMmMifS5mYS1pZC1iYWRnZTpiZWZvcmV7Y29udGVudDoiXGYyYzEifS5mYS1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWExIn0uZmEtZmFjZS1sYXVnaC1iZWFtOmJlZm9yZSwuZmEtbGF1Z2gtYmVhbTpiZWZvcmV7Y29udGVudDoiXGY1OWEifS5mYS1oZWxpY29wdGVyLXN5bWJvbDpiZWZvcmV7Y29udGVudDoiXGU1MDIifS5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZXtjb250ZW50OiJcZjI5YSJ9LmZhLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSwuZmEtY2lyY2xlLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTM5In0uZmEtbGFyaS1zaWduOmJlZm9yZXtjb250ZW50OiJcZTFjOCJ9LmZhLXZvbGNhbm86YmVmb3Jle2NvbnRlbnQ6IlxmNzcwIn0uZmEtcGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTUzIn0uZmEtZ2JwOmJlZm9yZSwuZmEtcG91bmQtc2lnbjpiZWZvcmUsLmZhLXN0ZXJsaW5nLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMTU0In0uZmEtdmlydXNlczpiZWZvcmV7Y29udGVudDoiXGUwNzYifS5mYS1zcXVhcmUtcGVyc29uLWNvbmZpbmVkOmJlZm9yZXtjb250ZW50OiJcZTU3NyJ9LmZhLXVzZXItdGllOmJlZm9yZXtjb250ZW50OiJcZjUwOCJ9LmZhLWFycm93LWRvd24tbG9uZzpiZWZvcmUsLmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNzUifS5mYS10ZW50LWFycm93LWRvd24tdG8tbGluZTpiZWZvcmV7Y29udGVudDoiXGU1N2UifS5mYS1jZXJ0aWZpY2F0ZTpiZWZvcmV7Y29udGVudDoiXGYwYTMifS5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsLmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5mYS1zdWl0Y2FzZTpiZWZvcmV7Y29udGVudDoiXGYwZjIifS5mYS1wZXJzb24tc2thdGluZzpiZWZvcmUsLmZhLXNrYXRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmN2M1In0uZmEtZmlsdGVyLWNpcmNsZS1kb2xsYXI6YmVmb3JlLC5mYS1mdW5uZWwtZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjY2MiJ9LmZhLWNhbWVyYS1yZXRybzpiZWZvcmV7Y29udGVudDoiXGYwODMifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUsLmZhLWNpcmNsZS1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjBhYiJ9LmZhLWFycm93LXJpZ2h0LXRvLWZpbGU6YmVmb3JlLC5mYS1maWxlLWltcG9ydDpiZWZvcmV7Y29udGVudDoiXGY1NmYifS5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1hcnJvdy11cC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxNGMifS5mYS1ib3gtb3BlbjpiZWZvcmV7Y29udGVudDoiXGY0OWUifS5mYS1zY3JvbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzBlIn0uZmEtc3BhOmJlZm9yZXtjb250ZW50OiJcZjViYiJ9LmZhLWxvY2F0aW9uLXBpbi1sb2NrOmJlZm9yZXtjb250ZW50OiJcZTUxZiJ9LmZhLXBhdXNlOmJlZm9yZXtjb250ZW50OiJcZjA0YyJ9LmZhLWhpbGwtYXZhbGFuY2hlOmJlZm9yZXtjb250ZW50OiJcZTUwNyJ9LmZhLXRlbXBlcmF0dXJlLTA6YmVmb3JlLC5mYS10ZW1wZXJhdHVyZS1lbXB0eTpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLTA6YmVmb3JlLC5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyY2IifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OiJcZjFlMiJ9LmZhLXJlZ2lzdGVyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjVkIn0uZmEtYWRkcmVzcy1jYXJkOmJlZm9yZSwuZmEtY29udGFjdC1jYXJkOmJlZm9yZSwuZmEtdmNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmJiIn0uZmEtYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmUsLmZhLXNjYWxlLXVuYmFsYW5jZWQtZmxpcDpiZWZvcmV7Y29udGVudDoiXGY1MTYifS5mYS1zdWJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTJjIn0uZmEtZGlhbW9uZC10dXJuLXJpZ2h0OmJlZm9yZSwuZmEtZGlyZWN0aW9uczpiZWZvcmV7Y29udGVudDoiXGY1ZWIifS5mYS1idXJzdDpiZWZvcmV7Y29udGVudDoiXGU0ZGMifS5mYS1ob3VzZS1sYXB0b3A6YmVmb3JlLC5mYS1sYXB0b3AtaG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDY2In0uZmEtZmFjZS10aXJlZDpiZWZvcmUsLmZhLXRpcmVkOmJlZm9yZXtjb250ZW50OiJcZjVjOCJ9LmZhLW1vbmV5LWJpbGxzOmJlZm9yZXtjb250ZW50OiJcZTFmMyJ9LmZhLXNtb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNzVmIn0uZmEtY3J1dGNoOmJlZm9yZXtjb250ZW50OiJcZjdmNyJ9LmZhLWNsb3VkLWFycm93LXVwOmJlZm9yZSwuZmEtY2xvdWQtdXBsb2FkLWFsdDpiZWZvcmUsLmZhLWNsb3VkLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYwZWUifS5mYS1wYWxldHRlOmJlZm9yZXtjb250ZW50OiJcZjUzZiJ9LmZhLWFycm93cy10dXJuLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTRjMCJ9LmZhLXZlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDg1In0uZmEtZmVycnk6YmVmb3Jle2NvbnRlbnQ6IlxlNGVhIn0uZmEtYXJyb3dzLWRvd24tdG8tcGVvcGxlOmJlZm9yZXtjb250ZW50OiJcZTRiOSJ9LmZhLXNlZWRsaW5nOmJlZm9yZSwuZmEtc3Byb3V0OmJlZm9yZXtjb250ZW50OiJcZjRkOCJ9LmZhLWFycm93cy1hbHQtaDpiZWZvcmUsLmZhLWxlZnQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzM3In0uZmEtYm94ZXMtcGFja2luZzpiZWZvcmV7Y29udGVudDoiXGU0YzcifS5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUsLmZhLWNpcmNsZS1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjBhOCJ9LmZhLWdyb3VwLWFycm93cy1yb3RhdGU6YmVmb3Jle2NvbnRlbnQ6IlxlNGY2In0uZmEtYm93bC1mb29kOmJlZm9yZXtjb250ZW50OiJcZTRjNiJ9LmZhLWNhbmR5LWNhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNzg2In0uZmEtYXJyb3ctZG93bi13aWRlLXNob3J0OmJlZm9yZSwuZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZSwuZmEtc29ydC1hbW91bnQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNjAifS5mYS1jbG91ZC1ib2x0OmJlZm9yZSwuZmEtdGh1bmRlcnN0b3JtOmJlZm9yZXtjb250ZW50OiJcZjc2YyJ9LmZhLXJlbW92ZS1mb3JtYXQ6YmVmb3JlLC5mYS10ZXh0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjg3ZCJ9LmZhLWZhY2Utc21pbGUtd2luazpiZWZvcmUsLmZhLXNtaWxlLXdpbms6YmVmb3Jle2NvbnRlbnQ6IlxmNGRhIn0uZmEtZmlsZS13b3JkOmJlZm9yZXtjb250ZW50OiJcZjFjMiJ9LmZhLWZpbGUtcG93ZXJwb2ludDpiZWZvcmV7Y29udGVudDoiXGYxYzQifS5mYS1hcnJvd3MtaDpiZWZvcmUsLmZhLWFycm93cy1sZWZ0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjA3ZSJ9LmZhLWhvdXNlLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNTEwIn0uZmEtY2xvdWQtYXJyb3ctZG93bjpiZWZvcmUsLmZhLWNsb3VkLWRvd25sb2FkLWFsdDpiZWZvcmUsLmZhLWNsb3VkLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZjBlZCJ9LmZhLWNoaWxkcmVuOmJlZm9yZXtjb250ZW50OiJcZTRlMSJ9LmZhLWJsYWNrYm9hcmQ6YmVmb3JlLC5mYS1jaGFsa2JvYXJkOmJlZm9yZXtjb250ZW50OiJcZjUxYiJ9LmZhLXVzZXItYWx0LXNsYXNoOmJlZm9yZSwuZmEtdXNlci1sYXJnZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY0ZmEifS5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjJiNiJ9LmZhLWhhbmRzaGFrZS1hbHQtc2xhc2g6YmVmb3JlLC5mYS1oYW5kc2hha2Utc2ltcGxlLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA1ZiJ9LmZhLW1hdHRyZXNzLXBpbGxvdzpiZWZvcmV7Y29udGVudDoiXGU1MjUifS5mYS1ndWFyYW5pLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMTlhIn0uZmEtYXJyb3dzLXJvdGF0ZTpiZWZvcmUsLmZhLXJlZnJlc2g6YmVmb3JlLC5mYS1zeW5jOmJlZm9yZXtjb250ZW50OiJcZjAyMSJ9LmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZXtjb250ZW50OiJcZjEzNCJ9LmZhLWNydXplaXJvLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMTUyIn0uZmEtZ3JlYXRlci10aGFuLWVxdWFsOmJlZm9yZXtjb250ZW50OiJcZjUzMiJ9LmZhLXNoaWVsZC1hbHQ6YmVmb3JlLC5mYS1zaGllbGQtaGFsdmVkOmJlZm9yZXtjb250ZW50OiJcZjNlZCJ9LmZhLWF0bGFzOmJlZm9yZSwuZmEtYm9vay1hdGxhczpiZWZvcmV7Y29udGVudDoiXGY1NTgifS5mYS12aXJ1czpiZWZvcmV7Y29udGVudDoiXGUwNzQifS5mYS1lbnZlbG9wZS1jaXJjbGUtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNGU4In0uZmEtbGF5ZXItZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxmNWZkIn0uZmEtYXJyb3dzLXRvLWRvdDpiZWZvcmV7Y29udGVudDoiXGU0YmUifS5mYS1hcmNod2F5OmJlZm9yZXtjb250ZW50OiJcZjU1NyJ9LmZhLWhlYXJ0LWNpcmNsZS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGU0ZmQifS5mYS1ob3VzZS1jaGltbmV5LWNyYWNrOmJlZm9yZSwuZmEtaG91c2UtZGFtYWdlOmJlZm9yZXtjb250ZW50OiJcZjZmMSJ9LmZhLWZpbGUtYXJjaGl2ZTpiZWZvcmUsLmZhLWZpbGUtemlwcGVyOmJlZm9yZXtjb250ZW50OiJcZjFjNiJ9LmZhLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwYzgifS5mYS1nbGFzcy1tYXJ0aW5pOmJlZm9yZSwuZmEtbWFydGluaS1nbGFzcy1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYwMDAifS5mYS1jb3VjaDpiZWZvcmV7Y29udGVudDoiXGY0YjgifS5mYS1jZWRpLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMGRmIn0uZmEtaXRhbGljOmJlZm9yZXtjb250ZW50OiJcZjAzMyJ9LmZhLWNodXJjaDpiZWZvcmV7Y29udGVudDoiXGY1MWQifS5mYS1jb21tZW50cy1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjUzIn0uZmEtZGVtb2NyYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzQ3In0uZmEtejpiZWZvcmV7Y29udGVudDoiXDVhIn0uZmEtcGVyc29uLXNraWluZzpiZWZvcmUsLmZhLXNraWluZzpiZWZvcmV7Y29udGVudDoiXGY3YzkifS5mYS1yb2FkLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNTY3In0uZmEtYTpiZWZvcmV7Y29udGVudDoiXDQxIn0uZmEtdGVtcGVyYXR1cmUtYXJyb3ctZG93bjpiZWZvcmUsLmZhLXRlbXBlcmF0dXJlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMDNmIn0uZmEtZmVhdGhlci1hbHQ6YmVmb3JlLC5mYS1mZWF0aGVyLXBvaW50ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTZiIn0uZmEtcDpiZWZvcmV7Y29udGVudDoiXDUwIn0uZmEtc25vd2ZsYWtlOmJlZm9yZXtjb250ZW50OiJcZjJkYyJ9LmZhLW5ld3NwYXBlcjpiZWZvcmV7Y29udGVudDoiXGYxZWEifS5mYS1hZDpiZWZvcmUsLmZhLXJlY3RhbmdsZS1hZDpiZWZvcmV7Y29udGVudDoiXGY2NDEifS5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlLC5mYS1jaXJjbGUtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE5In0uZmEtZmlsdGVyLWNpcmNsZS14bWFyazpiZWZvcmV7Y29udGVudDoiXGUxN2IifS5mYS1sb2N1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxlNTIwIn0uZmEtc29ydDpiZWZvcmUsLmZhLXVuc29ydGVkOmJlZm9yZXtjb250ZW50OiJcZjBkYyJ9LmZhLWxpc3QtMS0yOmJlZm9yZSwuZmEtbGlzdC1udW1lcmljOmJlZm9yZSwuZmEtbGlzdC1vbDpiZWZvcmV7Y29udGVudDoiXGYwY2IifS5mYS1wZXJzb24tZHJlc3MtYnVyc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlNTQ0In0uZmEtbW9uZXktY2hlY2stYWx0OmJlZm9yZSwuZmEtbW9uZXktY2hlY2stZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjUzZCJ9LmZhLXZlY3Rvci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNWNiIn0uZmEtYnJlYWQtc2xpY2U6YmVmb3Jle2NvbnRlbnQ6IlxmN2VjIn0uZmEtbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWFiIn0uZmEtZmFjZS1raXNzLXdpbmstaGVhcnQ6YmVmb3JlLC5mYS1raXNzLXdpbmstaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTk4In0uZmEtZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZjBiMCJ9LmZhLXF1ZXN0aW9uOmJlZm9yZXtjb250ZW50OiJcM2YifS5mYS1maWxlLXNpZ25hdHVyZTpiZWZvcmV7Y29udGVudDoiXGY1NzMifS5mYS1hcnJvd3MtYWx0OmJlZm9yZSwuZmEtdXAtZG93bi1sZWZ0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBiMiJ9LmZhLWhvdXNlLWNoaW1uZXktdXNlcjpiZWZvcmV7Y29udGVudDoiXGUwNjUifS5mYS1oYW5kLWhvbGRpbmctaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGJlIn0uZmEtcHV6emxlLXBpZWNlOmJlZm9yZXtjb250ZW50OiJcZjEyZSJ9LmZhLW1vbmV5LWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjUzYyJ9LmZhLXN0YXItaGFsZi1hbHQ6YmVmb3JlLC5mYS1zdGFyLWhhbGYtc3Ryb2tlOmJlZm9yZXtjb250ZW50OiJcZjVjMCJ9LmZhLWNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTIxIn0uZmEtZ2xhc3Mtd2hpc2tleTpiZWZvcmUsLmZhLXdoaXNrZXktZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmN2EwIn0uZmEtYnVpbGRpbmctY2lyY2xlLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZTRkMyJ9LmZhLW1hZ25pZnlpbmctZ2xhc3MtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTIyIn0uZmEtYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmU6YmVmb3JlLC5mYS1leHRlcm5hbC1saW5rOmJlZm9yZXtjb250ZW50OiJcZjA4ZSJ9LmZhLWN1YmVzLXN0YWNrZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNGU2In0uZmEta3J3OmJlZm9yZSwuZmEtd29uLXNpZ246YmVmb3JlLC5mYS13b246YmVmb3Jle2NvbnRlbnQ6IlxmMTU5In0uZmEtdmlydXMtY292aWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNGE4In0uZmEtYXVzdHJhbC1zaWduOmJlZm9yZXtjb250ZW50OiJcZTBhOSJ9LmZhLWY6YmVmb3Jle2NvbnRlbnQ6Ilw0NiJ9LmZhLWxlYWY6YmVmb3Jle2NvbnRlbnQ6IlxmMDZjIn0uZmEtcm9hZDpiZWZvcmV7Y29udGVudDoiXGYwMTgifS5mYS1jYWI6YmVmb3JlLC5mYS10YXhpOmJlZm9yZXtjb250ZW50OiJcZjFiYSJ9LmZhLXBlcnNvbi1jaXJjbGUtcGx1czpiZWZvcmV7Y29udGVudDoiXGU1NDEifS5mYS1jaGFydC1waWU6YmVmb3JlLC5mYS1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjAwIn0uZmEtYm9sdC1saWdodG5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxlMGI3In0uZmEtc2Fjay14bWFyazpiZWZvcmV7Y29udGVudDoiXGU1NmEifS5mYS1maWxlLWV4Y2VsOmJlZm9yZXtjb250ZW50OiJcZjFjMyJ9LmZhLWZpbGUtY29udHJhY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNTZjIn0uZmEtZmlzaC1maW5zOmJlZm9yZXtjb250ZW50OiJcZTRmMiJ9LmZhLWJ1aWxkaW5nLWZsYWc6YmVmb3Jle2NvbnRlbnQ6IlxlNGQ1In0uZmEtZmFjZS1ncmluLWJlYW06YmVmb3JlLC5mYS1ncmluLWJlYW06YmVmb3Jle2NvbnRlbnQ6IlxmNTgyIn0uZmEtb2JqZWN0LXVuZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ4In0uZmEtcG9vcDpiZWZvcmV7Y29udGVudDoiXGY2MTkifS5mYS1sb2NhdGlvbi1waW46YmVmb3JlLC5mYS1tYXAtbWFya2VyOmJlZm9yZXtjb250ZW50OiJcZjA0MSJ9LmZhLWthYWJhOmJlZm9yZXtjb250ZW50OiJcZjY2YiJ9LmZhLXRvaWxldC1wYXBlcjpiZWZvcmV7Y29udGVudDoiXGY3MWUifS5mYS1oYXJkLWhhdDpiZWZvcmUsLmZhLWhhdC1oYXJkOmJlZm9yZSwuZmEtaGVsbWV0LXNhZmV0eTpiZWZvcmV7Y29udGVudDoiXGY4MDcifS5mYS1lamVjdDpiZWZvcmV7Y29udGVudDoiXGYwNTIifS5mYS1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OmJlZm9yZSwuZmEtY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjM1YSJ9LmZhLXBsYW5lLWNpcmNsZS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGU1NTUifS5mYS1mYWNlLXJvbGxpbmctZXllczpiZWZvcmUsLmZhLW1laC1yb2xsaW5nLWV5ZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNWE1In0uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZXtjb250ZW50OiJcZjI0NyJ9LmZhLWNoYXJ0LWxpbmU6YmVmb3JlLC5mYS1saW5lLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjIwMSJ9LmZhLW1hc2stdmVudGlsYXRvcjpiZWZvcmV7Y29udGVudDoiXGU1MjQifS5mYS1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNjEifS5mYS1tYXAtc2lnbnM6YmVmb3JlLC5mYS1zaWducy1wb3N0OmJlZm9yZXtjb250ZW50OiJcZjI3NyJ9LmZhLWNhc2gtcmVnaXN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzg4In0uZmEtcGVyc29uLWNpcmNsZS1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDoiXGU1NDIifS5mYS1oOmJlZm9yZXtjb250ZW50OiJcNDgifS5mYS10YXJwOmJlZm9yZXtjb250ZW50OiJcZTU3YiJ9LmZhLXNjcmV3ZHJpdmVyLXdyZW5jaDpiZWZvcmUsLmZhLXRvb2xzOmJlZm9yZXtjb250ZW50OiJcZjdkOSJ9LmZhLWFycm93cy10by1leWU6YmVmb3Jle2NvbnRlbnQ6IlxlNGJmIn0uZmEtcGx1Zy1jaXJjbGUtYm9sdDpiZWZvcmV7Y29udGVudDoiXGU1NWIifS5mYS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGYwMDQifS5mYS1tYXJzLWFuZC12ZW51czpiZWZvcmV7Y29udGVudDoiXGYyMjQifS5mYS1ob21lLXVzZXI6YmVmb3JlLC5mYS1ob3VzZS11c2VyOmJlZm9yZXtjb250ZW50OiJcZTFiMCJ9LmZhLWR1bXBzdGVyLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNzk0In0uZmEtaG91c2UtY3JhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlM2IxIn0uZmEtY29ja3RhaWw6YmVmb3JlLC5mYS1tYXJ0aW5pLWdsYXNzLWNpdHJ1czpiZWZvcmV7Y29udGVudDoiXGY1NjEifS5mYS1mYWNlLXN1cnByaXNlOmJlZm9yZSwuZmEtc3VycHJpc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNWMyIn0uZmEtYm90dGxlLXdhdGVyOmJlZm9yZXtjb250ZW50OiJcZTRjNSJ9LmZhLWNpcmNsZS1wYXVzZTpiZWZvcmUsLmZhLXBhdXNlLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGIifS5mYS10b2lsZXQtcGFwZXItc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDcyIn0uZmEtYXBwbGUtYWx0OmJlZm9yZSwuZmEtYXBwbGUtd2hvbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWQxIn0uZmEta2l0Y2hlbi1zZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTFhIn0uZmEtcjpiZWZvcmV7Y29udGVudDoiXDUyIn0uZmEtdGVtcGVyYXR1cmUtMTpiZWZvcmUsLmZhLXRlbXBlcmF0dXJlLXF1YXJ0ZXI6YmVmb3JlLC5mYS10aGVybW9tZXRlci0xOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyY2EifS5mYS1jdWJlOmJlZm9yZXtjb250ZW50OiJcZjFiMiJ9LmZhLWJpdGNvaW4tc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwYjQifS5mYS1zaGllbGQtZG9nOmJlZm9yZXtjb250ZW50OiJcZTU3MyJ9LmZhLXNvbGFyLXBhbmVsOmJlZm9yZXtjb250ZW50OiJcZjViYSJ9LmZhLWxvY2stb3BlbjpiZWZvcmV7Y29udGVudDoiXGYzYzEifS5mYS1lbGV2YXRvcjpiZWZvcmV7Y29udGVudDoiXGUxNmQifS5mYS1tb25leS1iaWxsLXRyYW5zZmVyOmJlZm9yZXtjb250ZW50OiJcZTUyOCJ9LmZhLW1vbmV5LWJpbGwtdHJlbmQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlNTI5In0uZmEtaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTUwZiJ9LmZhLXBvbGwtaDpiZWZvcmUsLmZhLXNxdWFyZS1wb2xsLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNjgyIn0uZmEtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjExMSJ9LmZhLWJhY2t3YXJkLWZhc3Q6YmVmb3JlLC5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OSJ9LmZhLXJlY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWI4In0uZmEtdXNlci1hc3Ryb25hdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGZiIn0uZmEtcGxhbmUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDY5In0uZmEtdHJhZGVtYXJrOmJlZm9yZXtjb250ZW50OiJcZjI1YyJ9LmZhLWJhc2tldGJhbGwtYmFsbDpiZWZvcmUsLmZhLWJhc2tldGJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDM0In0uZmEtc2F0ZWxsaXRlLWRpc2g6YmVmb3Jle2NvbnRlbnQ6IlxmN2MwIn0uZmEtYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUsLmZhLWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYzNWIifS5mYS1tb2JpbGUtYWx0OmJlZm9yZSwuZmEtbW9iaWxlLXNjcmVlbi1idXR0b246YmVmb3Jle2NvbnRlbnQ6IlxmM2NkIn0uZmEtdm9sdW1lLWhpZ2g6YmVmb3JlLC5mYS12b2x1bWUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDI4In0uZmEtdXNlcnMtcmF5czpiZWZvcmV7Y29udGVudDoiXGU1OTMifS5mYS13YWxsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTU1In0uZmEtY2xpcGJvYXJkLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjQ2YyJ9LmZhLWZpbGUtYXVkaW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM3In0uZmEtYnVyZ2VyOmJlZm9yZSwuZmEtaGFtYnVyZ2VyOmJlZm9yZXtjb250ZW50OiJcZjgwNSJ9LmZhLXdyZW5jaDpiZWZvcmV7Y29udGVudDoiXGYwYWQifS5mYS1idWdzOmJlZm9yZXtjb250ZW50OiJcZTRkMCJ9LmZhLXJ1cGVlLXNpZ246YmVmb3JlLC5mYS1ydXBlZTpiZWZvcmV7Y29udGVudDoiXGYxNTYifS5mYS1maWxlLWltYWdlOmJlZm9yZXtjb250ZW50OiJcZjFjNSJ9LmZhLWNpcmNsZS1xdWVzdGlvbjpiZWZvcmUsLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTkifS5mYS1wbGFuZS1kZXBhcnR1cmU6YmVmb3Jle2NvbnRlbnQ6IlxmNWIwIn0uZmEtaGFuZHNoYWtlLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA2MCJ9LmZhLWJvb2stYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxlMGJiIn0uZmEtY29kZS1icmFuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMTI2In0uZmEtaGF0LWNvd2JveTpiZWZvcmV7Y29udGVudDoiXGY4YzAifS5mYS1icmlkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlNGM4In0uZmEtcGhvbmUtYWx0OmJlZm9yZSwuZmEtcGhvbmUtZmxpcDpiZWZvcmV7Y29udGVudDoiXGY4NzkifS5mYS10cnVjay1mcm9udDpiZWZvcmV7Y29udGVudDoiXGUyYjcifS5mYS1jYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmJlIn0uZmEtYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGU0YWIifS5mYS10cnVjay1maWVsZDpiZWZvcmV7Y29udGVudDoiXGU1OGQifS5mYS1yb3V0ZTpiZWZvcmV7Y29udGVudDoiXGY0ZDcifS5mYS1jbGlwYm9hcmQtcXVlc3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxlNGUzIn0uZmEtcGFub3JhbWE6YmVmb3Jle2NvbnRlbnQ6IlxlMjA5In0uZmEtY29tbWVudC1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjdmNSJ9LmZhLXRlZXRoLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmNjJmIn0uZmEtZmlsZS1jaXJjbGUtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlNGVkIn0uZmEtdGFnczpiZWZvcmV7Y29udGVudDoiXGYwMmMifS5mYS13aW5lLWdsYXNzOmJlZm9yZXtjb250ZW50OiJcZjRlMyJ9LmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUsLmZhLWZvcndhcmQtZmFzdDpiZWZvcmV7Y29udGVudDoiXGYwNTAifS5mYS1mYWNlLW1laC1ibGFuazpiZWZvcmUsLmZhLW1laC1ibGFuazpiZWZvcmV7Y29udGVudDoiXGY1YTQifS5mYS1wYXJraW5nOmJlZm9yZSwuZmEtc3F1YXJlLXBhcmtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNTQwIn0uZmEtaG91c2Utc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZTAxMiJ9LmZhLWJhcnMtcHJvZ3Jlc3M6YmVmb3JlLC5mYS10YXNrcy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODI4In0uZmEtZmF1Y2V0LWRyaXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDA2In0uZmEtY2FydC1mbGF0YmVkOmJlZm9yZSwuZmEtZG9sbHktZmxhdGJlZDpiZWZvcmV7Y29udGVudDoiXGY0NzQifS5mYS1iYW4tc21va2luZzpiZWZvcmUsLmZhLXNtb2tpbmctYmFuOmJlZm9yZXtjb250ZW50OiJcZjU0ZCJ9LmZhLXRlcm1pbmFsOmJlZm9yZXtjb250ZW50OiJcZjEyMCJ9LmZhLW1vYmlsZS1idXR0b246YmVmb3Jle2NvbnRlbnQ6IlxmMTBiIn0uZmEtaG91c2UtbWVkaWNhbC1mbGFnOmJlZm9yZXtjb250ZW50OiJcZTUxNCJ9LmZhLWJhc2tldC1zaG9wcGluZzpiZWZvcmUsLmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmV7Y29udGVudDoiXGYyOTEifS5mYS10YXBlOmJlZm9yZXtjb250ZW50OiJcZjRkYiJ9LmZhLWJ1cy1hbHQ6YmVmb3JlLC5mYS1idXMtc2ltcGxlOmJlZm9yZXtjb250ZW50OiJcZjU1ZSJ9LmZhLWV5ZTpiZWZvcmV7Y29udGVudDoiXGYwNmUifS5mYS1mYWNlLXNhZC1jcnk6YmVmb3JlLC5mYS1zYWQtY3J5OmJlZm9yZXtjb250ZW50OiJcZjViMyJ9LmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OiJcZjI5ZSJ9LmZhLXBlcnNvbi1taWxpdGFyeS10by1wZXJzb246YmVmb3Jle2NvbnRlbnQ6IlxlNTRjIn0uZmEtZmlsZS1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlNGYwIn0uZmEtdXNlci1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY1MDYifS5mYS1wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMzA0In0uZmEtdG93ZXItb2JzZXJ2YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlNTg2In0uZmEtZmlsZS1jb2RlOmJlZm9yZXtjb250ZW50OiJcZjFjOSJ9LmZhLXNpZ25hbC01OmJlZm9yZSwuZmEtc2lnbmFsLXBlcmZlY3Q6YmVmb3JlLC5mYS1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMDEyIn0uZmEtYnVzOmJlZm9yZXtjb250ZW50OiJcZjIwNyJ9LmZhLWhlYXJ0LWNpcmNsZS14bWFyazpiZWZvcmV7Y29udGVudDoiXGU1MDEifS5mYS1ob21lLWxnOmJlZm9yZSwuZmEtaG91c2UtY2hpbW5leTpiZWZvcmV7Y29udGVudDoiXGUzYWYifS5mYS13aW5kb3ctbWF4aW1pemU6YmVmb3Jle2NvbnRlbnQ6IlxmMmQwIn0uZmEtZmFjZS1mcm93bjpiZWZvcmUsLmZhLWZyb3duOmJlZm9yZXtjb250ZW50OiJcZjExOSJ9LmZhLXByZXNjcmlwdGlvbjpiZWZvcmV7Y29udGVudDoiXGY1YjEifS5mYS1zaG9wOmJlZm9yZSwuZmEtc3RvcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjU0ZiJ9LmZhLWZsb3BweS1kaXNrOmJlZm9yZSwuZmEtc2F2ZTpiZWZvcmV7Y29udGVudDoiXGYwYzcifS5mYS12aWhhcmE6YmVmb3Jle2NvbnRlbnQ6IlxmNmE3In0uZmEtYmFsYW5jZS1zY2FsZS1sZWZ0OmJlZm9yZSwuZmEtc2NhbGUtdW5iYWxhbmNlZDpiZWZvcmV7Y29udGVudDoiXGY1MTUifS5mYS1zb3J0LWFzYzpiZWZvcmUsLmZhLXNvcnQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGRlIn0uZmEtY29tbWVudC1kb3RzOmJlZm9yZSwuZmEtY29tbWVudGluZzpiZWZvcmV7Y29udGVudDoiXGY0YWQifS5mYS1wbGFudC13aWx0OmJlZm9yZXtjb250ZW50OiJcZTVhYSJ9LmZhLWRpYW1vbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE5In0uZmEtZmFjZS1ncmluLXNxdWludDpiZWZvcmUsLmZhLWdyaW4tc3F1aW50OmJlZm9yZXtjb250ZW50OiJcZjU4NSJ9LmZhLWhhbmQtaG9sZGluZy1kb2xsYXI6YmVmb3JlLC5mYS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZXtjb250ZW50OiJcZjRjMCJ9LmZhLWJhY3Rlcml1bTpiZWZvcmV7Y29udGVudDoiXGUwNWEifS5mYS1oYW5kLXBvaW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjVhIn0uZmEtZHJ1bS1zdGVlbHBhbjpiZWZvcmV7Y29udGVudDoiXGY1NmEifS5mYS1oYW5kLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZjI1NyJ9LmZhLWhhbmRzLXByYXlpbmc6YmVmb3JlLC5mYS1wcmF5aW5nLWhhbmRzOmJlZm9yZXtjb250ZW50OiJcZjY4NCJ9LmZhLWFycm93LXJpZ2h0LXJvdGF0ZTpiZWZvcmUsLmZhLWFycm93LXJvdGF0ZS1mb3J3YXJkOmJlZm9yZSwuZmEtYXJyb3ctcm90YXRlLXJpZ2h0OmJlZm9yZSwuZmEtcmVkbzpiZWZvcmV7Y29udGVudDoiXGYwMWUifS5mYS1iaW9oYXphcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzgwIn0uZmEtbG9jYXRpb24tY3Jvc3NoYWlyczpiZWZvcmUsLmZhLWxvY2F0aW9uOmJlZm9yZXtjb250ZW50OiJcZjYwMSJ9LmZhLW1hcnMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNyJ9LmZhLWNoaWxkLWRyZXNzOmJlZm9yZXtjb250ZW50OiJcZTU5YyJ9LmZhLXVzZXJzLWJldHdlZW4tbGluZXM6YmVmb3Jle2NvbnRlbnQ6IlxlNTkxIn0uZmEtbHVuZ3MtdmlydXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDY3In0uZmEtZmFjZS1ncmluLXRlYXJzOmJlZm9yZSwuZmEtZ3Jpbi10ZWFyczpiZWZvcmV7Y29udGVudDoiXGY1ODgifS5mYS1waG9uZTpiZWZvcmV7Y29udGVudDoiXGYwOTUifS5mYS1jYWxlbmRhci10aW1lczpiZWZvcmUsLmZhLWNhbGVuZGFyLXhtYXJrOmJlZm9yZXtjb250ZW50OiJcZjI3MyJ9LmZhLWNoaWxkLXJlYWNoaW5nOmJlZm9yZXtjb250ZW50OiJcZTU5ZCJ9LmZhLWhlYWQtc2lkZS12aXJ1czpiZWZvcmV7Y29udGVudDoiXGUwNjQifS5mYS11c2VyLWNvZzpiZWZvcmUsLmZhLXVzZXItZ2VhcjpiZWZvcmV7Y29udGVudDoiXGY0ZmUifS5mYS1hcnJvdy11cC0xLTk6YmVmb3JlLC5mYS1zb3J0LW51bWVyaWMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTYzIn0uZmEtZG9vci1jbG9zZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTJhIn0uZmEtc2hpZWxkLXZpcnVzOmJlZm9yZXtjb250ZW50OiJcZTA2YyJ9LmZhLWRpY2Utc2l4OmJlZm9yZXtjb250ZW50OiJcZjUyNiJ9LmZhLW1vc3F1aXRvLW5ldDpiZWZvcmV7Y29udGVudDoiXGU1MmMifS5mYS1icmlkZ2Utd2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNGNlIn0uZmEtcGVyc29uLWJvb3RoOmJlZm9yZXtjb250ZW50OiJcZjc1NiJ9LmZhLXRleHQtd2lkdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDM1In0uZmEtaGF0LXdpemFyZDpiZWZvcmV7Y29udGVudDoiXGY2ZTgifS5mYS1wZW4tZmFuY3k6YmVmb3Jle2NvbnRlbnQ6IlxmNWFjIn0uZmEtZGlnZ2luZzpiZWZvcmUsLmZhLXBlcnNvbi1kaWdnaW5nOmJlZm9yZXtjb250ZW50OiJcZjg1ZSJ9LmZhLXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZjFmOCJ9LmZhLWdhdWdlLXNpbXBsZS1tZWQ6YmVmb3JlLC5mYS1nYXVnZS1zaW1wbGU6YmVmb3JlLC5mYS10YWNob21ldGVyLWF2ZXJhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNjI5In0uZmEtYm9vay1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjdlNiJ9LmZhLXBvbzpiZWZvcmV7Y29udGVudDoiXGYyZmUifS5mYS1xdW90ZS1yaWdodC1hbHQ6YmVmb3JlLC5mYS1xdW90ZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMGUifS5mYS1zaGlydDpiZWZvcmUsLmZhLXQtc2hpcnQ6YmVmb3JlLC5mYS10c2hpcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTUzIn0uZmEtY3ViZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMWIzIn0uZmEtZGl2aWRlOmJlZm9yZXtjb250ZW50OiJcZjUyOSJ9LmZhLXRlbmdlLXNpZ246YmVmb3JlLC5mYS10ZW5nZTpiZWZvcmV7Y29udGVudDoiXGY3ZDcifS5mYS1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZjAyNSJ9LmZhLWhhbmRzLWhvbGRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGMyIn0uZmEtaGFuZHMtY2xhcHBpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlMWE4In0uZmEtcmVwdWJsaWNhbjpiZWZvcmV7Y29udGVudDoiXGY3NWUifS5mYS1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjA2MCJ9LmZhLXBlcnNvbi1jaXJjbGUteG1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlNTQzIn0uZmEtcnVsZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ1In0uZmEtYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwMzYifS5mYS1kaWNlLWQ2OmJlZm9yZXtjb250ZW50OiJcZjZkMSJ9LmZhLXJlc3Ryb29tOmJlZm9yZXtjb250ZW50OiJcZjdiZCJ9LmZhLWo6YmVmb3Jle2NvbnRlbnQ6Ilw0YSJ9LmZhLXVzZXJzLXZpZXdmaW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNTk1In0uZmEtZmlsZS12aWRlbzpiZWZvcmV7Y29udGVudDoiXGYxYzgifS5mYS1leHRlcm5hbC1saW5rLWFsdDpiZWZvcmUsLmZhLXVwLXJpZ2h0LWZyb20tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjM1ZCJ9LmZhLXRhYmxlLWNlbGxzOmJlZm9yZSwuZmEtdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDBhIn0uZmEtZmlsZS1wZGY6YmVmb3Jle2NvbnRlbnQ6IlxmMWMxIn0uZmEtYmlibGU6YmVmb3JlLC5mYS1ib29rLWJpYmxlOmJlZm9yZXtjb250ZW50OiJcZjY0NyJ9LmZhLW86YmVmb3Jle2NvbnRlbnQ6Ilw0ZiJ9LmZhLW1lZGtpdDpiZWZvcmUsLmZhLXN1aXRjYXNlLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGZhIn0uZmEtdXNlci1zZWNyZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFiIn0uZmEtb3R0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzAwIn0uZmEtZmVtYWxlOmJlZm9yZSwuZmEtcGVyc29uLWRyZXNzOmJlZm9yZXtjb250ZW50OiJcZjE4MiJ9LmZhLWNvbW1lbnQtZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjY1MSJ9LmZhLWJyaWVmY2FzZS1jbG9jazpiZWZvcmUsLmZhLWJ1c2luZXNzLXRpbWU6YmVmb3Jle2NvbnRlbnQ6IlxmNjRhIn0uZmEtdGFibGUtY2VsbHMtbGFyZ2U6YmVmb3JlLC5mYS10aC1sYXJnZTpiZWZvcmV7Y29udGVudDoiXGYwMDkifS5mYS1ib29rLXRhbmFraDpiZWZvcmUsLmZhLXRhbmFraDpiZWZvcmV7Y29udGVudDoiXGY4MjcifS5mYS1waG9uZS12b2x1bWU6YmVmb3JlLC5mYS12b2x1bWUtY29udHJvbC1waG9uZTpiZWZvcmV7Y29udGVudDoiXGYyYTAifS5mYS1oYXQtY293Ym95LXNpZGU6YmVmb3Jle2NvbnRlbnQ6IlxmOGMxIn0uZmEtY2xpcGJvYXJkLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmN2YzIn0uZmEtY2hpbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWFlIn0uZmEtbGlyYS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLXNhdGVsbGl0ZTpiZWZvcmV7Y29udGVudDoiXGY3YmYifS5mYS1wbGFuZS1sb2NrOmJlZm9yZXtjb250ZW50OiJcZTU1OCJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS1jb21tZW50OmJlZm9yZXtjb250ZW50OiJcZjA3NSJ9LmZhLWJpcnRoZGF5LWNha2U6YmVmb3JlLC5mYS1jYWtlLWNhbmRsZXM6YmVmb3JlLC5mYS1jYWtlOmJlZm9yZXtjb250ZW50OiJcZjFmZCJ9LmZhLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZjBlMCJ9LmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUsLmZhLWFuZ2xlcy11cDpiZWZvcmV7Y29udGVudDoiXGYxMDIifS5mYS1wYXBlcmNsaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGM2In0uZmEtYXJyb3ctcmlnaHQtdG8tY2l0eTpiZWZvcmV7Y29udGVudDoiXGU0YjMifS5mYS1yaWJib246YmVmb3Jle2NvbnRlbnQ6IlxmNGQ2In0uZmEtbHVuZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjA0In0uZmEtYXJyb3ctdXAtOS0xOmJlZm9yZSwuZmEtc29ydC1udW1lcmljLXVwLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODcifS5mYS1saXRlY29pbi1zaWduOmJlZm9yZXtjb250ZW50OiJcZTFkMyJ9LmZhLWJvcmRlci1ub25lOmJlZm9yZXtjb250ZW50OiJcZjg1MCJ9LmZhLWNpcmNsZS1ub2RlczpiZWZvcmV7Y29udGVudDoiXGU0ZTIifS5mYS1wYXJhY2h1dGUtYm94OmJlZm9yZXtjb250ZW50OiJcZjRjZCJ9LmZhLWluZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2MifS5mYS10cnVjay1maWVsZC11bjpiZWZvcmV7Y29udGVudDoiXGU1OGUifS5mYS1ob3VyZ2xhc3MtZW1wdHk6YmVmb3JlLC5mYS1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjU0In0uZmEtbW91bnRhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNmZjIn0uZmEtdXNlci1kb2N0b3I6YmVmb3JlLC5mYS11c2VyLW1kOmJlZm9yZXtjb250ZW50OiJcZjBmMCJ9LmZhLWNpcmNsZS1pbmZvOmJlZm9yZSwuZmEtaW5mby1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDVhIn0uZmEtY2xvdWQtbWVhdGJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzNiIn0uZmEtY2FtZXJhLWFsdDpiZWZvcmUsLmZhLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGYwMzAifS5mYS1zcXVhcmUtdmlydXM6YmVmb3Jle2NvbnRlbnQ6IlxlNTc4In0uZmEtbWV0ZW9yOmJlZm9yZXtjb250ZW50OiJcZjc1MyJ9LmZhLWNhci1vbjpiZWZvcmV7Y29udGVudDoiXGU0ZGQifS5mYS1zbGVpZ2g6YmVmb3Jle2NvbnRlbnQ6IlxmN2NjIn0uZmEtYXJyb3ctZG93bi0xLTk6YmVmb3JlLC5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSwuZmEtc29ydC1udW1lcmljLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTYyIn0uZmEtaGFuZC1ob2xkaW5nLWRyb3BsZXQ6YmVmb3JlLC5mYS1oYW5kLWhvbGRpbmctd2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNGMxIn0uZmEtd2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzczIn0uZmEtY2FsZW5kYXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjc0In0uZmEtYnJhaWxsZTpiZWZvcmV7Y29udGVudDoiXGYyYTEifS5mYS1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDpiZWZvcmUsLmZhLXByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY0ODYifS5mYS1sYW5kbWFyazpiZWZvcmV7Y29udGVudDoiXGY2NmYifS5mYS10cnVjazpiZWZvcmV7Y29udGVudDoiXGYwZDEifS5mYS1jcm9zc2hhaXJzOmJlZm9yZXtjb250ZW50OiJcZjA1YiJ9LmZhLXBlcnNvbi1jYW5lOmJlZm9yZXtjb250ZW50OiJcZTUzYyJ9LmZhLXRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTdkIn0uZmEtdmVzdC1wYXRjaGVzOmJlZm9yZXtjb250ZW50OiJcZTA4NiJ9LmZhLWNoZWNrLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGY1NjAifS5mYS1hcnJvdy1kb3duLWEtejpiZWZvcmUsLmZhLXNvcnQtYWxwaGEtYXNjOmJlZm9yZSwuZmEtc29ydC1hbHBoYS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE1ZCJ9LmZhLW1vbmV5LWJpbGwtd2hlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTJhIn0uZmEtY29va2llOmJlZm9yZXtjb250ZW50OiJcZjU2MyJ9LmZhLWFycm93LWxlZnQtcm90YXRlOmJlZm9yZSwuZmEtYXJyb3ctcm90YXRlLWJhY2s6YmVmb3JlLC5mYS1hcnJvdy1yb3RhdGUtYmFja3dhcmQ6YmVmb3JlLC5mYS1hcnJvdy1yb3RhdGUtbGVmdDpiZWZvcmUsLmZhLXVuZG86YmVmb3Jle2NvbnRlbnQ6IlxmMGUyIn0uZmEtaGFyZC1kcml2ZTpiZWZvcmUsLmZhLWhkZDpiZWZvcmV7Y29udGVudDoiXGYwYTAifS5mYS1mYWNlLWdyaW4tc3F1aW50LXRlYXJzOmJlZm9yZSwuZmEtZ3Jpbi1zcXVpbnQtdGVhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmNTg2In0uZmEtZHVtYmJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDRiIn0uZmEtbGlzdC1hbHQ6YmVmb3JlLC5mYS1yZWN0YW5nbGUtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMjIifS5mYS10YXJwLWRyb3BsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTdjIn0uZmEtaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNTExIn0uZmEtcGVyc29uLXNraWluZy1ub3JkaWM6YmVmb3JlLC5mYS1za2lpbmctbm9yZGljOmJlZm9yZXtjb250ZW50OiJcZjdjYSJ9LmZhLWNhbGVuZGFyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjcxIn0uZmEtcGxhbmUtYXJyaXZhbDpiZWZvcmV7Y29udGVudDoiXGY1YWYifS5mYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6YmVmb3JlLC5mYS1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzNTkifS5mYS1zdWJ3YXk6YmVmb3JlLC5mYS10cmFpbi1zdWJ3YXk6YmVmb3Jle2NvbnRlbnQ6IlxmMjM5In0uZmEtY2hhcnQtZ2FudHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMGU0In0uZmEtaW5kaWFuLXJ1cGVlLXNpZ246YmVmb3JlLC5mYS1pbmRpYW4tcnVwZWU6YmVmb3JlLC5mYS1pbnI6YmVmb3Jle2NvbnRlbnQ6IlxlMWJjIn0uZmEtY3JvcC1hbHQ6YmVmb3JlLC5mYS1jcm9wLXNpbXBsZTpiZWZvcmV7Y29udGVudDoiXGY1NjUifS5mYS1tb25leS1iaWxsLTE6YmVmb3JlLC5mYS1tb25leS1iaWxsLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZDEifS5mYS1sZWZ0LWxvbmc6YmVmb3JlLC5mYS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjMwYSJ9LmZhLWRuYTpiZWZvcmV7Y29udGVudDoiXGY0NzEifS5mYS12aXJ1cy1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNzUifS5mYS1taW51czpiZWZvcmUsLmZhLXN1YnRyYWN0OmJlZm9yZXtjb250ZW50OiJcZjA2OCJ9LmZhLWNoZXNzOmJlZm9yZXtjb250ZW50OiJcZjQzOSJ9LmZhLWFycm93LWxlZnQtbG9uZzpiZWZvcmUsLmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxNzcifS5mYS1wbHVnLWNpcmNsZS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGU1NWMifS5mYS1zdHJlZXQtdmlldzpiZWZvcmV7Y29udGVudDoiXGYyMWQifS5mYS1mcmFuYy1zaWduOmJlZm9yZXtjb250ZW50OiJcZTE4ZiJ9LmZhLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDI2In0uZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlLC5mYS1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZSwuZmEtaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlLC5mYS1oYW5kcy1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZXtjb250ZW50OiJcZjJhMyJ9LmZhLWNvZzpiZWZvcmUsLmZhLWdlYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDEzIn0uZmEtZHJvcGxldC1zbGFzaDpiZWZvcmUsLmZhLXRpbnQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNWM3In0uZmEtbW9zcXVlOmJlZm9yZXtjb250ZW50OiJcZjY3OCJ9LmZhLW1vc3F1aXRvOmJlZm9yZXtjb250ZW50OiJcZTUyYiJ9LmZhLXN0YXItb2YtZGF2aWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjlhIn0uZmEtcGVyc29uLW1pbGl0YXJ5LXJpZmxlOmJlZm9yZXtjb250ZW50OiJcZTU0YiJ9LmZhLWNhcnQtc2hvcHBpbmc6YmVmb3JlLC5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjA3YSJ9LmZhLXZpYWxzOmJlZm9yZXtjb250ZW50OiJcZjQ5MyJ9LmZhLXBsdWctY2lyY2xlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlNTVmIn0uZmEtcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmV7Y29udGVudDoiXGY2N2YifS5mYS1ncmlwLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjU4ZSJ9LmZhLWFycm93LXR1cm4tdXA6YmVmb3JlLC5mYS1sZXZlbC11cDpiZWZvcmV7Y29udGVudDoiXGYxNDgifS5mYS11OmJlZm9yZXtjb250ZW50OiJcNTUifS5mYS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlLC5mYS1zcXVhcmUtcm9vdC12YXJpYWJsZTpiZWZvcmV7Y29udGVudDoiXGY2OTgifS5mYS1jbG9jay1mb3VyOmJlZm9yZSwuZmEtY2xvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDE3In0uZmEtYmFja3dhcmQtc3RlcDpiZWZvcmUsLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ4In0uZmEtcGFsbGV0OmJlZm9yZXtjb250ZW50OiJcZjQ4MiJ9LmZhLWZhdWNldDpiZWZvcmV7Y29udGVudDoiXGUwMDUifS5mYS1iYXNlYmFsbC1iYXQtYmFsbDpiZWZvcmV7Y29udGVudDoiXGY0MzIifS5mYS1zOmJlZm9yZXtjb250ZW50OiJcNTMifS5mYS10aW1lbGluZTpiZWZvcmV7Y29udGVudDoiXGUyOWMifS5mYS1rZXlib2FyZDpiZWZvcmV7Y29udGVudDoiXGYxMWMifS5mYS1jYXJldC1kb3duOmJlZm9yZXtjb250ZW50OiJcZjBkNyJ9LmZhLWNsaW5pYy1tZWRpY2FsOmJlZm9yZSwuZmEtaG91c2UtY2hpbW5leS1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjdmMiJ9LmZhLXRlbXBlcmF0dXJlLTM6YmVmb3JlLC5mYS10ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVyczpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLTM6YmVmb3JlLC5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmV7Y29udGVudDoiXGYyYzgifS5mYS1tb2JpbGUtYW5kcm9pZC1hbHQ6YmVmb3JlLC5mYS1tb2JpbGUtc2NyZWVuOmJlZm9yZXtjb250ZW50OiJcZjNjZiJ9LmZhLXBsYW5lLXVwOmJlZm9yZXtjb250ZW50OiJcZTIyZCJ9LmZhLXBpZ2d5LWJhbms6YmVmb3Jle2NvbnRlbnQ6IlxmNGQzIn0uZmEtYmF0dGVyeS0zOmJlZm9yZSwuZmEtYmF0dGVyeS1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI0MiJ9LmZhLW1vdW50YWluLWNpdHk6YmVmb3Jle2NvbnRlbnQ6IlxlNTJlIn0uZmEtY29pbnM6YmVmb3Jle2NvbnRlbnQ6IlxmNTFlIn0uZmEta2hhbmRhOmJlZm9yZXtjb250ZW50OiJcZjY2ZCJ9LmZhLXNsaWRlcnMtaDpiZWZvcmUsLmZhLXNsaWRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWRlIn0uZmEtZm9sZGVyLXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmODAyIn0uZmEtbmV0d29yay13aXJlZDpiZWZvcmV7Y29udGVudDoiXGY2ZmYifS5mYS1tYXAtcGluOmJlZm9yZXtjb250ZW50OiJcZjI3NiJ9LmZhLWhhbXNhOmJlZm9yZXtjb250ZW50OiJcZjY2NSJ9LmZhLWNlbnQtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUzZjUifS5mYS1mbGFzazpiZWZvcmV7Y29udGVudDoiXGYwYzMifS5mYS1wZXJzb24tcHJlZ25hbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMzFlIn0uZmEtd2FuZC1zcGFya2xlczpiZWZvcmV7Y29udGVudDoiXGY3MmIifS5mYS1lbGxpcHNpcy12OmJlZm9yZSwuZmEtZWxsaXBzaXMtdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMTQyIn0uZmEtdGlja2V0OmJlZm9yZXtjb250ZW50OiJcZjE0NSJ9LmZhLXBvd2VyLW9mZjpiZWZvcmV7Y29udGVudDoiXGYwMTEifS5mYS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmUsLmZhLXJpZ2h0LWxvbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMzBiIn0uZmEtZmxhZy11c2E6YmVmb3Jle2NvbnRlbnQ6IlxmNzRkIn0uZmEtbGFwdG9wLWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNTFkIn0uZmEtdGVsZXR5cGU6YmVmb3JlLC5mYS10dHk6YmVmb3Jle2NvbnRlbnQ6IlxmMWU0In0uZmEtZGlhZ3JhbS1uZXh0OmJlZm9yZXtjb250ZW50OiJcZTQ3NiJ9LmZhLXBlcnNvbi1yaWZsZTpiZWZvcmV7Y29udGVudDoiXGU1NGUifS5mYS1ob3VzZS1tZWRpY2FsLWNpcmNsZS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGU1MTIifS5mYS1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmV7Y29udGVudDoiXGYyMGEifS5mYS1oaWtpbmc6YmVmb3JlLC5mYS1wZXJzb24taGlraW5nOmJlZm9yZXtjb250ZW50OiJcZjZlYyJ9LmZhLXZlbnVzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjYifS5mYS1pbWFnZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMzAyIn0uZmEtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGYxZWMifS5mYS1wZW9wbGUtcHVsbGluZzpiZWZvcmV7Y29udGVudDoiXGU1MzUifS5mYS1uOmJlZm9yZXtjb250ZW50OiJcNGUifS5mYS1jYWJsZS1jYXI6YmVmb3JlLC5mYS10cmFtOmJlZm9yZXtjb250ZW50OiJcZjdkYSJ9LmZhLWNsb3VkLXJhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNzNkIn0uZmEtYnVpbGRpbmctY2lyY2xlLXhtYXJrOmJlZm9yZXtjb250ZW50OiJcZTRkNCJ9LmZhLXNoaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjFhIn0uZmEtYXJyb3dzLWRvd24tdG8tbGluZTpiZWZvcmV7Y29udGVudDoiXGU0YjgifS5mYS1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYwMTkifS5mYS1mYWNlLWdyaW46YmVmb3JlLC5mYS1ncmluOmJlZm9yZXtjb250ZW50OiJcZjU4MCJ9LmZhLWJhY2tzcGFjZTpiZWZvcmUsLmZhLWRlbGV0ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjU1YSJ9LmZhLWV5ZS1kcm9wcGVyLWVtcHR5OmJlZm9yZSwuZmEtZXllLWRyb3BwZXI6YmVmb3JlLC5mYS1leWVkcm9wcGVyOmJlZm9yZXtjb250ZW50OiJcZjFmYiJ9LmZhLWZpbGUtY2lyY2xlLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZTVhMCJ9LmZhLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDRlIn0uZmEtbW9iaWxlLWFuZHJvaWQ6YmVmb3JlLC5mYS1tb2JpbGUtcGhvbmU6YmVmb3JlLC5mYS1tb2JpbGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2NlIn0uZmEtZmFjZS1tZWg6YmVmb3JlLC5mYS1tZWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTFhIn0uZmEtYWxpZ24tY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZjAzNyJ9LmZhLWJvb2stZGVhZDpiZWZvcmUsLmZhLWJvb2stc2t1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmNmI3In0uZmEtZHJpdmVycy1saWNlbnNlOmJlZm9yZSwuZmEtaWQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYyYzIifS5mYS1kZWRlbnQ6YmVmb3JlLC5mYS1vdXRkZW50OmJlZm9yZXtjb250ZW50OiJcZjAzYiJ9LmZhLWhlYXJ0LWNpcmNsZS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGU0ZmUifS5mYS1ob21lLWFsdDpiZWZvcmUsLmZhLWhvbWUtbGctYWx0OmJlZm9yZSwuZmEtaG9tZTpiZWZvcmUsLmZhLWhvdXNlOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWNhbGVuZGFyLXdlZWs6YmVmb3Jle2NvbnRlbnQ6IlxmNzg0In0uZmEtbGFwdG9wLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmODEyIn0uZmEtYjpiZWZvcmV7Y29udGVudDoiXDQyIn0uZmEtZmlsZS1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjQ3NyJ9LmZhLWRpY2Utb25lOmJlZm9yZXtjb250ZW50OiJcZjUyNSJ9LmZhLWtpd2ktYmlyZDpiZWZvcmV7Y29udGVudDoiXGY1MzUifS5mYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0OmJlZm9yZSwuZmEtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGVjIn0uZmEtcmVkby1hbHQ6YmVmb3JlLC5mYS1yb3RhdGUtZm9yd2FyZDpiZWZvcmUsLmZhLXJvdGF0ZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYyZjkifS5mYS1jdXRsZXJ5OmJlZm9yZSwuZmEtdXRlbnNpbHM6YmVmb3Jle2NvbnRlbnQ6IlxmMmU3In0uZmEtYXJyb3ctdXAtd2lkZS1zaG9ydDpiZWZvcmUsLmZhLXNvcnQtYW1vdW50LXVwOmJlZm9yZXtjb250ZW50OiJcZjE2MSJ9LmZhLW1pbGwtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUxZWQifS5mYS1ib3dsLXJpY2U6YmVmb3Jle2NvbnRlbnQ6IlxlMmViIn0uZmEtc2t1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmNTRjIn0uZmEtYnJvYWRjYXN0LXRvd2VyOmJlZm9yZSwuZmEtdG93ZXItYnJvYWRjYXN0OmJlZm9yZXtjb250ZW50OiJcZjUxOSJ9LmZhLXRydWNrLXBpY2t1cDpiZWZvcmV7Y29udGVudDoiXGY2M2MifS5mYS1sb25nLWFycm93LWFsdC11cDpiZWZvcmUsLmZhLXVwLWxvbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMzBjIn0uZmEtc3RvcDpiZWZvcmV7Y29udGVudDoiXGYwNGQifS5mYS1jb2RlLW1lcmdlOmJlZm9yZXtjb250ZW50OiJcZjM4NyJ9LmZhLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYwOTMifS5mYS1odXJyaWNhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNzUxIn0uZmEtbW91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTJkIn0uZmEtdG9pbGV0LXBvcnRhYmxlOmJlZm9yZXtjb250ZW50OiJcZTU4MyJ9LmZhLWNvbXBhY3QtZGlzYzpiZWZvcmV7Y29udGVudDoiXGY1MWYifS5mYS1maWxlLWFycm93LWRvd246YmVmb3JlLC5mYS1maWxlLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZjU2ZCJ9LmZhLWNhcmF2YW46YmVmb3Jle2NvbnRlbnQ6IlxmOGZmIn0uZmEtc2hpZWxkLWNhdDpiZWZvcmV7Y29udGVudDoiXGU1NzIifS5mYS1ib2x0OmJlZm9yZSwuZmEtemFwOmJlZm9yZXtjb250ZW50OiJcZjBlNyJ9LmZhLWdsYXNzLXdhdGVyOmJlZm9yZXtjb250ZW50OiJcZTRmNCJ9LmZhLW9pbC13ZWxsOmJlZm9yZXtjb250ZW50OiJcZTUzMiJ9LmZhLXZhdWx0OmJlZm9yZXtjb250ZW50OiJcZTJjNSJ9LmZhLW1hcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjIyIn0uZmEtdG9pbGV0OmJlZm9yZXtjb250ZW50OiJcZjdkOCJ9LmZhLXBsYW5lLWNpcmNsZS14bWFyazpiZWZvcmV7Y29udGVudDoiXGU1NTcifS5mYS1jbnk6YmVmb3JlLC5mYS1qcHk6YmVmb3JlLC5mYS1ybWI6YmVmb3JlLC5mYS15ZW4tc2lnbjpiZWZvcmUsLmZhLXllbjpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS1yb3VibGU6YmVmb3JlLC5mYS1ydWI6YmVmb3JlLC5mYS1ydWJsZS1zaWduOmJlZm9yZSwuZmEtcnVibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTU4In0uZmEtc3VuOmJlZm9yZXtjb250ZW50OiJcZjE4NSJ9LmZhLWd1aXRhcjpiZWZvcmV7Y29udGVudDoiXGY3YTYifS5mYS1mYWNlLWxhdWdoLXdpbms6YmVmb3JlLC5mYS1sYXVnaC13aW5rOmJlZm9yZXtjb250ZW50OiJcZjU5YyJ9LmZhLWhvcnNlLWhlYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2FiIn0uZmEtYm9yZS1ob2xlOmJlZm9yZXtjb250ZW50OiJcZTRjMyJ9LmZhLWluZHVzdHJ5OmJlZm9yZXtjb250ZW50OiJcZjI3NSJ9LmZhLWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUsLmZhLWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjM1OCJ9LmZhLWFycm93cy10dXJuLXRvLWRvdHM6YmVmb3Jle2NvbnRlbnQ6IlxlNGMxIn0uZmEtZmxvcmluLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMTg0In0uZmEtYXJyb3ctZG93bi1zaG9ydC13aWRlOmJlZm9yZSwuZmEtc29ydC1hbW91bnQtZGVzYzpiZWZvcmUsLmZhLXNvcnQtYW1vdW50LWRvd24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4NCJ9LmZhLWxlc3MtdGhhbjpiZWZvcmV7Y29udGVudDoiXDNjIn0uZmEtYW5nbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDcifS5mYS1jYXItdHVubmVsOmJlZm9yZXtjb250ZW50OiJcZTRkZSJ9LmZhLWhlYWQtc2lkZS1jb3VnaDpiZWZvcmV7Y29udGVudDoiXGUwNjEifS5mYS1ncmlwLWxpbmVzOmJlZm9yZXtjb250ZW50OiJcZjdhNCJ9LmZhLXRodW1icy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE2NSJ9LmZhLXVzZXItbG9jazpiZWZvcmV7Y29udGVudDoiXGY1MDIifS5mYS1hcnJvdy1yaWdodC1sb25nOmJlZm9yZSwuZmEtbG9uZy1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxNzgifS5mYS1hbmNob3ItY2lyY2xlLXhtYXJrOmJlZm9yZXtjb250ZW50OiJcZTRhYyJ9LmZhLWVsbGlwc2lzLWg6YmVmb3JlLC5mYS1lbGxpcHNpczpiZWZvcmV7Y29udGVudDoiXGYxNDEifS5mYS1jaGVzcy1wYXduOmJlZm9yZXtjb250ZW50OiJcZjQ0MyJ9LmZhLWZpcnN0LWFpZDpiZWZvcmUsLmZhLWtpdC1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjQ3OSJ9LmZhLXBlcnNvbi10aHJvdWdoLXdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGU1YTkifS5mYS10b29sYm94OmJlZm9yZXtjb250ZW50OiJcZjU1MiJ9LmZhLWhhbmRzLWhvbGRpbmctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTRmYiJ9LmZhLWJ1ZzpiZWZvcmV7Y29udGVudDoiXGYxODgifS5mYS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3JlLC5mYS1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYwOWQifS5mYS1hdXRvbW9iaWxlOmJlZm9yZSwuZmEtY2FyOmJlZm9yZXtjb250ZW50OiJcZjFiOSJ9LmZhLWhhbmQtaG9sZGluZy1oYW5kOmJlZm9yZXtjb250ZW50OiJcZTRmNyJ9LmZhLWJvb2stb3Blbi1yZWFkZXI6YmVmb3JlLC5mYS1ib29rLXJlYWRlcjpiZWZvcmV7Y29udGVudDoiXGY1ZGEifS5mYS1tb3VudGFpbi1zdW46YmVmb3Jle2NvbnRlbnQ6IlxlNTJmIn0uZmEtYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZTpiZWZvcmV7Y29udGVudDoiXGU0YmEifS5mYS1kaWNlLWQyMDpiZWZvcmV7Y29udGVudDoiXGY2Y2YifS5mYS10cnVjay1kcm9wbGV0OmJlZm9yZXtjb250ZW50OiJcZTU4YyJ9LmZhLWZpbGUtY2lyY2xlLXhtYXJrOmJlZm9yZXtjb250ZW50OiJcZTVhMSJ9LmZhLXRlbXBlcmF0dXJlLWFycm93LXVwOmJlZm9yZSwuZmEtdGVtcGVyYXR1cmUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDQwIn0uZmEtbWVkYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNWEyIn0uZmEtYmVkOmJlZm9yZXtjb250ZW50OiJcZjIzNiJ9LmZhLWgtc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMGZkIn0uZmEtcG9kY2FzdDpiZWZvcmV7Y29udGVudDoiXGYyY2UifS5mYS10ZW1wZXJhdHVyZS00OmJlZm9yZSwuZmEtdGVtcGVyYXR1cmUtZnVsbDpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLTQ6YmVmb3JlLC5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZXtjb250ZW50OiJcZjJjNyJ9LmZhLWJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMGYzIn0uZmEtc3VwZXJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTJiIn0uZmEtcGx1Zy1jaXJjbGUteG1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlNTYwIn0uZmEtc3Rhci1vZi1saWZlOmJlZm9yZXtjb250ZW50OiJcZjYyMSJ9LmZhLXBob25lLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjNkZCJ9LmZhLXBhaW50LXJvbGxlcjpiZWZvcmV7Y29udGVudDoiXGY1YWEifS5mYS1oYW5kcy1oZWxwaW5nOmJlZm9yZSwuZmEtaGFuZHNoYWtlLWFuZ2xlOmJlZm9yZXtjb250ZW50OiJcZjRjNCJ9LmZhLWxvY2F0aW9uLWRvdDpiZWZvcmUsLmZhLW1hcC1tYXJrZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjNjNSJ9LmZhLWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTViIn0uZmEtZ3JlYXRlci10aGFuOmJlZm9yZXtjb250ZW50OiJcM2UifS5mYS1wZXJzb24tc3dpbW1pbmc6YmVmb3JlLC5mYS1zd2ltbWVyOmJlZm9yZXtjb250ZW50OiJcZjVjNCJ9LmZhLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDYzIn0uZmEtZHJvcGxldDpiZWZvcmUsLmZhLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQzIn0uZmEtZXJhc2VyOmJlZm9yZXtjb250ZW50OiJcZjEyZCJ9LmZhLWVhcnRoLWFtZXJpY2E6YmVmb3JlLC5mYS1lYXJ0aC1hbWVyaWNhczpiZWZvcmUsLmZhLWVhcnRoOmJlZm9yZSwuZmEtZ2xvYmUtYW1lcmljYXM6YmVmb3Jle2NvbnRlbnQ6IlxmNTdkIn0uZmEtcGVyc29uLWJ1cnN0OmJlZm9yZXtjb250ZW50OiJcZTUzYiJ9LmZhLWRvdmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGJhIn0uZmEtYmF0dGVyeS0wOmJlZm9yZSwuZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyNDQifS5mYS1zb2NrczpiZWZvcmV7Y29udGVudDoiXGY2OTYifS5mYS1pbmJveDpiZWZvcmV7Y29udGVudDoiXGYwMWMifS5mYS1zZWN0aW9uOmJlZm9yZXtjb250ZW50OiJcZTQ0NyJ9LmZhLWdhdWdlLWhpZ2g6YmVmb3JlLC5mYS10YWNob21ldGVyLWFsdC1mYXN0OmJlZm9yZSwuZmEtdGFjaG9tZXRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjI1In0uZmEtZW52ZWxvcGUtb3Blbi10ZXh0OmJlZm9yZXtjb250ZW50OiJcZjY1OCJ9LmZhLWhvc3BpdGFsLWFsdDpiZWZvcmUsLmZhLWhvc3BpdGFsLXdpZGU6YmVmb3JlLC5mYS1ob3NwaXRhbDpiZWZvcmV7Y29udGVudDoiXGYwZjgifS5mYS13aW5lLWJvdHRsZTpiZWZvcmV7Y29udGVudDoiXGY3MmYifS5mYS1jaGVzcy1yb29rOmJlZm9yZXtjb250ZW50OiJcZjQ0NyJ9LmZhLWJhcnMtc3RhZ2dlcmVkOmJlZm9yZSwuZmEtcmVvcmRlcjpiZWZvcmUsLmZhLXN0cmVhbTpiZWZvcmV7Y29udGVudDoiXGY1NTAifS5mYS1kaGFybWFjaGFrcmE6YmVmb3Jle2NvbnRlbnQ6IlxmNjU1In0uZmEtaG90ZG9nOmJlZm9yZXtjb250ZW50OiJcZjgwZiJ9LmZhLWJsaW5kOmJlZm9yZSwuZmEtcGVyc29uLXdhbGtpbmctd2l0aC1jYW5lOmJlZm9yZXtjb250ZW50OiJcZjI5ZCJ9LmZhLWRydW06YmVmb3Jle2NvbnRlbnQ6IlxmNTY5In0uZmEtaWNlLWNyZWFtOmJlZm9yZXtjb250ZW50OiJcZjgxMCJ9LmZhLWhlYXJ0LWNpcmNsZS1ib2x0OmJlZm9yZXtjb250ZW50OiJcZTRmYyJ9LmZhLWZheDpiZWZvcmV7Y29udGVudDoiXGYxYWMifS5mYS1wYXJhZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxmMWRkIn0uZmEtY2hlY2stdG8tc2xvdDpiZWZvcmUsLmZhLXZvdGUteWVhOmJlZm9yZXtjb250ZW50OiJcZjc3MiJ9LmZhLXN0YXItaGFsZjpiZWZvcmV7Y29udGVudDoiXGYwODkifS5mYS1ib3hlcy1hbHQ6YmVmb3JlLC5mYS1ib3hlcy1zdGFja2VkOmJlZm9yZSwuZmEtYm94ZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNDY4In0uZmEtY2hhaW46YmVmb3JlLC5mYS1saW5rOmJlZm9yZXtjb250ZW50OiJcZjBjMSJ9LmZhLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmUsLmZhLWVhci1saXN0ZW46YmVmb3Jle2NvbnRlbnQ6IlxmMmEyIn0uZmEtdHJlZS1jaXR5OmJlZm9yZXtjb250ZW50OiJcZTU4NyJ9LmZhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDRiIn0uZmEtZm9udDpiZWZvcmV7Y29udGVudDoiXGYwMzEifS5mYS1ydXBpYWgtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUyM2QifS5mYS1tYWduaWZ5aW5nLWdsYXNzOmJlZm9yZSwuZmEtc2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZjAwMiJ9LmZhLXBpbmctcG9uZy1wYWRkbGUtYmFsbDpiZWZvcmUsLmZhLXRhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbDpiZWZvcmUsLmZhLXRhYmxlLXRlbm5pczpiZWZvcmV7Y29udGVudDoiXGY0NWQifS5mYS1kaWFnbm9zZXM6YmVmb3JlLC5mYS1wZXJzb24tZG90cy1mcm9tLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDcwIn0uZmEtdHJhc2gtY2FuLWFycm93LXVwOmJlZm9yZSwuZmEtdHJhc2gtcmVzdG9yZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODJhIn0uZmEtbmFpcmEtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUxZjYifS5mYS1jYXJ0LWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMjE4In0uZmEtd2Fsa2llLXRhbGtpZTpiZWZvcmV7Y29udGVudDoiXGY4ZWYifS5mYS1maWxlLWVkaXQ6YmVmb3JlLC5mYS1maWxlLXBlbjpiZWZvcmV7Y29udGVudDoiXGYzMWMifS5mYS1yZWNlaXB0OmJlZm9yZXtjb250ZW50OiJcZjU0MyJ9LmZhLXBlbi1zcXVhcmU6YmVmb3JlLC5mYS1wZW5jaWwtc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLXBlbjpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5mYS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZXtjb250ZW50OiJcZjVjMSJ9LmZhLXBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlNTNmIn0uZmEtY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA3OCJ9LmZhLWJhdHRlcnktNTpiZWZvcmUsLmZhLWJhdHRlcnktZnVsbDpiZWZvcmUsLmZhLWJhdHRlcnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjQwIn0uZmEtc2t1bGwtY3Jvc3Nib25lczpiZWZvcmV7Y29udGVudDoiXGY3MTQifS5mYS1jb2RlLWNvbXBhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTNhIn0uZmEtbGlzdC1kb3RzOmJlZm9yZSwuZmEtbGlzdC11bDpiZWZvcmV7Y29udGVudDoiXGYwY2EifS5mYS1zY2hvb2wtbG9jazpiZWZvcmV7Y29udGVudDoiXGU1NmYifS5mYS10b3dlci1jZWxsOmJlZm9yZXtjb250ZW50OiJcZTU4NSJ9LmZhLWRvd24tbG9uZzpiZWZvcmUsLmZhLWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMzA5In0uZmEtcmFua2luZy1zdGFyOmJlZm9yZXtjb250ZW50OiJcZTU2MSJ9LmZhLWNoZXNzLWtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDNmIn0uZmEtcGVyc29uLWhhcmFzc2luZzpiZWZvcmV7Y29udGVudDoiXGU1NDkifS5mYS1icmF6aWxpYW4tcmVhbC1zaWduOmJlZm9yZXtjb250ZW50OiJcZTQ2YyJ9LmZhLWxhbmRtYXJrLWFsdDpiZWZvcmUsLmZhLWxhbmRtYXJrLWRvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmNzUyIn0uZmEtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDYyIn0uZmEtdGVsZXZpc2lvbjpiZWZvcmUsLmZhLXR2LWFsdDpiZWZvcmUsLmZhLXR2OmJlZm9yZXtjb250ZW50OiJcZjI2YyJ9LmZhLXNocmltcDpiZWZvcmV7Y29udGVudDoiXGU0NDgifS5mYS1saXN0LWNoZWNrOmJlZm9yZSwuZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmMGFlIn0uZmEtanVnLWRldGVyZ2VudDpiZWZvcmV7Y29udGVudDoiXGU1MTkifS5mYS1jaXJjbGUtdXNlcjpiZWZvcmUsLmZhLXVzZXItY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjJiZCJ9LmZhLXVzZXItc2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZjUwNSJ9LmZhLXdpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzJlIn0uZmEtY2FyLWJ1cnN0OmJlZm9yZSwuZmEtY2FyLWNyYXNoOmJlZm9yZXtjb250ZW50OiJcZjVlMSJ9LmZhLXk6YmVmb3Jle2NvbnRlbnQ6Ilw1OSJ9LmZhLXBlcnNvbi1zbm93Ym9hcmRpbmc6YmVmb3JlLC5mYS1zbm93Ym9hcmRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmN2NlIn0uZmEtc2hpcHBpbmctZmFzdDpiZWZvcmUsLmZhLXRydWNrLWZhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNDhiIn0uZmEtZmlzaDpiZWZvcmV7Y29udGVudDoiXGY1NzgifS5mYS11c2VyLWdyYWR1YXRlOmJlZm9yZXtjb250ZW50OiJcZjUwMSJ9LmZhLWFkanVzdDpiZWZvcmUsLmZhLWNpcmNsZS1oYWxmLXN0cm9rZTpiZWZvcmV7Y29udGVudDoiXGYwNDIifS5mYS1jbGFwcGVyYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTMxIn0uZmEtY2lyY2xlLXJhZGlhdGlvbjpiZWZvcmUsLmZhLXJhZGlhdGlvbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2JhIn0uZmEtYmFzZWJhbGwtYmFsbDpiZWZvcmUsLmZhLWJhc2ViYWxsOmJlZm9yZXtjb250ZW50OiJcZjQzMyJ9LmZhLWpldC1maWdodGVyLXVwOmJlZm9yZXtjb250ZW50OiJcZTUxOCJ9LmZhLWRpYWdyYW0tcHJvamVjdDpiZWZvcmUsLmZhLXByb2plY3QtZGlhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGY1NDIifS5mYS1jb3B5OmJlZm9yZXtjb250ZW50OiJcZjBjNSJ9LmZhLXZvbHVtZS1tdXRlOmJlZm9yZSwuZmEtdm9sdW1lLXRpbWVzOmJlZm9yZSwuZmEtdm9sdW1lLXhtYXJrOmJlZm9yZXtjb250ZW50OiJcZjZhOSJ9LmZhLWhhbmQtc3BhcmtsZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDVkIn0uZmEtZ3JpcC1ob3Jpem9udGFsOmJlZm9yZSwuZmEtZ3JpcDpiZWZvcmV7Y29udGVudDoiXGY1OGQifS5mYS1zaGFyZS1mcm9tLXNxdWFyZTpiZWZvcmUsLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGQifS5mYS1jaGlsZC1jb21iYXRhbnQ6YmVmb3JlLC5mYS1jaGlsZC1yaWZsZTpiZWZvcmV7Y29udGVudDoiXGU0ZTAifS5mYS1ndW46YmVmb3Jle2NvbnRlbnQ6IlxlMTliIn0uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjA5OCJ9LmZhLWFkZDpiZWZvcmUsLmZhLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlwyYiJ9LmZhLWV4cGFuZDpiZWZvcmV7Y29udGVudDoiXGYwNjUifS5mYS1jb21wdXRlcjpiZWZvcmV7Y29udGVudDoiXGU0ZTUifS5mYS1jbG9zZTpiZWZvcmUsLmZhLW11bHRpcGx5OmJlZm9yZSwuZmEtcmVtb3ZlOmJlZm9yZSwuZmEtdGltZXM6YmVmb3JlLC5mYS14bWFyazpiZWZvcmV7Y29udGVudDoiXGYwMGQifS5mYS1hcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0OmJlZm9yZSwuZmEtYXJyb3dzOmJlZm9yZXtjb250ZW50OiJcZjA0NyJ9LmZhLWNoYWxrYm9hcmQtdGVhY2hlcjpiZWZvcmUsLmZhLWNoYWxrYm9hcmQtdXNlcjpiZWZvcmV7Y29udGVudDoiXGY1MWMifS5mYS1wZXNvLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMjIyIn0uZmEtYnVpbGRpbmctc2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZTRkOCJ9LmZhLWJhYnk6YmVmb3Jle2NvbnRlbnQ6IlxmNzdjIn0uZmEtdXNlcnMtbGluZTpiZWZvcmV7Y29udGVudDoiXGU1OTIifS5mYS1xdW90ZS1sZWZ0LWFsdDpiZWZvcmUsLmZhLXF1b3RlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBkIn0uZmEtdHJhY3RvcjpiZWZvcmV7Y29udGVudDoiXGY3MjIifS5mYS10cmFzaC1hcnJvdy11cDpiZWZvcmUsLmZhLXRyYXNoLXJlc3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmODI5In0uZmEtYXJyb3ctZG93bi11cC1sb2NrOmJlZm9yZXtjb250ZW50OiJcZTRiMCJ9LmZhLWxpbmVzLWxlYW5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxlNTFlIn0uZmEtcnVsZXItY29tYmluZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ2In0uZmEtY29weXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjFmOSJ9LmZhLWVxdWFsczpiZWZvcmV7Y29udGVudDoiXDNkIn0uZmEtYmxlbmRlcjpiZWZvcmV7Y29udGVudDoiXGY1MTcifS5mYS10ZWV0aDpiZWZvcmV7Y29udGVudDoiXGY2MmUifS5mYS1pbHM6YmVmb3JlLC5mYS1zaGVrZWwtc2lnbjpiZWZvcmUsLmZhLXNoZWtlbDpiZWZvcmUsLmZhLXNoZXFlbC1zaWduOmJlZm9yZSwuZmEtc2hlcWVsOmJlZm9yZXtjb250ZW50OiJcZjIwYiJ9LmZhLW1hcDpiZWZvcmV7Y29udGVudDoiXGYyNzkifS5mYS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM1In0uZmEtcGhvdG8tZmlsbTpiZWZvcmUsLmZhLXBob3RvLXZpZGVvOmJlZm9yZXtjb250ZW50OiJcZjg3YyJ9LmZhLWZvbGRlci1taW51czpiZWZvcmV7Y29udGVudDoiXGY2NWQifS5mYS1zdG9yZTpiZWZvcmV7Y29udGVudDoiXGY1NGUifS5mYS1hcnJvdy10cmVuZC11cDpiZWZvcmV7Y29udGVudDoiXGUwOTgifS5mYS1wbHVnLWNpcmNsZS1taW51czpiZWZvcmV7Y29udGVudDoiXGU1NWUifS5mYS1zaWduLWhhbmdpbmc6YmVmb3JlLC5mYS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjRkOSJ9LmZhLWJlemllci1jdXJ2ZTpiZWZvcmV7Y29udGVudDoiXGY1NWIifS5mYS1iZWxsLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjFmNiJ9LmZhLXRhYmxldC1hbmRyb2lkOmJlZm9yZSwuZmEtdGFibGV0OmJlZm9yZXtjb250ZW50OiJcZjNmYiJ9LmZhLXNjaG9vbC1mbGFnOmJlZm9yZXtjb250ZW50OiJcZTU2ZSJ9LmZhLWZpbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNTc1In0uZmEtYW5nbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTA2In0uZmEtZHJ1bXN0aWNrLWJpdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNmQ3In0uZmEtaG9sbHktYmVycnk6YmVmb3Jle2NvbnRlbnQ6IlxmN2FhIn0uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjA1MyJ9LmZhLWJhY3RlcmlhOmJlZm9yZXtjb250ZW50OiJcZTA1OSJ9LmZhLWhhbmQtbGl6YXJkOmJlZm9yZXtjb250ZW50OiJcZjI1OCJ9LmZhLW5vdGRlZjpiZWZvcmV7Y29udGVudDoiXGUxZmUifS5mYS1kaXNlYXNlOmJlZm9yZXtjb250ZW50OiJcZjdmYSJ9LmZhLWJyaWVmY2FzZS1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjQ2OSJ9LmZhLWdlbmRlcmxlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjJkIn0uZmEtY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNTQifS5mYS1yZXR3ZWV0OmJlZm9yZXtjb250ZW50OiJcZjA3OSJ9LmZhLWNhci1hbHQ6YmVmb3JlLC5mYS1jYXItcmVhcjpiZWZvcmV7Y29udGVudDoiXGY1ZGUifS5mYS1wdW1wLXNvYXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDZiIn0uZmEtdmlkZW8tc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGUyIn0uZmEtYmF0dGVyeS0yOmJlZm9yZSwuZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZXtjb250ZW50OiJcZjI0MyJ9LmZhLXJhZGlvOmJlZm9yZXtjb250ZW50OiJcZjhkNyJ9LmZhLWJhYnktY2FycmlhZ2U6YmVmb3JlLC5mYS1jYXJyaWFnZS1iYWJ5OmJlZm9yZXtjb250ZW50OiJcZjc3ZCJ9LmZhLXRyYWZmaWMtbGlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjM3In0uZmEtdGhlcm1vbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDkxIn0uZmEtdnItY2FyZGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjcyOSJ9LmZhLWhhbmQtbWlkZGxlLWZpbmdlcjpiZWZvcmV7Y29udGVudDoiXGY4MDYifS5mYS1wZXJjZW50OmJlZm9yZSwuZmEtcGVyY2VudGFnZTpiZWZvcmV7Y29udGVudDoiXDI1In0uZmEtdHJ1Y2stbW92aW5nOmJlZm9yZXtjb250ZW50OiJcZjRkZiJ9LmZhLWdsYXNzLXdhdGVyLWRyb3BsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNGY1In0uZmEtZGlzcGxheTpiZWZvcmV7Y29udGVudDoiXGUxNjMifS5mYS1mYWNlLXNtaWxlOmJlZm9yZSwuZmEtc21pbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTE4In0uZmEtdGh1bWItdGFjazpiZWZvcmUsLmZhLXRodW1idGFjazpiZWZvcmV7Y29udGVudDoiXGYwOGQifS5mYS10cm9waHk6YmVmb3Jle2NvbnRlbnQ6IlxmMDkxIn0uZmEtcGVyc29uLXByYXlpbmc6YmVmb3JlLC5mYS1wcmF5OmJlZm9yZXtjb250ZW50OiJcZjY4MyJ9LmZhLWhhbW1lcjpiZWZvcmV7Y29udGVudDoiXGY2ZTMifS5mYS1oYW5kLXBlYWNlOmJlZm9yZXtjb250ZW50OiJcZjI1YiJ9LmZhLXJvdGF0ZTpiZWZvcmUsLmZhLXN5bmMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjJmMSJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTEwIn0uZmEtcm9ib3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ0In0uZmEtcGVhY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNjdjIn0uZmEtY29nczpiZWZvcmUsLmZhLWdlYXJzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLXdhcmVob3VzZTpiZWZvcmV7Y29udGVudDoiXGY0OTQifS5mYS1hcnJvdy11cC1yaWdodC1kb3RzOmJlZm9yZXtjb250ZW50OiJcZTRiNyJ9LmZhLXNwbG90Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmNWJjIn0uZmEtZmFjZS1ncmluLWhlYXJ0czpiZWZvcmUsLmZhLWdyaW4taGVhcnRzOmJlZm9yZXtjb250ZW50OiJcZjU4NCJ9LmZhLWRpY2UtZm91cjpiZWZvcmV7Y29udGVudDoiXGY1MjQifS5mYS1zaW0tY2FyZDpiZWZvcmV7Y29udGVudDoiXGY3YzQifS5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlLC5mYS10cmFuc2dlbmRlcjpiZWZvcmV7Y29udGVudDoiXGYyMjUifS5mYS1tZXJjdXJ5OmJlZm9yZXtjb250ZW50OiJcZjIyMyJ9LmZhLWFycm93LXR1cm4tZG93bjpiZWZvcmUsLmZhLWxldmVsLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTQ5In0uZmEtcGVyc29uLWZhbGxpbmctYnVyc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlNTQ3In0uZmEtYXdhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTU5In0uZmEtdGlja2V0LWFsdDpiZWZvcmUsLmZhLXRpY2tldC1zaW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2ZmIn0uZmEtYnVpbGRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMWFkIn0uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlLC5mYS1hbmdsZXMtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMDAifS5mYS1xcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDI5In0uZmEtY2xvY2stcm90YXRlLWxlZnQ6YmVmb3JlLC5mYS1oaXN0b3J5OmJlZm9yZXtjb250ZW50OiJcZjFkYSJ9LmZhLWZhY2UtZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZSwuZmEtZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZXtjb250ZW50OiJcZjU4MyJ9LmZhLWFycm93LXJpZ2h0LWZyb20tZmlsZTpiZWZvcmUsLmZhLWZpbGUtZXhwb3J0OmJlZm9yZXtjb250ZW50OiJcZjU2ZSJ9LmZhLXNoaWVsZC1ibGFuazpiZWZvcmUsLmZhLXNoaWVsZDpiZWZvcmV7Y29udGVudDoiXGYxMzIifS5mYS1hcnJvdy11cC1zaG9ydC13aWRlOmJlZm9yZSwuZmEtc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4NSJ9LmZhLWhvdXNlLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlM2IyIn0uZmEtZ29sZi1iYWxsLXRlZTpiZWZvcmUsLmZhLWdvbGYtYmFsbDpiZWZvcmV7Y29udGVudDoiXGY0NTAifS5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSwuZmEtY2lyY2xlLWNoZXZyb24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMzcifS5mYS1ob3VzZS1jaGltbmV5LXdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGUwMGQifS5mYS1wZW4tbmliOmJlZm9yZXtjb250ZW50OiJcZjVhZCJ9LmZhLXRlbnQtYXJyb3ctdHVybi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTU4MCJ9LmZhLXRlbnRzOmJlZm9yZXtjb250ZW50OiJcZTU4MiJ9LmZhLW1hZ2ljOmJlZm9yZSwuZmEtd2FuZC1tYWdpYzpiZWZvcmV7Y29udGVudDoiXGYwZDAifS5mYS1kb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNmQzIn0uZmEtY2Fycm90OmJlZm9yZXtjb250ZW50OiJcZjc4NyJ9LmZhLW1vb246YmVmb3Jle2NvbnRlbnQ6IlxmMTg2In0uZmEtd2luZS1nbGFzcy1hbHQ6YmVmb3JlLC5mYS13aW5lLWdsYXNzLWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjVjZSJ9LmZhLWNoZWVzZTpiZWZvcmV7Y29udGVudDoiXGY3ZWYifS5mYS15aW4teWFuZzpiZWZvcmV7Y29udGVudDoiXGY2YWQifS5mYS1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGYwMDEifS5mYS1jb2RlLWNvbW1pdDpiZWZvcmV7Y29udGVudDoiXGYzODYifS5mYS10ZW1wZXJhdHVyZS1sb3c6YmVmb3Jle2NvbnRlbnQ6IlxmNzZiIn0uZmEtYmlraW5nOmJlZm9yZSwuZmEtcGVyc29uLWJpa2luZzpiZWZvcmV7Y29udGVudDoiXGY4NGEifS5mYS1icm9vbTpiZWZvcmV7Y29udGVudDoiXGY1MWEifS5mYS1zaGllbGQtaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTc0In0uZmEtZ29wdXJhbTpiZWZvcmV7Y29udGVudDoiXGY2NjQifS5mYS1lYXJ0aC1vY2VhbmlhOmJlZm9yZSwuZmEtZ2xvYmUtb2NlYW5pYTpiZWZvcmV7Y29udGVudDoiXGU0N2IifS5mYS1zcXVhcmUteG1hcms6YmVmb3JlLC5mYS10aW1lcy1zcXVhcmU6YmVmb3JlLC5mYS14bWFyay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmQzIn0uZmEtaGFzaHRhZzpiZWZvcmV7Y29udGVudDoiXDIzIn0uZmEtZXhwYW5kLWFsdDpiZWZvcmUsLmZhLXVwLXJpZ2h0LWFuZC1kb3duLWxlZnQtZnJvbS1jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDI0In0uZmEtb2lsLWNhbjpiZWZvcmV7Y29udGVudDoiXGY2MTMifS5mYS10OmJlZm9yZXtjb250ZW50OiJcNTQifS5mYS1oaXBwbzpiZWZvcmV7Y29udGVudDoiXGY2ZWQifS5mYS1jaGFydC1jb2x1bW46YmVmb3Jle2NvbnRlbnQ6IlxlMGUzIn0uZmEtaW5maW5pdHk6YmVmb3Jle2NvbnRlbnQ6IlxmNTM0In0uZmEtdmlhbC1jaXJjbGUtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNTk2In0uZmEtcGVyc29uLWFycm93LWRvd24tdG8tbGluZTpiZWZvcmV7Y29udGVudDoiXGU1MzgifS5mYS12b2ljZW1haWw6YmVmb3Jle2NvbnRlbnQ6IlxmODk3In0uZmEtZmFuOmJlZm9yZXtjb250ZW50OiJcZjg2MyJ9LmZhLXBlcnNvbi13YWxraW5nLWx1Z2dhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlNTU0In0uZmEtYXJyb3dzLWFsdC12OmJlZm9yZSwuZmEtdXAtZG93bjpiZWZvcmV7Y29udGVudDoiXGYzMzgifS5mYS1jbG91ZC1tb29uLXJhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNzNjIn0uZmEtY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTMzIn0uZmEtdHJhaWxlcjpiZWZvcmV7Y29udGVudDoiXGUwNDEifS5mYS1iYWhhaTpiZWZvcmUsLmZhLWhheWthbDpiZWZvcmV7Y29udGVudDoiXGY2NjYifS5mYS1zZC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjdjMiJ9LmZhLWRyYWdvbjpiZWZvcmV7Y29udGVudDoiXGY2ZDUifS5mYS1zaG9lLXByaW50czpiZWZvcmV7Y29udGVudDoiXGY1NGIifS5mYS1jaXJjbGUtcGx1czpiZWZvcmUsLmZhLXBsdXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NSJ9LmZhLWZhY2UtZ3Jpbi10b25ndWUtd2luazpiZWZvcmUsLmZhLWdyaW4tdG9uZ3VlLXdpbms6YmVmb3Jle2NvbnRlbnQ6IlxmNThiIn0uZmEtaGFuZC1ob2xkaW5nOmJlZm9yZXtjb250ZW50OiJcZjRiZCJ9LmZhLXBsdWctY2lyY2xlLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZTU1ZCJ9LmZhLWNoYWluLWJyb2tlbjpiZWZvcmUsLmZhLWNoYWluLXNsYXNoOmJlZm9yZSwuZmEtbGluay1zbGFzaDpiZWZvcmUsLmZhLXVubGluazpiZWZvcmV7Y29udGVudDoiXGYxMjcifS5mYS1jbG9uZTpiZWZvcmV7Y29udGVudDoiXGYyNGQifS5mYS1wZXJzb24td2Fsa2luZy1hcnJvdy1sb29wLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNTUxIn0uZmEtYXJyb3ctdXAtei1hOmJlZm9yZSwuZmEtc29ydC1hbHBoYS11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODgyIn0uZmEtZmlyZS1hbHQ6YmVmb3JlLC5mYS1maXJlLWZsYW1lLWN1cnZlZDpiZWZvcmV7Y29udGVudDoiXGY3ZTQifS5mYS10b3JuYWRvOmJlZm9yZXtjb250ZW50OiJcZjc2ZiJ9LmZhLWZpbGUtY2lyY2xlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlNDk0In0uZmEtYm9vay1xdXJhbjpiZWZvcmUsLmZhLXF1cmFuOmJlZm9yZXtjb250ZW50OiJcZjY4NyJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5mYS1ib3JkZXItYWxsOmJlZm9yZXtjb250ZW50OiJcZjg0YyJ9LmZhLWFuZ3J5OmJlZm9yZSwuZmEtZmFjZS1hbmdyeTpiZWZvcmV7Y29udGVudDoiXGY1NTYifS5mYS1jb29raWUtYml0ZTpiZWZvcmV7Y29udGVudDoiXGY1NjQifS5mYS1hcnJvdy10cmVuZC1kb3duOmJlZm9yZXtjb250ZW50OiJcZTA5NyJ9LmZhLWZlZWQ6YmVmb3JlLC5mYS1yc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDllIn0uZmEtZHJhdy1wb2x5Z29uOmJlZm9yZXtjb250ZW50OiJcZjVlZSJ9LmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlLC5mYS1zY2FsZS1iYWxhbmNlZDpiZWZvcmV7Y29udGVudDoiXGYyNGUifS5mYS1nYXVnZS1zaW1wbGUtaGlnaDpiZWZvcmUsLmZhLXRhY2hvbWV0ZXItZmFzdDpiZWZvcmUsLmZhLXRhY2hvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjJhIn0uZmEtc2hvd2VyOmJlZm9yZXtjb250ZW50OiJcZjJjYyJ9LmZhLWRlc2t0b3AtYWx0OmJlZm9yZSwuZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGYzOTAifS5mYS1tOmJlZm9yZXtjb250ZW50OiJcNGQifS5mYS10YWJsZS1saXN0OmJlZm9yZSwuZmEtdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMGIifS5mYS1jb21tZW50LXNtczpiZWZvcmUsLmZhLXNtczpiZWZvcmV7Y29udGVudDoiXGY3Y2QifS5mYS1ib29rOmJlZm9yZXtjb250ZW50OiJcZjAyZCJ9LmZhLXVzZXItcGx1czpiZWZvcmV7Y29udGVudDoiXGYyMzQifS5mYS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYwMGMifS5mYS1iYXR0ZXJ5LTQ6YmVmb3JlLC5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OiJcZjI0MSJ9LmZhLWhvdXNlLWNpcmNsZS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGU1MDkifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9LmZhLWRpYWdyYW0tc3VjY2Vzc29yOmJlZm9yZXtjb250ZW50OiJcZTQ3YSJ9LmZhLXRydWNrLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTU4YiJ9LmZhLWFycm93cy1zcGxpdC11cC1hbmQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGU0YmMifS5mYS1maXN0LXJhaXNlZDpiZWZvcmUsLmZhLWhhbmQtZmlzdDpiZWZvcmV7Y29udGVudDoiXGY2ZGUifS5mYS1jbG91ZC1tb29uOmJlZm9yZXtjb250ZW50OiJcZjZjMyJ9LmZhLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGYwYjEifS5mYS1wZXJzb24tZmFsbGluZzpiZWZvcmV7Y29udGVudDoiXGU1NDYifS5mYS1pbWFnZS1wb3J0cmFpdDpiZWZvcmUsLmZhLXBvcnRyYWl0OmJlZm9yZXtjb250ZW50OiJcZjNlMCJ9LmZhLXVzZXItdGFnOmJlZm9yZXtjb250ZW50OiJcZjUwNyJ9LmZhLXJ1ZzpiZWZvcmV7Y29udGVudDoiXGU1NjkifS5mYS1lYXJ0aC1ldXJvcGU6YmVmb3JlLC5mYS1nbG9iZS1ldXJvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmN2EyIn0uZmEtY2FydC1mbGF0YmVkLXN1aXRjYXNlOmJlZm9yZSwuZmEtbHVnZ2FnZS1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjU5ZCJ9LmZhLXJlY3RhbmdsZS10aW1lczpiZWZvcmUsLmZhLXJlY3RhbmdsZS14bWFyazpiZWZvcmUsLmZhLXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUsLmZhLXdpbmRvdy1jbG9zZTpiZWZvcmV7Y29udGVudDoiXGY0MTAifS5mYS1iYWh0LXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMGFjIn0uZmEtYm9vay1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjUxOCJ9LmZhLWJvb2stam91cm5hbC13aGlsbHM6YmVmb3JlLC5mYS1qb3VybmFsLXdoaWxsczpiZWZvcmV7Y29udGVudDoiXGY2NmEifS5mYS1oYW5kY3VmZnM6YmVmb3Jle2NvbnRlbnQ6IlxlNGY4In0uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlLC5mYS10cmlhbmdsZS1leGNsYW1hdGlvbjpiZWZvcmUsLmZhLXdhcm5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMDcxIn0uZmEtZGF0YWJhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWMwIn0uZmEtYXJyb3ctdHVybi1yaWdodDpiZWZvcmUsLmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsLmZhLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjA2NCJ9LmZhLWJvdHRsZS1kcm9wbGV0OmJlZm9yZXtjb250ZW50OiJcZTRjNCJ9LmZhLW1hc2stZmFjZTpiZWZvcmV7Y29udGVudDoiXGUxZDcifS5mYS1oaWxsLXJvY2tzbGlkZTpiZWZvcmV7Y29udGVudDoiXGU1MDgifS5mYS1leGNoYW5nZS1hbHQ6YmVmb3JlLC5mYS1yaWdodC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjM2MiJ9LmZhLXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjFkOCJ9LmZhLXJvYWQtY2lyY2xlLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZTU2NSJ9LmZhLWR1bmdlb246YmVmb3Jle2NvbnRlbnQ6IlxmNmQ5In0uZmEtYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM4In0uZmEtbW9uZXktYmlsbC0xLXdhdmU6YmVmb3JlLC5mYS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjUzYiJ9LmZhLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDoiXGYxY2QifS5mYS1oYW5kczpiZWZvcmUsLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlLC5mYS1zaWduaW5nOmJlZm9yZXtjb250ZW50OiJcZjJhNyJ9LmZhLWNhbGVuZGFyLWRheTpiZWZvcmV7Y29udGVudDoiXGY3ODMifS5mYS1sYWRkZXItd2F0ZXI6YmVmb3JlLC5mYS1zd2ltbWluZy1wb29sOmJlZm9yZSwuZmEtd2F0ZXItbGFkZGVyOmJlZm9yZXtjb250ZW50OiJcZjVjNSJ9LmZhLWFycm93cy11cC1kb3duOmJlZm9yZSwuZmEtYXJyb3dzLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMDdkIn0uZmEtZmFjZS1ncmltYWNlOmJlZm9yZSwuZmEtZ3JpbWFjZTpiZWZvcmV7Y29udGVudDoiXGY1N2YifS5mYS13aGVlbGNoYWlyLWFsdDpiZWZvcmUsLmZhLXdoZWVsY2hhaXItbW92ZTpiZWZvcmV7Y29udGVudDoiXGUyY2UifS5mYS1sZXZlbC1kb3duLWFsdDpiZWZvcmUsLmZhLXR1cm4tZG93bjpiZWZvcmV7Y29udGVudDoiXGYzYmUifS5mYS1wZXJzb24td2Fsa2luZy1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU1NTIifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlLC5mYS1zcXVhcmUtZW52ZWxvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtZGljZTpiZWZvcmV7Y29udGVudDoiXGY1MjIifS5mYS1ib3dsaW5nLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDM2In0uZmEtYnJhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNWRjIn0uZmEtYmFuZC1haWQ6YmVmb3JlLC5mYS1iYW5kYWdlOmJlZm9yZXtjb250ZW50OiJcZjQ2MiJ9LmZhLWNhbGVuZGFyLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjI3MiJ9LmZhLWNpcmNsZS14bWFyazpiZWZvcmUsLmZhLXRpbWVzLWNpcmNsZTpiZWZvcmUsLmZhLXhtYXJrLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTcifS5mYS1naWZ0czpiZWZvcmV7Y29udGVudDoiXGY3OWMifS5mYS1ob3RlbDpiZWZvcmV7Y29udGVudDoiXGY1OTQifS5mYS1lYXJ0aC1hc2lhOmJlZm9yZSwuZmEtZ2xvYmUtYXNpYTpiZWZvcmV7Y29udGVudDoiXGY1N2UifS5mYS1pZC1jYXJkLWFsdDpiZWZvcmUsLmZhLWlkLWNhcmQtY2xpcDpiZWZvcmV7Y29udGVudDoiXGY0N2YifS5mYS1tYWduaWZ5aW5nLWdsYXNzLXBsdXM6YmVmb3JlLC5mYS1zZWFyY2gtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwMGUifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTY0In0uZmEtdXNlci1jbG9jazpiZWZvcmV7Y29udGVudDoiXGY0ZmQifS5mYS1hbGxlcmdpZXM6YmVmb3JlLC5mYS1oYW5kLWRvdHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDYxIn0uZmEtZmlsZS1pbnZvaWNlOmJlZm9yZXtjb250ZW50OiJcZjU3MCJ9LmZhLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmV7Y29udGVudDoiXGYyZDEifS5mYS1jb2ZmZWU6YmVmb3JlLC5mYS1tdWctc2F1Y2VyOmJlZm9yZXtjb250ZW50OiJcZjBmNCJ9LmZhLWJydXNoOmJlZm9yZXtjb250ZW50OiJcZjU1ZCJ9LmZhLW1hc2s6YmVmb3Jle2NvbnRlbnQ6IlxmNmZhIn0uZmEtbWFnbmlmeWluZy1nbGFzcy1taW51czpiZWZvcmUsLmZhLXNlYXJjaC1taW51czpiZWZvcmV7Y29udGVudDoiXGYwMTAifS5mYS1ydWxlci12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGY1NDgifS5mYS11c2VyLWFsdDpiZWZvcmUsLmZhLXVzZXItbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDA2In0uZmEtdHJhaW4tdHJhbTpiZWZvcmV7Y29udGVudDoiXGU1YjQifS5mYS11c2VyLW51cnNlOmJlZm9yZXtjb250ZW50OiJcZjgyZiJ9LmZhLXN5cmluZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDhlIn0uZmEtY2xvdWQtc3VuOmJlZm9yZXtjb250ZW50OiJcZjZjNCJ9LmZhLXN0b3B3YXRjaC0yMDpiZWZvcmV7Y29udGVudDoiXGUwNmYifS5mYS1zcXVhcmUtZnVsbDpiZWZvcmV7Y29udGVudDoiXGY0NWMifS5mYS1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc2In0uZmEtamFyOmJlZm9yZXtjb250ZW50OiJcZTUxNiJ9LmZhLW5vdGUtc3RpY2t5OmJlZm9yZSwuZmEtc3RpY2t5LW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ5In0uZmEtYnVnLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTQ5MCJ9LmZhLWFycm93LXVwLWZyb20td2F0ZXItcHVtcDpiZWZvcmV7Y29udGVudDoiXGU0YjYifS5mYS1ib25lOmJlZm9yZXtjb250ZW50OiJcZjVkNyJ9LmZhLXVzZXItaW5qdXJlZDpiZWZvcmV7Y29udGVudDoiXGY3MjgifS5mYS1mYWNlLXNhZC10ZWFyOmJlZm9yZSwuZmEtc2FkLXRlYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWI0In0uZmEtcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcyIn0uZmEtdGVudC1hcnJvd3MtZG93bjpiZWZvcmV7Y29udGVudDoiXGU1ODEifS5mYS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXDIxIn0uZmEtYXJyb3dzLXNwaW46YmVmb3Jle2NvbnRlbnQ6IlxlNGJiIn0uZmEtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDJmIn0uZmEtdHJ5OmJlZm9yZSwuZmEtdHVya2lzaC1saXJhLXNpZ246YmVmb3JlLC5mYS10dXJraXNoLWxpcmE6YmVmb3Jle2NvbnRlbnQ6IlxlMmJiIn0uZmEtZG9sbGFyLXNpZ246YmVmb3JlLC5mYS1kb2xsYXI6YmVmb3JlLC5mYS11c2Q6YmVmb3Jle2NvbnRlbnQ6IlwyNCJ9LmZhLXg6YmVmb3Jle2NvbnRlbnQ6Ilw1OCJ9LmZhLW1hZ25pZnlpbmctZ2xhc3MtZG9sbGFyOmJlZm9yZSwuZmEtc2VhcmNoLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY2ODgifS5mYS11c2Vycy1jb2c6YmVmb3JlLC5mYS11c2Vycy1nZWFyOmJlZm9yZXtjb250ZW50OiJcZjUwOSJ9LmZhLXBlcnNvbi1taWxpdGFyeS1wb2ludGluZzpiZWZvcmV7Y29udGVudDoiXGU1NGEifS5mYS1iYW5rOmJlZm9yZSwuZmEtYnVpbGRpbmctY29sdW1uczpiZWZvcmUsLmZhLWluc3RpdHV0aW9uOmJlZm9yZSwuZmEtbXVzZXVtOmJlZm9yZSwuZmEtdW5pdmVyc2l0eTpiZWZvcmV7Y29udGVudDoiXGYxOWMifS5mYS11bWJyZWxsYTpiZWZvcmV7Y29udGVudDoiXGYwZTkifS5mYS10cm93ZWw6YmVmb3Jle2NvbnRlbnQ6IlxlNTg5In0uZmEtZDpiZWZvcmV7Y29udGVudDoiXDQ0In0uZmEtc3RhcGxlcjpiZWZvcmV7Y29udGVudDoiXGU1YWYifS5mYS1tYXNrcy10aGVhdGVyOmJlZm9yZSwuZmEtdGhlYXRlci1tYXNrczpiZWZvcmV7Y29udGVudDoiXGY2MzAifS5mYS1raXAtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUxYzQifS5mYS1oYW5kLXBvaW50LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE1In0uZmEtaGFuZHNoYWtlLWFsdDpiZWZvcmUsLmZhLWhhbmRzaGFrZS1zaW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGM2In0uZmEtZmlnaHRlci1qZXQ6YmVmb3JlLC5mYS1qZXQtZmlnaHRlcjpiZWZvcmV7Y29udGVudDoiXGYwZmIifS5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLXNoYXJlLW5vZGVzOmJlZm9yZXtjb250ZW50OiJcZjFlMSJ9LmZhLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDJhIn0uZmEtcGx1cy1taW51czpiZWZvcmV7Y29udGVudDoiXGU0M2MifS5mYS12aWRlby1jYW1lcmE6YmVmb3JlLC5mYS12aWRlbzpiZWZvcmV7Y29udGVudDoiXGYwM2QifS5mYS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUsLmZhLW1vcnRhci1ib2FyZDpiZWZvcmV7Y29udGVudDoiXGYxOWQifS5mYS1oYW5kLWhvbGRpbmctbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGUwNWMifS5mYS1wZXJzb24tY2lyY2xlLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZTUzZSJ9LmZhLWxldmVsLXVwLWFsdDpiZWZvcmUsLmZhLXR1cm4tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmM2JmIn0KLmZhLXNyLW9ubHksLmZhLXNyLW9ubHktZm9jdXNhYmxlOm5vdCg6Zm9jdXMpLC5zci1vbmx5LC5zci1vbmx5LWZvY3VzYWJsZTpub3QoOmZvY3VzKXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDtwYWRkaW5nOjA7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLDAsMCwwKTt3aGl0ZS1zcGFjZTpub3dyYXA7Ym9yZGVyLXdpZHRoOjB9Omhvc3QsOnJvb3R7LS1mYS1zdHlsZS1mYW1pbHktYnJhbmRzOiJGb250IEF3ZXNvbWUgNiBCcmFuZHMiOy0tZmEtZm9udC1icmFuZHM6bm9ybWFsIDQwMCAxZW0vMSAiRm9udCBBd2Vzb21lIDYgQnJhbmRzIn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNiBCcmFuZHMiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LWRpc3BsYXk6YmxvY2s7c3JjOnVybCguLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLndvZmYyKSBmb3JtYXQoIndvZmYyIiksdXJsKC4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAudHRmKSBmb3JtYXQoInRydWV0eXBlIil9LmZhLWJyYW5kcywuZmFie2ZvbnQtd2VpZ2h0OjQwMH0uZmEtbW9uZXJvOmJlZm9yZXtjb250ZW50OiJcZjNkMCJ9LmZhLWhvb2xpOmJlZm9yZXtjb250ZW50OiJcZjQyNyJ9LmZhLXllbHA6YmVmb3Jle2NvbnRlbnQ6IlxmMWU5In0uZmEtY2MtdmlzYTpiZWZvcmV7Y29udGVudDoiXGYxZjAifS5mYS1sYXN0Zm06YmVmb3Jle2NvbnRlbnQ6IlxmMjAyIn0uZmEtc2hvcHdhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNWI1In0uZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmV7Y29udGVudDoiXGY0ZTgifS5mYS1hd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMzc1In0uZmEtcmVkaGF0OmJlZm9yZXtjb250ZW50OiJcZjdiYyJ9LmZhLXlvYXN0OmJlZm9yZXtjb250ZW50OiJcZjJiMSJ9LmZhLWNsb3VkZmxhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDdkIn0uZmEtdXBzOmJlZm9yZXtjb250ZW50OiJcZjdlMCJ9LmZhLXdwZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmRlIn0uZmEtZHlhbG9nOmJlZm9yZXtjb250ZW50OiJcZjM5OSJ9LmZhLWJpdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMzdhIn0uZmEtc3RhY2twYXRoOmJlZm9yZXtjb250ZW50OiJcZjg0MiJ9LmZhLWJ1eXNlbGxhZHM6YmVmb3Jle2NvbnRlbnQ6IlxmMjBkIn0uZmEtZmlyc3Qtb3JkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmIwIn0uZmEtbW9keDpiZWZvcmV7Y29udGVudDoiXGYyODUifS5mYS1ndWlsZGVkOmJlZm9yZXtjb250ZW50OiJcZTA3ZSJ9LmZhLXZudjpiZWZvcmV7Y29udGVudDoiXGY0MGIifS5mYS1qcy1zcXVhcmU6YmVmb3JlLC5mYS1zcXVhcmUtanM6YmVmb3Jle2NvbnRlbnQ6IlxmM2I5In0uZmEtbWljcm9zb2Z0OmJlZm9yZXtjb250ZW50OiJcZjNjYSJ9LmZhLXFxOmJlZm9yZXtjb250ZW50OiJcZjFkNiJ9LmZhLW9yY2lkOmJlZm9yZXtjb250ZW50OiJcZjhkMiJ9LmZhLWphdmE6YmVmb3Jle2NvbnRlbnQ6IlxmNGU0In0uZmEtaW52aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmN2IwIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGVkIn0uZmEtY2VudGVyY29kZTpiZWZvcmV7Y29udGVudDoiXGYzODAifS5mYS1nbGlkZS1nOmJlZm9yZXtjb250ZW50OiJcZjJhNiJ9LmZhLWRydXBhbDpiZWZvcmV7Y29udGVudDoiXGYxYTkifS5mYS1oaXJlLWEtaGVscGVyOmJlZm9yZXtjb250ZW50OiJcZjNiMCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtYnk6YmVmb3Jle2NvbnRlbnQ6IlxmNGU3In0uZmEtdW5pdHk6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ5In0uZmEtd2htY3M6YmVmb3Jle2NvbnRlbnQ6IlxmNDBkIn0uZmEtcm9ja2V0Y2hhdDpiZWZvcmV7Y29udGVudDoiXGYzZTgifS5mYS12azpiZWZvcmV7Y29udGVudDoiXGYxODkifS5mYS11bnRhcHBkOmJlZm9yZXtjb250ZW50OiJcZjQwNSJ9LmZhLW1haWxjaGltcDpiZWZvcmV7Y29udGVudDoiXGY1OWUifS5mYS1jc3MzLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzOGIifS5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLXJlZGRpdDpiZWZvcmV7Y29udGVudDoiXGYxYTIifS5mYS12aW1lby12OmJlZm9yZXtjb250ZW50OiJcZjI3ZCJ9LmZhLWNvbnRhbzpiZWZvcmV7Y29udGVudDoiXGYyNmQifS5mYS1zcXVhcmUtZm9udC1hd2Vzb21lOmJlZm9yZXtjb250ZW50OiJcZTVhZCJ9LmZhLWRlc2twcm86YmVmb3Jle2NvbnRlbnQ6IlxmMzhmIn0uZmEtc2lzdHJpeDpiZWZvcmV7Y29udGVudDoiXGYzZWUifS5mYS1pbnN0YWdyYW0tc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGUwNTUifS5mYS1iYXR0bGUtbmV0OmJlZm9yZXtjb250ZW50OiJcZjgzNSJ9LmZhLXRoZS1yZWQteWV0aTpiZWZvcmV7Y29udGVudDoiXGY2OWQifS5mYS1oYWNrZXItbmV3cy1zcXVhcmU6YmVmb3JlLC5mYS1zcXVhcmUtaGFja2VyLW5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxmM2FmIn0uZmEtZWRnZTpiZWZvcmV7Y29udGVudDoiXGYyODIifS5mYS1uYXBzdGVyOmJlZm9yZXtjb250ZW50OiJcZjNkMiJ9LmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1zbmFwY2hhdDpiZWZvcmV7Y29udGVudDoiXGYyYWQifS5mYS1nb29nbGUtcGx1cy1nOmJlZm9yZXtjb250ZW50OiJcZjBkNSJ9LmZhLWFydHN0YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNzdhIn0uZmEtbWFya2Rvd246YmVmb3Jle2NvbnRlbnQ6IlxmNjBmIn0uZmEtc291cmNldHJlZTpiZWZvcmV7Y29udGVudDoiXGY3ZDMifS5mYS1nb29nbGUtcGx1czpiZWZvcmV7Y29udGVudDoiXGYyYjMifS5mYS1kaWFzcG9yYTpiZWZvcmV7Y29udGVudDoiXGY3OTEifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE4MCJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZjE2YyJ9LmZhLWdpdGh1Yi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTEzIn0uZmEtcGhvZW5peC1zcXVhZHJvbjpiZWZvcmV7Y29udGVudDoiXGY1MTEifS5mYS1wYWdlbGluZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMThjIn0uZmEtYWxnb2xpYTpiZWZvcmV7Y29udGVudDoiXGYzNmMifS5mYS1yZWQtcml2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmM2UzIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmV7Y29udGVudDoiXGY0ZWYifS5mYS1zYWZhcmk6YmVmb3Jle2NvbnRlbnQ6IlxmMjY3In0uZmEtZ29vZ2xlOmJlZm9yZXtjb250ZW50OiJcZjFhMCJ9LmZhLWZvbnQtYXdlc29tZS1hbHQ6YmVmb3JlLC5mYS1zcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZTpiZWZvcmV7Y29udGVudDoiXGYzNWMifS5mYS1hdGxhc3NpYW46YmVmb3Jle2NvbnRlbnQ6IlxmNzdiIn0uZmEtbGlua2VkaW4taW46YmVmb3Jle2NvbnRlbnQ6IlxmMGUxIn0uZmEtZGlnaXRhbC1vY2VhbjpiZWZvcmV7Y29udGVudDoiXGYzOTEifS5mYS1uaW1ibHI6YmVmb3Jle2NvbnRlbnQ6IlxmNWE4In0uZmEtY2hyb21lY2FzdDpiZWZvcmV7Y29udGVudDoiXGY4MzgifS5mYS1ldmVybm90ZTpiZWZvcmV7Y29udGVudDoiXGY4MzkifS5mYS1oYWNrZXItbmV3czpiZWZvcmV7Y29udGVudDoiXGYxZDQifS5mYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZXtjb250ZW50OiJcZjRmMCJ9LmZhLWFkdmVyc2FsOmJlZm9yZXtjb250ZW50OiJcZjM2YSJ9LmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjVlIn0uZmEtd2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmV7Y29udGVudDoiXGUwODcifS5mYS1mb250aWNvbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjgwIn0uZmEtd2VpeGluOmJlZm9yZXtjb250ZW50OiJcZjFkNyJ9LmZhLXNoaXJ0c2luYnVsazpiZWZvcmV7Y29udGVudDoiXGYyMTQifS5mYS1jb2RlcGVuOmJlZm9yZXtjb250ZW50OiJcZjFjYiJ9LmZhLWdpdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODQxIn0uZmEtbHlmdDpiZWZvcmV7Y29udGVudDoiXGYzYzMifS5mYS1yZXY6YmVmb3Jle2NvbnRlbnQ6IlxmNWIyIn0uZmEtd2luZG93czpiZWZvcmV7Y29udGVudDoiXGYxN2EifS5mYS13aXphcmRzLW9mLXRoZS1jb2FzdDpiZWZvcmV7Y29udGVudDoiXGY3MzAifS5mYS1zcXVhcmUtdmlhZGVvOmJlZm9yZSwuZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyYWEifS5mYS1tZWV0dXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmUwIn0uZmEtY2VudG9zOmJlZm9yZXtjb250ZW50OiJcZjc4OSJ9LmZhLWFkbjpiZWZvcmV7Y29udGVudDoiXGYxNzAifS5mYS1jbG91ZHNtaXRoOmJlZm9yZXtjb250ZW50OiJcZjM4NCJ9LmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjFhOCJ9LmZhLWRyaWJiYmxlLXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYzOTcifS5mYS1jb2RpZXBpZTpiZWZvcmV7Y29udGVudDoiXGYyODQifS5mYS1ub2RlOmJlZm9yZXtjb250ZW50OiJcZjQxOSJ9LmZhLW1peDpiZWZvcmV7Y29udGVudDoiXGYzY2IifS5mYS1zdGVhbTpiZWZvcmV7Y29udGVudDoiXGYxYjYifS5mYS1jYy1hcHBsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDE2In0uZmEtc2NyaWJkOmJlZm9yZXtjb250ZW50OiJcZjI4YSJ9LmZhLW9wZW5pZDpiZWZvcmV7Y29udGVudDoiXGYxOWIifS5mYS1pbnN0YWxvZDpiZWZvcmV7Y29udGVudDoiXGUwODEifS5mYS1leHBlZGl0ZWRzc2w6YmVmb3Jle2NvbnRlbnQ6IlxmMjNlIn0uZmEtc2VsbGNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmRhIn0uZmEtc3F1YXJlLXR3aXR0ZXI6YmVmb3JlLC5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwODEifS5mYS1yLXByb2plY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNGY3In0uZmEtZGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OiJcZjFhNSJ9LmZhLWZyZWVic2Q6YmVmb3Jle2NvbnRlbnQ6IlxmM2E0In0uZmEtdnVlanM6YmVmb3Jle2NvbnRlbnQ6IlxmNDFmIn0uZmEtYWNjdXNvZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzY5In0uZmEtaW94aG9zdDpiZWZvcmV7Y29udGVudDoiXGYyMDgifS5mYS1mb250aWNvbnMtZmk6YmVmb3Jle2NvbnRlbnQ6IlxmM2EyIn0uZmEtYXBwLXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZjM2ZiJ9LmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWYxIn0uZmEtaXR1bmVzLW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2I1In0uZmEtZ29sYW5nOmJlZm9yZXtjb250ZW50OiJcZTQwZiJ9LmZhLWtpY2tzdGFydGVyOmJlZm9yZXtjb250ZW50OiJcZjNiYiJ9LmZhLWdyYXY6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ2In0uZmEtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMThhIn0uZmEtdW5jaGFydGVkOmJlZm9yZXtjb250ZW50OiJcZTA4NCJ9LmZhLWZpcnN0ZHJhZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2ExIn0uZmEtc3F1YXJlLXlvdXR1YmU6YmVmb3JlLC5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGY0MzEifS5mYS13aWtpcGVkaWEtdzpiZWZvcmV7Y29udGVudDoiXGYyNjYifS5mYS1yZW5kYWN0OmJlZm9yZSwuZmEtd3ByZXNzcjpiZWZvcmV7Y29udGVudDoiXGYzZTQifS5mYS1hbmdlbGxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMjA5In0uZmEtZ2FsYWN0aWMtcmVwdWJsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmNTBjIn0uZmEtbmZjLWRpcmVjdGlvbmFsOmJlZm9yZXtjb250ZW50OiJcZTUzMCJ9LmZhLXNreXBlOmJlZm9yZXtjb250ZW50OiJcZjE3ZSJ9LmZhLWpvZ2V0OmJlZm9yZXtjb250ZW50OiJcZjNiNyJ9LmZhLWZlZG9yYTpiZWZvcmV7Y29udGVudDoiXGY3OTgifS5mYS1zdHJpcGUtczpiZWZvcmV7Y29udGVudDoiXGY0MmEifS5mYS1tZXRhOmJlZm9yZXtjb250ZW50OiJcZTQ5YiJ9LmZhLWxhcmF2ZWw6YmVmb3Jle2NvbnRlbnQ6IlxmM2JkIn0uZmEtaG90amFyOmJlZm9yZXtjb250ZW50OiJcZjNiMSJ9LmZhLWJsdWV0b290aC1iOmJlZm9yZXtjb250ZW50OiJcZjI5NCJ9LmZhLXN0aWNrZXItbXVsZTpiZWZvcmV7Y29udGVudDoiXGYzZjcifS5mYS1jcmVhdGl2ZS1jb21tb25zLXplcm86YmVmb3Jle2NvbnRlbnQ6IlxmNGYzIn0uZmEtaGlwczpiZWZvcmV7Y29udGVudDoiXGY0NTIifS5mYS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNCJ9LmZhLXJlZGRpdDpiZWZvcmV7Y29udGVudDoiXGYxYTEifS5mYS1kaXNjb3JkOmJlZm9yZXtjb250ZW50OiJcZjM5MiJ9LmZhLWNocm9tZTpiZWZvcmV7Y29udGVudDoiXGYyNjgifS5mYS1hcHAtc3RvcmUtaW9zOmJlZm9yZXtjb250ZW50OiJcZjM3MCJ9LmZhLWNjLWRpc2NvdmVyOmJlZm9yZXtjb250ZW50OiJcZjFmMiJ9LmZhLXdwYmVnaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk3In0uZmEtY29uZmx1ZW5jZTpiZWZvcmV7Y29udGVudDoiXGY3OGQifS5mYS1tZGI6YmVmb3Jle2NvbnRlbnQ6IlxmOGNhIn0uZmEtZG9jaHViOmJlZm9yZXtjb250ZW50OiJcZjM5NCJ9LmZhLWFjY2Vzc2libGUtaWNvbjpiZWZvcmV7Y29udGVudDoiXGYzNjgifS5mYS1lYmF5OmJlZm9yZXtjb250ZW50OiJcZjRmNCJ9LmZhLWFtYXpvbjpiZWZvcmV7Y29udGVudDoiXGYyNzAifS5mYS11bnNwbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwN2MifS5mYS15YXJuOmJlZm9yZXtjb250ZW50OiJcZjdlMyJ9LmZhLXNxdWFyZS1zdGVhbTpiZWZvcmUsLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYjcifS5mYS01MDBweDpiZWZvcmV7Y29udGVudDoiXGYyNmUifS5mYS1zcXVhcmUtdmltZW86YmVmb3JlLC5mYS12aW1lby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk0In0uZmEtYXN5bW1ldHJpazpiZWZvcmV7Y29udGVudDoiXGYzNzIifS5mYS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUsLmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3JlLC5mYS1mb250LWF3ZXNvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMmI0In0uZmEtZ3JhdGlwYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMTg0In0uZmEtYXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTc5In0uZmEtaGl2ZTpiZWZvcmV7Y29udGVudDoiXGUwN2YifS5mYS1naXRrcmFrZW46YmVmb3Jle2NvbnRlbnQ6IlxmM2E2In0uZmEta2V5YmFzZTpiZWZvcmV7Y29udGVudDoiXGY0ZjUifS5mYS1hcHBsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDE1In0uZmEtcGFkbGV0OmJlZm9yZXtjb250ZW50OiJcZTRhMCJ9LmZhLWFtYXpvbi1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDJjIn0uZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1naXRodWI6YmVmb3Jle2NvbnRlbnQ6IlxmMDkyIn0uZmEtc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxmMWE0In0uZmEtZmVkZXg6YmVmb3Jle2NvbnRlbnQ6IlxmNzk3In0uZmEtcGhvZW5peC1mcmFtZXdvcms6YmVmb3Jle2NvbnRlbnQ6IlxmM2RjIn0uZmEtc2hvcGlmeTpiZWZvcmV7Y29udGVudDoiXGUwNTcifS5mYS1uZW9zOmJlZm9yZXtjb250ZW50OiJcZjYxMiJ9LmZhLWhhY2tlcnJhbms6YmVmb3Jle2NvbnRlbnQ6IlxmNWY3In0uZmEtcmVzZWFyY2hnYXRlOmJlZm9yZXtjb250ZW50OiJcZjRmOCJ9LmZhLXN3aWZ0OmJlZm9yZXtjb250ZW50OiJcZjhlMSJ9LmZhLWFuZ3VsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDIwIn0uZmEtc3BlYWthcDpiZWZvcmV7Y29udGVudDoiXGYzZjMifS5mYS1hbmdyeWNyZWF0aXZlOmJlZm9yZXtjb250ZW50OiJcZjM2ZSJ9LmZhLXktY29tYmluYXRvcjpiZWZvcmV7Y29udGVudDoiXGYyM2IifS5mYS1lbXBpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQxIn0uZmEtZW52aXJhOmJlZm9yZXtjb250ZW50OiJcZjI5OSJ9LmZhLWdpdGxhYi1zcXVhcmU6YmVmb3JlLC5mYS1zcXVhcmUtZ2l0bGFiOmJlZm9yZXtjb250ZW50OiJcZTVhZSJ9LmZhLXN0dWRpb3ZpbmFyaTpiZWZvcmV7Y29udGVudDoiXGYzZjgifS5mYS1waWVkLXBpcGVyOmJlZm9yZXtjb250ZW50OiJcZjJhZSJ9LmZhLXdvcmRwcmVzczpiZWZvcmV7Y29udGVudDoiXGYxOWEifS5mYS1wcm9kdWN0LWh1bnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg4In0uZmEtZmlyZWZveDpiZWZvcmV7Y29udGVudDoiXGYyNjkifS5mYS1saW5vZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmI4In0uZmEtZ29vZHJlYWRzOmJlZm9yZXtjb250ZW50OiJcZjNhOCJ9LmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLW9kbm9rbGFzc25pa2k6YmVmb3Jle2NvbnRlbnQ6IlxmMjY0In0uZmEtanNmaWRkbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNjIn0uZmEtc2l0aDpiZWZvcmV7Y29udGVudDoiXGY1MTIifS5mYS10aGVtZWlzbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmIyIn0uZmEtcGFnZTQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2Q3In0uZmEtaGFzaG5vZGU6YmVmb3Jle2NvbnRlbnQ6IlxlNDk5In0uZmEtcmVhY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNDFiIn0uZmEtY2MtcGF5cGFsOmJlZm9yZXtjb250ZW50OiJcZjFmNCJ9LmZhLXNxdWFyZXNwYWNlOmJlZm9yZXtjb250ZW50OiJcZjViZSJ9LmZhLWNjLXN0cmlwZTpiZWZvcmV7Y29udGVudDoiXGYxZjUifS5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjRmMiJ9LmZhLWJpdGNvaW46YmVmb3Jle2NvbnRlbnQ6IlxmMzc5In0uZmEta2V5Y2RuOmJlZm9yZXtjb250ZW50OiJcZjNiYSJ9LmZhLW9wZXJhOmJlZm9yZXtjb250ZW50OiJcZjI2YSJ9LmZhLWl0Y2gtaW86YmVmb3Jle2NvbnRlbnQ6IlxmODNhIn0uZmEtdW1icmFjbzpiZWZvcmV7Y29udGVudDoiXGY4ZTgifS5mYS1nYWxhY3RpYy1zZW5hdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNTBkIn0uZmEtdWJ1bnR1OmJlZm9yZXtjb250ZW50OiJcZjdkZiJ9LmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzk2In0uZmEtc3RyaXBlOmJlZm9yZXtjb250ZW50OiJcZjQyOSJ9LmZhLWhvdXp6OmJlZm9yZXtjb250ZW50OiJcZjI3YyJ9LmZhLWdnOmJlZm9yZXtjb250ZW50OiJcZjI2MCJ9LmZhLWRobDpiZWZvcmV7Y29udGVudDoiXGY3OTAifS5mYS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLXBpbnRlcmVzdDpiZWZvcmV7Y29udGVudDoiXGYwZDMifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLWJsYWNrYmVycnk6YmVmb3Jle2NvbnRlbnQ6IlxmMzdiIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1wZDpiZWZvcmV7Y29udGVudDoiXGY0ZWMifS5mYS1wbGF5c3RhdGlvbjpiZWZvcmV7Y29udGVudDoiXGYzZGYifS5mYS1xdWluc2NhcGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDU5In0uZmEtbGVzczpiZWZvcmV7Y29udGVudDoiXGY0MWQifS5mYS1ibG9nZ2VyLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMzdkIn0uZmEtb3BlbmNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjNkIn0uZmEtdmluZTpiZWZvcmV7Y29udGVudDoiXGYxY2EifS5mYS1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWVkIn0uZmEtZ2l0bGFiOmJlZm9yZXtjb250ZW50OiJcZjI5NiJ9LmZhLXR5cG8zOmJlZm9yZXtjb250ZW50OiJcZjQyYiJ9LmZhLXJlZGRpdC1hbGllbjpiZWZvcmV7Y29udGVudDoiXGYyODEifS5mYS15YWhvbzpiZWZvcmV7Y29udGVudDoiXGYxOWUifS5mYS1kYWlseW1vdGlvbjpiZWZvcmV7Y29udGVudDoiXGUwNTIifS5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmV7Y29udGVudDoiXGYzNmIifS5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZXtjb250ZW50OiJcZjFhNyJ9LmZhLWJvb3RzdHJhcDpiZWZvcmV7Y29udGVudDoiXGY4MzYifS5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZXtjb250ZW50OiJcZjI2MyJ9LmZhLW5mYy1zeW1ib2w6YmVmb3Jle2NvbnRlbnQ6IlxlNTMxIn0uZmEtZXRoZXJldW06YmVmb3Jle2NvbnRlbnQ6IlxmNDJlIn0uZmEtc3BlYWtlci1kZWNrOmJlZm9yZXtjb250ZW50OiJcZjgzYyJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3Jle2NvbnRlbnQ6IlxmNGU5In0uZmEtcGF0cmVvbjpiZWZvcmV7Y29udGVudDoiXGYzZDkifS5mYS1hdmlhbmV4OmJlZm9yZXtjb250ZW50OiJcZjM3NCJ9LmZhLWVsbG86YmVmb3Jle2NvbnRlbnQ6IlxmNWYxIn0uZmEtZ29mb3JlOmJlZm9yZXtjb250ZW50OiJcZjNhNyJ9LmZhLWJpbW9iamVjdDpiZWZvcmV7Y29udGVudDoiXGYzNzgifS5mYS1mYWNlYm9vay1mOmJlZm9yZXtjb250ZW50OiJcZjM5ZSJ9LmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1nb29nbGUtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwZDQifS5mYS1tYW5kYWxvcmlhbjpiZWZvcmV7Y29udGVudDoiXGY1MGYifS5mYS1maXJzdC1vcmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTBhIn0uZmEtb3NpOmJlZm9yZXtjb250ZW50OiJcZjQxYSJ9LmZhLWdvb2dsZS13YWxsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWVlIn0uZmEtZC1hbmQtZC1iZXlvbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmNhIn0uZmEtcGVyaXNjb3BlOmJlZm9yZXtjb250ZW50OiJcZjNkYSJ9LmZhLWZ1bGNydW06YmVmb3Jle2NvbnRlbnQ6IlxmNTBiIn0uZmEtY2xvdWRzY2FsZTpiZWZvcmV7Y29udGVudDoiXGYzODMifS5mYS1mb3J1bWJlZTpiZWZvcmV7Y29udGVudDoiXGYyMTEifS5mYS1taXp1bmk6YmVmb3Jle2NvbnRlbnQ6IlxmM2NjIn0uZmEtc2NobGl4OmJlZm9yZXtjb250ZW50OiJcZjNlYSJ9LmZhLXNxdWFyZS14aW5nOmJlZm9yZSwuZmEteGluZy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY5In0uZmEtYmFuZGNhbXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ1In0uZmEtd3Bmb3JtczpiZWZvcmV7Y29udGVudDoiXGYyOTgifS5mYS1jbG91ZHZlcnNpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMzg1In0uZmEtdXNwczpiZWZvcmV7Y29udGVudDoiXGY3ZTEifS5mYS1tZWdhcG9ydDpiZWZvcmV7Y29udGVudDoiXGY1YTMifS5mYS1tYWdlbnRvOmJlZm9yZXtjb250ZW50OiJcZjNjNCJ9LmZhLXNwb3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWJjIn0uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmV7Y29udGVudDoiXGYyM2MifS5mYS1mbHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDE3In0uZmEtYXZpYXRvOmJlZm9yZXtjb250ZW50OiJcZjQyMSJ9LmZhLWl0dW5lczpiZWZvcmV7Y29udGVudDoiXGYzYjQifS5mYS1jdXR0bGVmaXNoOmJlZm9yZXtjb250ZW50OiJcZjM4YyJ9LmZhLWJsb2dnZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMzdjIn0uZmEtZmxpY2tyOmJlZm9yZXtjb250ZW50OiJcZjE2ZSJ9LmZhLXZpYmVyOmJlZm9yZXtjb250ZW50OiJcZjQwOSJ9LmZhLXNvdW5kY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWJlIn0uZmEtZGlnZzpiZWZvcmV7Y29udGVudDoiXGYxYTYifS5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZXtjb250ZW50OiJcZjFkNSJ9LmZhLXN5bWZvbnk6YmVmb3Jle2NvbnRlbnQ6IlxmODNkIn0uZmEtbWF4Y2RuOmJlZm9yZXtjb250ZW50OiJcZjEzNiJ9LmZhLWV0c3k6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ3In0uZmEtZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZXtjb250ZW50OiJcZjM5ZiJ9LmZhLWF1ZGlibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzczIn0uZmEtdGhpbmstcGVha3M6YmVmb3Jle2NvbnRlbnQ6IlxmNzMxIn0uZmEtYmlsaWJpbGk6YmVmb3Jle2NvbnRlbnQ6IlxlM2Q5In0uZmEtZXJsYW5nOmJlZm9yZXtjb250ZW50OiJcZjM5ZCJ9LmZhLWNvdHRvbi1idXJlYXU6YmVmb3Jle2NvbnRlbnQ6IlxmODllIn0uZmEtZGFzaGN1YmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjEwIn0uZmEtNDItZ3JvdXA6YmVmb3JlLC5mYS1pbm5vc29mdDpiZWZvcmV7Y29udGVudDoiXGUwODAifS5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmV7Y29udGVudDoiXGYxOGQifS5mYS1lbGVtZW50b3I6YmVmb3Jle2NvbnRlbnQ6IlxmNDMwIn0uZmEtcGllZC1waXBlci1zcXVhcmU6YmVmb3JlLC5mYS1zcXVhcmUtcGllZC1waXBlcjpiZWZvcmV7Y29udGVudDoiXGUwMWUifS5mYS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZXtjb250ZW50OiJcZjRlYiJ9LmZhLXBhbGZlZDpiZWZvcmV7Y29udGVudDoiXGYzZDgifS5mYS1zdXBlcnBvd2VyczpiZWZvcmV7Y29udGVudDoiXGYyZGQifS5mYS1yZXNvbHZpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmM2U3In0uZmEteGJveDpiZWZvcmV7Y29udGVudDoiXGY0MTIifS5mYS1zZWFyY2hlbmdpbjpiZWZvcmV7Y29udGVudDoiXGYzZWIifS5mYS10aWt0b2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDdiIn0uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA4MiJ9LmZhLXJlbnJlbjpiZWZvcmV7Y29udGVudDoiXGYxOGIifS5mYS1saW51eDpiZWZvcmV7Y29udGVudDoiXGYxN2MifS5mYS1nbGlkZTpiZWZvcmV7Y29udGVudDoiXGYyYTUifS5mYS1saW5rZWRpbjpiZWZvcmV7Y29udGVudDoiXGYwOGMifS5mYS1odWJzcG90OmJlZm9yZXtjb250ZW50OiJcZjNiMiJ9LmZhLWRlcGxveWRvZzpiZWZvcmV7Y29udGVudDoiXGYzOGUifS5mYS10d2l0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWU4In0uZmEtcmF2ZWxyeTpiZWZvcmV7Y29udGVudDoiXGYyZDkifS5mYS1taXhlcjpiZWZvcmV7Y29udGVudDoiXGUwNTYifS5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSwuZmEtc3F1YXJlLWxhc3RmbTpiZWZvcmV7Y29udGVudDoiXGYyMDMifS5mYS12aW1lbzpiZWZvcmV7Y29udGVudDoiXGY0MGEifS5mYS1tZW5kZWxleTpiZWZvcmV7Y29udGVudDoiXGY3YjMifS5mYS11bmlyZWdpc3RyeTpiZWZvcmV7Y29udGVudDoiXGY0MDQifS5mYS1maWdtYTpiZWZvcmV7Y29udGVudDoiXGY3OTkifS5mYS1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OmJlZm9yZXtjb250ZW50OiJcZjRlZSJ9LmZhLWNjLWFtYXpvbi1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDJkIn0uZmEtZHJvcGJveDpiZWZvcmV7Y29udGVudDoiXGYxNmIifS5mYS1pbnN0YWdyYW06YmVmb3Jle2NvbnRlbnQ6IlxmMTZkIn0uZmEtY21wbGlkOmJlZm9yZXtjb250ZW50OiJcZTM2MCJ9LmZhLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA5YSJ9LmZhLWdyaXBmaXJlOmJlZm9yZXtjb250ZW50OiJcZjNhYyJ9LmZhLWplZGktb3JkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTBlIn0uZmEtdWlraXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDAzIn0uZmEtZm9ydC1hd2Vzb21lLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzYTMifS5mYS1waGFicmljYXRvcjpiZWZvcmV7Y29udGVudDoiXGYzZGIifS5mYS11c3N1bm5haDpiZWZvcmV7Y29udGVudDoiXGY0MDcifS5mYS1lYXJseWJpcmRzOmJlZm9yZXtjb250ZW50OiJcZjM5YSJ9LmZhLXRyYWRlLWZlZGVyYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNTEzIn0uZmEtYXV0b3ByZWZpeGVyOmJlZm9yZXtjb250ZW50OiJcZjQxYyJ9LmZhLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OiJcZjIzMiJ9LmZhLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWU3In0uZmEtZ29vZ2xlLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmM2FiIn0uZmEtdmlhZGVvOmJlZm9yZXtjb250ZW50OiJcZjJhOSJ9LmZhLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2MwIn0uZmEtZ29vZ2xlLWRyaXZlOmJlZm9yZXtjb250ZW50OiJcZjNhYSJ9LmZhLXNlcnZpY2VzdGFjazpiZWZvcmV7Y29udGVudDoiXGYzZWMifS5mYS1zaW1wbHlidWlsdDpiZWZvcmV7Y29udGVudDoiXGYyMTUifS5mYS1iaXRidWNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTcxIn0uZmEtaW1kYjpiZWZvcmV7Y29udGVudDoiXGYyZDgifS5mYS1kZWV6ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDc3In0uZmEtcmFzcGJlcnJ5LXBpOmJlZm9yZXtjb250ZW50OiJcZjdiYiJ9LmZhLWppcmE6YmVmb3Jle2NvbnRlbnQ6IlxmN2IxIn0uZmEtZG9ja2VyOmJlZm9yZXtjb250ZW50OiJcZjM5NSJ9LmZhLXNjcmVlbnBhbDpiZWZvcmV7Y29udGVudDoiXGU1NzAifS5mYS1ibHVldG9vdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMjkzIn0uZmEtZ2l0dGVyOmJlZm9yZXtjb250ZW50OiJcZjQyNiJ9LmZhLWQtYW5kLWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzhkIn0uZmEtbWljcm9ibG9nOmJlZm9yZXtjb250ZW50OiJcZTAxYSJ9LmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZXtjb250ZW50OiJcZjI0YyJ9LmZhLWdnLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyNjEifS5mYS1waWVkLXBpcGVyLWhhdDpiZWZvcmV7Y29udGVudDoiXGY0ZTUifS5mYS1raWNrc3RhcnRlci1rOmJlZm9yZXtjb250ZW50OiJcZjNiYyJ9LmZhLXlhbmRleDpiZWZvcmV7Y29udGVudDoiXGY0MTMifS5mYS1yZWFkbWU6YmVmb3Jle2NvbnRlbnQ6IlxmNGQ1In0uZmEtaHRtbDU6YmVmb3Jle2NvbnRlbnQ6IlxmMTNiIn0uZmEtc2VsbHN5OmJlZm9yZXtjb250ZW50OiJcZjIxMyJ9LmZhLXNhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNDFlIn0uZmEtd2lyc2luZGhhbmR3ZXJrOmJlZm9yZSwuZmEtd3NoOmJlZm9yZXtjb250ZW50OiJcZTJkMCJ9LmZhLWJ1cm9tb2JlbGV4cGVydGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzdmIn0uZmEtc2FsZXNmb3JjZTpiZWZvcmV7Y29udGVudDoiXGY4M2IifS5mYS1vY3RvcHVzLWRlcGxveTpiZWZvcmV7Y29udGVudDoiXGUwODIifS5mYS1tZWRhcHBzOmJlZm9yZXtjb250ZW50OiJcZjNjNiJ9LmZhLW5zODpiZWZvcmV7Y29udGVudDoiXGYzZDUifS5mYS1waW50ZXJlc3QtcDpiZWZvcmV7Y29udGVudDoiXGYyMzEifS5mYS1hcHBlcjpiZWZvcmV7Y29udGVudDoiXGYzNzEifS5mYS1mb3J0LWF3ZXNvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjg2In0uZmEtd2F6ZTpiZWZvcmV7Y29udGVudDoiXGY4M2YifS5mYS1jYy1qY2I6YmVmb3Jle2NvbnRlbnQ6IlxmMjRiIn0uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlLC5mYS1zbmFwY2hhdDpiZWZvcmV7Y29udGVudDoiXGYyYWIifS5mYS1mYW50YXN5LWZsaWdodC1nYW1lczpiZWZvcmV7Y29udGVudDoiXGY2ZGMifS5mYS1ydXN0OmJlZm9yZXtjb250ZW50OiJcZTA3YSJ9LmZhLXdpeDpiZWZvcmV7Y29udGVudDoiXGY1Y2YifS5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNSJ9LmZhLXN1cHBsZTpiZWZvcmV7Y29udGVudDoiXGYzZjkifS5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDoiXGYxZDAifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjEzYyJ9LmZhLXN0YXlsaW5rZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y1In0uZmEta2FnZ2xlOmJlZm9yZXtjb250ZW50OiJcZjVmYSJ9LmZhLXNwYWNlLWF3ZXNvbWU6YmVmb3Jle2NvbnRlbnQ6IlxlNWFjIn0uZmEtZGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGYxYmQifS5mYS1jcGFuZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzg4In0uZmEtZ29vZHJlYWRzLWc6YmVmb3Jle2NvbnRlbnQ6IlxmM2E5In0uZmEtZ2l0LXNxdWFyZTpiZWZvcmUsLmZhLXNxdWFyZS1naXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWQyIn0uZmEtc3F1YXJlLXR1bWJscjpiZWZvcmUsLmZhLXR1bWJsci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTc0In0uZmEtdHJlbGxvOmJlZm9yZXtjb250ZW50OiJcZjE4MSJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3Jle2NvbnRlbnQ6IlxmNGVhIn0uZmEtZ2V0LXBvY2tldDpiZWZvcmV7Y29udGVudDoiXGYyNjUifS5mYS1wZXJieXRlOmJlZm9yZXtjb250ZW50OiJcZTA4MyJ9LmZhLWdydW50OmJlZm9yZXtjb250ZW50OiJcZjNhZCJ9LmZhLXdlZWJseTpiZWZvcmV7Y29udGVudDoiXGY1Y2MifS5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmV7Y29udGVudDoiXGYyMGUifS5mYS1sZWFucHViOmJlZm9yZXtjb250ZW50OiJcZjIxMiJ9LmZhLWJsYWNrLXRpZTpiZWZvcmV7Y29udGVudDoiXGYyN2UifS5mYS10aGVtZWNvOmJlZm9yZXtjb250ZW50OiJcZjVjNiJ9LmZhLXB5dGhvbjpiZWZvcmV7Y29udGVudDoiXGYzZTIifS5mYS1hbmRyb2lkOmJlZm9yZXtjb250ZW50OiJcZjE3YiJ9LmZhLWJvdHM6YmVmb3Jle2NvbnRlbnQ6IlxlMzQwIn0uZmEtZnJlZS1jb2RlLWNhbXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmM1In0uZmEtaG9ybmJpbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNTkyIn0uZmEtanM6YmVmb3Jle2NvbnRlbnQ6IlxmM2I4In0uZmEtaWRlYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMDEzIn0uZmEtZ2l0OmJlZm9yZXtjb250ZW50OiJcZjFkMyJ9LmZhLWRldjpiZWZvcmV7Y29udGVudDoiXGY2Y2MifS5mYS1za2V0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmN2M2In0uZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDE0In0uZmEtY2MtYW1leDpiZWZvcmV7Y29udGVudDoiXGYxZjMifS5mYS11YmVyOmJlZm9yZXtjb250ZW50OiJcZjQwMiJ9LmZhLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGYwOWIifS5mYS1waHA6YmVmb3Jle2NvbnRlbnQ6IlxmNDU3In0uZmEtYWxpcGF5OmJlZm9yZXtjb250ZW50OiJcZjY0MiJ9LmZhLXlvdXR1YmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY3In0uZmEtc2t5YXRsYXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE2In0uZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZXtjb250ZW50OiJcZTAwNyJ9LmZhLXJlcGx5ZDpiZWZvcmV7Y29udGVudDoiXGYzZTYifS5mYS1zdXNlOmJlZm9yZXtjb250ZW50OiJcZjdkNiJ9LmZhLWplbmtpbnM6YmVmb3Jle2NvbnRlbnQ6IlxmM2I2In0uZmEtdHdpdHRlcjpiZWZvcmV7Y29udGVudDoiXGYwOTkifS5mYS1yb2Nrcm1zOmJlZm9yZXtjb250ZW50OiJcZjNlOSJ9LmZhLXBpbnRlcmVzdDpiZWZvcmV7Y29udGVudDoiXGYwZDIifS5mYS1idWZmZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODM3In0uZmEtbnBtOmJlZm9yZXtjb250ZW50OiJcZjNkNCJ9LmZhLXlhbW1lcjpiZWZvcmV7Y29udGVudDoiXGY4NDAifS5mYS1idGM6YmVmb3Jle2NvbnRlbnQ6IlxmMTVhIn0uZmEtZHJpYmJibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTdkIn0uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjFhMyJ9LmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZXtjb250ZW50OiJcZjI2YiJ9LmZhLXN0dWJiZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNWM3In0uZmEtdGVsZWdyYW0tcGxhbmU6YmVmb3JlLC5mYS10ZWxlZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYyYzYifS5mYS1vbGQtcmVwdWJsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmNTEwIn0uZmEtb2R5c2VlOmJlZm9yZXtjb250ZW50OiJcZTVjNiJ9LmZhLXNxdWFyZS13aGF0c2FwcDpiZWZvcmUsLmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGY0MGMifS5mYS1ub2RlLWpzOmJlZm9yZXtjb250ZW50OiJcZjNkMyJ9LmZhLWVkZ2UtbGVnYWN5OmJlZm9yZXtjb250ZW50OiJcZTA3OCJ9LmZhLXNsYWNrLWhhc2g6YmVmb3JlLC5mYS1zbGFjazpiZWZvcmV7Y29udGVudDoiXGYxOTgifS5mYS1tZWRydDpiZWZvcmV7Y29udGVudDoiXGYzYzgifS5mYS11c2I6YmVmb3Jle2NvbnRlbnQ6IlxmMjg3In0uZmEtdHVtYmxyOmJlZm9yZXtjb250ZW50OiJcZjE3MyJ9LmZhLXZhYWRpbjpiZWZvcmV7Y29udGVudDoiXGY0MDgifS5mYS1xdW9yYTpiZWZvcmV7Y29udGVudDoiXGYyYzQifS5mYS1yZWFjdGV1cm9wZTpiZWZvcmV7Y29udGVudDoiXGY3NWQifS5mYS1tZWRpdW0tbTpiZWZvcmUsLmZhLW1lZGl1bTpiZWZvcmV7Y29udGVudDoiXGYyM2EifS5mYS1hbWlsaWE6YmVmb3Jle2NvbnRlbnQ6IlxmMzZkIn0uZmEtbWl4Y2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg5In0uZmEtZmxpcGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjQ0ZCJ9LmZhLXZpYWNvaW46YmVmb3Jle2NvbnRlbnQ6IlxmMjM3In0uZmEtY3JpdGljYWwtcm9sZTpiZWZvcmV7Y29udGVudDoiXGY2YzkifS5mYS1zaXRyb3g6YmVmb3Jle2NvbnRlbnQ6IlxlNDRhIn0uZmEtZGlzY291cnNlOmJlZm9yZXtjb250ZW50OiJcZjM5MyJ9LmZhLWpvb21sYTpiZWZvcmV7Y29udGVudDoiXGYxYWEifS5mYS1tYXN0b2RvbjpiZWZvcmV7Y29udGVudDoiXGY0ZjYifS5mYS1haXJibmI6YmVmb3Jle2NvbnRlbnQ6IlxmODM0In0uZmEtd29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmV7Y29udGVudDoiXGY1MTQifS5mYS1idXktbi1sYXJnZTpiZWZvcmV7Y29udGVudDoiXGY4YTYifS5mYS1ndWxwOmJlZm9yZXtjb250ZW50OiJcZjNhZSJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmV7Y29udGVudDoiXGY0ZjEifS5mYS1zdHJhdmE6YmVmb3Jle2NvbnRlbnQ6IlxmNDI4In0uZmEtZW1iZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDIzIn0uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmV7Y29udGVudDoiXGY3ODUifS5mYS10ZWFtc3BlYWs6YmVmb3Jle2NvbnRlbnQ6IlxmNGY5In0uZmEtcHVzaGVkOmJlZm9yZXtjb250ZW50OiJcZjNlMSJ9LmZhLXdvcmRwcmVzcy1zaW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDExIn0uZmEtbnV0cml0aW9uaXg6YmVmb3Jle2NvbnRlbnQ6IlxmM2Q2In0uZmEtd29kdTpiZWZvcmV7Y29udGVudDoiXGUwODgifS5mYS1nb29nbGUtcGF5OmJlZm9yZXtjb250ZW50OiJcZTA3OSJ9LmZhLWludGVyY29tOmJlZm9yZXtjb250ZW50OiJcZjdhZiJ9LmZhLXpoaWh1OmJlZm9yZXtjb250ZW50OiJcZjYzZiJ9LmZhLWtvcnZ1ZTpiZWZvcmV7Y29udGVudDoiXGY0MmYifS5mYS1waXg6YmVmb3Jle2NvbnRlbnQ6IlxlNDNhIn0uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZXtjb250ZW50OiJcZjNmNiJ9Omhvc3QsOnJvb3R7LS1mYS1mb250LXJlZ3VsYXI6bm9ybWFsIDQwMCAxZW0vMSAiRm9udCBBd2Vzb21lIDYgRnJlZSJ9QGZvbnQtZmFjZXtmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDYgRnJlZSI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtZGlzcGxheTpibG9jaztzcmM6dXJsKC4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYyKSBmb3JtYXQoIndvZmYyIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLnR0ZikgZm9ybWF0KCJ0cnVldHlwZSIpfS5mYS1yZWd1bGFyLC5mYXJ7Zm9udC13ZWlnaHQ6NDAwfTpob3N0LDpyb290ey0tZmEtc3R5bGUtZmFtaWx5LWNsYXNzaWM6IkZvbnQgQXdlc29tZSA2IEZyZWUiOy0tZmEtZm9udC1zb2xpZDpub3JtYWwgOTAwIDFlbS8xICJGb250IEF3ZXNvbWUgNiBGcmVlIn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNiBGcmVlIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo5MDA7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYyKSBmb3JtYXQoIndvZmYyIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKX0uZmEtc29saWQsLmZhc3tmb250LXdlaWdodDo5MDB9QGZvbnQtZmFjZXtmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgQnJhbmRzIjtmb250LWRpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NDAwO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpLHVybCguLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLnR0ZikgZm9ybWF0KCJ0cnVldHlwZSIpfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA1IEZyZWUiO2ZvbnQtZGlzcGxheTpibG9jaztmb250LXdlaWdodDo5MDA7c3JjOnVybCguLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLnR0ZikgZm9ybWF0KCJ0cnVldHlwZSIpfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA1IEZyZWUiO2ZvbnQtZGlzcGxheTpibG9jaztmb250LXdlaWdodDo0MDA7c3JjOnVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpLHVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKX1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250QXdlc29tZSI7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYyKSBmb3JtYXQoIndvZmYyIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKX1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250QXdlc29tZSI7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpLHVybCguLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLnR0ZikgZm9ybWF0KCJ0cnVldHlwZSIpfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6IkZvbnRBd2Vzb21lIjtmb250LWRpc3BsYXk6YmxvY2s7c3JjOnVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpLHVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKTt1bmljb2RlLXJhbmdlOnUrZjAwMyx1K2YwMDYsdStmMDE0LHUrZjAxNi1mMDE3LHUrZjAxYS1mMDFiLHUrZjAxZCx1K2YwMjIsdStmMDNlLHUrZjA0NCx1K2YwNDYsdStmMDVjLWYwNWQsdStmMDZlLHUrZjA3MCx1K2YwODctZjA4OCx1K2YwOGEsdStmMDk0LHUrZjA5Ni1mMDk3LHUrZjA5ZCx1K2YwYTAsdStmMGEyLHUrZjBhNC1mMGE3LHUrZjBjNSx1K2YwYzcsdStmMGU1LWYwZTYsdStmMGViLHUrZjBmNi1mMGY4LHUrZjEwYyx1K2YxMTQtZjExNSx1K2YxMTgtZjExYSx1K2YxMWMtZjExZCx1K2YxMzMsdStmMTQ3LHUrZjE0ZSx1K2YxNTAtZjE1Mix1K2YxODUtZjE4Nix1K2YxOGUsdStmMTkwLWYxOTIsdStmMTk2LHUrZjFjMS1mMWM5LHUrZjFkOSx1K2YxZGIsdStmMWUzLHUrZjFlYSx1K2YxZjcsdStmMWY5LHUrZjIwYSx1K2YyNDctZjI0OCx1K2YyNGEsdStmMjRkLHUrZjI1NS1mMjViLHUrZjI1ZCx1K2YyNzEtZjI3NCx1K2YyNzgsdStmMjdiLHUrZjI4Yyx1K2YyOGUsdStmMjljLHUrZjJiNSx1K2YyYjcsdStmMmJhLHUrZjJiYyx1K2YyYmUsdStmMmMwLWYyYzEsdStmMmMzLHUrZjJkMCx1K2YyZDIsdStmMmQ0LHUrZjJkY31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250QXdlc29tZSI7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtdjRjb21wYXRpYmlsaXR5LndvZmYyKSBmb3JtYXQoIndvZmYyIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXY0Y29tcGF0aWJpbGl0eS50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKTt1bmljb2RlLXJhbmdlOnUrZjA0MSx1K2YwNDcsdStmMDY1LWYwNjYsdStmMDdkLWYwN2UsdStmMDgwLHUrZjA4Yix1K2YwOGUsdStmMDkwLHUrZjA5YSx1K2YwYWMsdStmMGFlLHUrZjBiMix1K2YwZDAsdStmMGQ2LHUrZjBlNCx1K2YwZWMsdStmMTBhLWYxMGIsdStmMTIzLHUrZjEzZSx1K2YxNDgtZjE0OSx1K2YxNGMsdStmMTU2LHUrZjE1ZSx1K2YxNjAtZjE2MSx1K2YxNjMsdStmMTc1LWYxNzgsdStmMTk1LHUrZjFmOCx1K2YyMTksdStmMjdhfQ=="}},"time_used":67,"timings":{"blocked":-1,"dns":1,"connect":26,"send":0,"wait":39,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js","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":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.960Z","timestamp":1785120760960,"http_version":"HTTP/2","security_state":"secure","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 /external-embedding/embed-widget-ticker-tape.js 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://360trustwealthavenue.stglen.com/\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\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"2671d4a92091986b7abd2e1e685669ca\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:29 GMT\r\nx-amz-id-2: MmO7S7qvpk7e7uAwyKi1zjeKKbKi5IBRI9Fnw08J6tdMbbVvXvrURHIxu7TxhDm94C2BFQDD1p8=\r\nx-amz-request-id: 6FDA3NKBBMZWPGT3\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: wQVqs5hr7RnUyN2oXxLylh_AKdOK0U2U\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:30:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 137048d5a027cf84eb20501666d7ab16\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":13608,"size_decoded":6236,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"2671d4a92091986b7abd2e1e685669ca","sha1":"b59db96af3dd1593356058703fc7af3cd7269919","sha256":"986cfef49d6a6ccd5cb1f1cbf562e8341ed581936885830831a2f4c3dc2b5901","sha512":"c07159fc500c72469ba6dfb7ccf5afdbaf476906fb039e5bfc7ab2c95e79b0067a47e6e02ad44915b9ba426273dc39996ffb1899c029253b56e4b02f7d419883","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6Or26ZMViZMEmkfknYH:uD5Unb26nD6Or26ZkFE9fknE","tlshash":"8e52d8a9b660ecbd51d945dbe07a2321b6193944b203aca4b9ecd4c510fdccca131f7e","first_seen":"2026-07-20T13:42:57.5385Z","last_seen":"2026-07-27T05:21:28.658542Z","times_seen":953,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxrLEEpLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgST10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoST8odChJLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxJKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKG4uaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLGkpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1yLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19Y29uc3QgZz03Njc7dmFyIHUsbSxwLGYsdzshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0odXx8KHU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0obXx8KG09e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KHB8fChwPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGZ8fChmPXt9KSksZnVuY3Rpb24odCl7CnRbdC5UaWNrZXJJdGVtSGVpZ2h0Tm9ybWFsPTQ0XT0iVGlja2VySXRlbUhlaWdodE5vcm1hbCIsdFt0LlRpY2tlckl0ZW1IZWlnaHRDb21wYWN0PTcyXT0iVGlja2VySXRlbUhlaWdodENvbXBhY3QifSh3fHwodz17fSkpO2NvbnN0IHk9ZztuZXcgY2xhc3MgZXh0ZW5kcyBke2dldCB3aWRnZXRJZCgpe3JldHVybiJ0aWNrZXItdGFwZSJ9Z2V0IHVzZVBhcmFtc0ZvckNvbm5lY3RTb2NrZXQoKXtyZXR1cm4hMH1maWx0ZXJSYXdTZXR0aW5ncyh0KXt2b2lkIDAhPT10LnRoZW1lJiYodC5jb2xvclRoZW1lPXQudGhlbWUpO2NvbnN0IGU9c3VwZXIuZmlsdGVyUmF3U2V0dGluZ3ModCk7bGV0IGk7ZS53aWR0aD0iMTAwJSI7dHJ5e2k9dGhpcy5pZnJhbWVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh9ZmluYWxseXtlLmhlaWdodD1mdW5jdGlvbih0LGUsaSxyKXtsZXQgcz0obj10PT09dS5BZGFwdGl2ZSYmcj9yPD15OnQ9PT11LkNvbXBhY3Qsbj83Mjo0NCk7dmFyIG47cmV0dXJuIGV8fChzKz0yKSxpJiYocys9MzIpLHN9KHQuZGlzcGxheU1vZGUsdC5pc1RyYW5zcGFyZW50LHRoaXMuaGFzQ29weXJpZ2h0KCksaSl9cmV0dXJuIGV9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWyJzeW1ib2xzIiwibG9jYWxlIiwic2hvd1N5bWJvbExvZ28iLCJjb2xvclRoZW1lIiwiaXNUcmFuc3BhcmVudCIsImxhcmdlQ2hhcnRVcmwiLCJkaXNwbGF5TW9kZSIsImN1c3RvbWVyIl19fX0pKCk7"}},"time_used":217,"timings":{"blocked":-1,"dns":2,"connect":1,"send":0,"wait":2,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/temp/custom/img/usdt.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.009Z","timestamp":1785120761009,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/img/usdt.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 10089\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":10089,"size_decoded":10500,"mime_type":"image/png","magic":"PNG image data, 130 x 112, 8-bit/color RGBA, non-interlaced","md5":"8b37477a77932beac836cbc83585b673","sha1":"d9cf0666bfd03799250cbfbb1350959e04bc9876","sha256":"b7d80d5060bee3e84bb9e08b8059fe2f9ac559b32cb1057424054dd0aa3aefde","sha512":"383909c183e026ab1a76983cff6dc69bb695c3e0ba7bdab455d546b42a678d8b9d9995968551ba7f9d57e74902203ccbe0546a8ec9e00297e710cac462f7adaa","ssdeep":"192:bSDS0tKg9E05TOFys0qeIVdo6dMv6x0JEHLnisbAjkXBGGMAtZTqntyui:OJXE05a0s0BIVd06HDisbAjkX4ivTqna","tlshash":"c622bff5f528d06fcc4c3d2948fec0c2ef76ae6897612839a3e542ce150d88e6b48576","first_seen":"2024-08-04T01:29:35Z","last_seen":"2026-07-27T05:24:59.87996Z","times_seen":925,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAIIAAABwCAYAAADSWajvAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAHJRJREFUeNrsnXl03dV177/n/MZ7f3ceNFmDJQ8YecCYwTaGAMGPeTR1oSFJQ3ghL8CDLl6SVdqVqasJbZosoKVpH9AEEkhDoFBCCCQMDxsw4NnYlmVJlmRrlu48/e5vOuf9cYUJYbBkXdnXcLfX9h+W/Fv3nvP57b3PPvvsQzjnqEpVaHUIqlIFoSpVEKpSBaEqVRCqUgWhKlUQqlIFoSpVEKpSBaEq0xax7E/kySP/DpEAlgPy2wErD0gSIHrAnQiIOws4HJBcAHQkRjlGRgagkSJCrhi89Y0gYBg9tBoj+SEQUYbXZMhyAp/HRlv7uZPfqihbEE+SWPHMkcGOebGxzlM1t1ArUrNGc3gdSDHn0uSEIJKo41im7TCLio7hOByJhMEsiGMiFXpt1O6KGfO6Fy8Nb/Vr9BDQAiAL8G4wewFGd7+FfFYF14YhEQrB1OFviUJ1KEZHd8NyEVDLD0ngqGn0wklnIGtRTCR7YabG4HUdAnctgkw0WIIEcDKlYQ613VHWaSPl3GvYkhyatjmyOEdB4Gj0RxHPpsBFCseyMJxOAGDwKxrcqoZxPQnZZqgN1SJvFkHAkTR0UMahCSLi6RROz6ttbYtaLzCtzgtZvmulXUg2HTJ1JB0ZKV3GiE3Qm88jWSQYKppIGTpM2wYHIFKKkCKiTlEQEXQ0qgTNYgY1YgGSbSHileDxN293B8/dJAfDL4iIvvLE4JDORQHFfB4eRYHBHRBOUDSKsCkwv7YJCqUwHUCWJMA04IAhVyzA7wvAsE24HQpNVkAJQAnBdGZjkRKqYItwDIVzjjmDdihSjF/b5h68VtY61u4bsoU9SRXbEipeHS9gNJ9D0TbBKIHtOJAkCQ4YNEGGKIgQCAUB4DgWBos6NlkxCITCtm0QABKRoEgaQrIL5wSyK87SHlux1G3fNtfrHbuofvHv0gPzH38tqP2eg1ddwzGd/Mk/7UPaoonslttd3u3X6S4x9EqC48WDAnbFLKSMNEAINFmBKitQFBml6f4Y60QoJFGGW5Tf9+8MpSlOOQYeHSrgEYchonqx0E1r1x7afeMF/p03nm/qO1PyygdFUvPQ1lCTWbKypArCbL39IMAq/k5Nsdh5fVIYuK+HcDzT48ILQ2nkmAWXKMMrq6hVgkCZXN67AAmCBFXzg4DAZDbe0S28kdTxQyrh3NrI8isj+/51jdL1rXMOhu73Lrrgx09k7OKJtMUvVr4FKFmB08b31ATErtuGdXrzSxN67Q/2Av2ZFDSXCb/LjQAVcHjgZ3ECODgkKkCiAgKyCxZn2BDX8dxgAY2eYN3Xm8f//ryRp265Rmj/7pCn/cGcnseJAERFg8AYgyJKqD/wh1sp6b/7qQnD+/39DkYKaYQ8XrSGa8EmB/l4DDbjHAIIwoobEVVDzjLw9U4d/l40/NXcvQ9cYx+62UM9t8YXfmGzwSwI1TzC9N86hzNc3yLPWZJ89r97C133r3vH8t6xKwWDcswN1cAnqYchqASrxTiHW5Qxxx+CIIn4TlcKF72dOH1zJvF2cPcj353nih43YE9IEBgvWYH14cw1PTt+vu/ujsGrrnhrHAN6AU2BCHySAs4rN0bnnEMVRLT4I8gTjs9t6sd3DiW/M7Hr/+5ZYm1t9aguOIxV3OeuqDzCWDqOGn8YDcO//sHGA5133fhOHllmotkfBpld1z87gwsCEGAwHQccBw+ubjMvDEjX9jXd8Nsi4bAdu2LyCBVhETg4GIBz3LYU6H/khft2dN117dYYJEVGqz8K8BMPgsNLXc7R7I8g6PPj8290y3+zL/FsXeKVby9w1ZUC4Qr5YsfdIpiMQZeA832x0MHdb2y6aUfvSRviGcwN1UIitGLigBkPNCFg4OhPjGNpwIt/W7nwybqTb1ofy8YhCQJESo6rRTiuIBDO4RCCM6Wu2s6Rt7de/PJE47hZQEswCl6BfrQcIlABg5k4RABPnr3whcWnfO2SnF2EYRkQKP1kuAbG2NSUMziOA4EQrFR7/Ns6tuxa+fuBxiy30foJhgAAHOag0ReCLCm48KV3Lt66/V821IteSIKI4xkCl9Ui7MyOTc13Mg4iiVhGOqVN+7f2Xbaxe44kS4hqPrBPMATvewMJRcYsIJHP4aFVy15ev/KWtaPIo2AapSBzCnKSHKzMhJIqK1MKoQgHmtUg3tmzd+vFr3bOUVwqat0+2J8SCN5dJvtlNxgHvvzmrgs87ocfPXfpFz6fMnJTfxlkVCYIR9rY4SiVGpykBnCg52dPn/PKrmWKqqLuUwbBYTfBGYKKGwBw7R9eu+G3orrz/JOv/1FXIfbe8vNEdA1dMD725zZnaCYuZPY/evtnX9t531BRR5M/XJEJlmMaQBKKiUIGlBM8dcX15y1tXLnhgJmASD4+hFsqBSoThDfN2EfTD46grOGk1Mutf7lhe+/jBwZxUrQBNnNQFUCkAg6kxrHE57d+cf1dQY+i5UeKSQj0o2E4TQ5X5qohQOQPVT+RUUvcaIMb/767e/svu/sxP1JfheCPrSVz0BaIYkciJv3Tyw/u0kARkFRIjENi+FAtr1svo3CRfqg6AsFcScM7vb965M7NHYGWUO2JmSqc7QCSMbSFavGzfR3zHt/2zHfrBC9004RpfLhWbIywxUp8SIDIEJX84LE3ll/2zPM7xi0DNW4fGD86pN8tUKl0OdpAjxKCtKHDMkw8/Ge3tC+rmbtvoJgA/ZB4YZWrrkJXDfYHJ5dQiiAk3LN7+0udyQmcXNsE5yhcgkQoCraFQ9n4CQFBsz8MhYpwpgk84xwB1Y2ufAaPbn3+2R9d+rX5EhFg2RZm8w0oKwiiIv/J8oijVfBjb89vbrnnne5wS7gW7CjjgriRxzxvDb636kqAlJ5dkUEfISgyBz/Z9QrG9Rw0cfqLfYcxtAVr8GRXx7zTm17/0heXnfdwbzYOOouWsKwgDKfi70saKKKEHlLE93fs+WcuCHCJ0lFnDlOGjkitB19oX31C+PtfdGxCXyZ2VCCUlpQEbkXFkx1v/fvaxWc8TDwK8pYxa7mFsgaLXi4eVg0CTnbXoPfAa3f/YaBXaPAGZ5Q+lqgA07HfFytUogKAYVuwGYNAjn54Geeo9wawY2xAeWzbK3+tGQ4y6TSy6eRhrVgQ/KoKv6rCp6qY4w0gbWXpQ12dX/eqGsiJVd1dGcIBn1vDs3u33J3L5nztUhD1ggcNk1qxIPQlx9GXHEdvchzZoo7NPW/e+cbYkFijeVHt3nY0HHCEVQ09qXH8brDjqzToQUx2EJc54jKvXBBk1Q1ZdUNzecBEES8e7P6WKAggVXNw9DBwDr/Lg5e7tv91wiogqGiQKYVCaeWCEPUFEfEFsTjciIPxQ+c/f6jPF3VXrcEMvQNCmgfbxwdDm/bs+FIjV6DkTSgFs3JByNs6dFuHwS1s7N7244xZhCyI1dmc6SRxAkGg+EP/nv89rKeRZiYStlG5y8f48CgUUcIePiG8MTS4POz1fWJqDo93rBBSPehOx1bsiY+Fgx5fPG8VK9ciaLILLZ4Q+mND13Zn4sQrq2V7tsMYJPreWSFCyFHpVGUmz1dECQKh084qfpyokoyhbAL7R/tvqpdUKGXesCurRbBFwJEoDmRGv2EwG5STstXhuUQJOcvAronBEhjTsDQcHKbjYFGwBkHFfcRPRACM5TPozcSgCCKmk9oVCUHRsWE4FhRBKqtdoIKAPRODN1y3dPUPI5qvckFQJAX9mYRn4/DBFX6Xp6zFmFG3FwezcVz09D2Hg6gpWxPOEM8m8Jt1d+KKtlOOvPNJCJ7q2Y5bnn8Q0VDttLJ57/6mV1YRUNzlC5Q5EFDc6E6NLetKjLXUekMHKxaEuf4IXkt1rh7MpanX5Sq7n6SUQBWn/5Y5nINKCgQ69WOoAqWALMMlSkeV1iWzcDRLFSWM5TPoGh1YPVcJVC4ImXwGfYmB5UXHQpBoZV5Pl3b1lKNYhTicQxUk0GnECAKhoIIERRCPOr9f7jCZADCZg7ieO10TpV9VbLBoEI54On45UF0pzJZIgoCeTOzsjFDeYLGsIBQKBRxIJU9VJLk6Y7MkLlHCSD613CK0rL63rK5hKJNoGCrmva7jAILDOWzuwLRtmMyGxRzYjMFhDBZzwDJx5M2pJ2HSZgEsMYo+AghEgEApxMlOKbIgQBYkSIROy92UJ06QES9klZ7x4SWfCTZuqUgQxq3CgkQxD1WWZ3nSGQq2haypQ7dMEABeSUXU5UVLIIRatx9hlwdeSYEmKXBJChzm4NSa5ik7rbVN7fjepTdDFSQUbBN5y0DG1BEv5jFWSGMkm8J4IVOqEaAELlGGT1ahijKEWYRDogIyRhH7JgbacdKZlQmCbhqtpmPDRZSyPZOQUqCYNnXE9Bw456hz+dAersey8By0+WtQ7/Ej4vJCJSKoIMBybOiOiYJpQLcsFLiF8XxmWiVyNmeQqYB6tx+qIMElinDLClyCAkkgcGwGnZkYL2QxkkujOzWG3bEh7EuOIFbMQRQERF1eeGUVKGNjDwKg6DiwHXNuxbqG/onRZk7JEU88TTVqLzgmBjOlgtg19fPxjVMvwpJQAygILO6gYBvI2iYGcilsHutHfyqGoVwS43oGGVOHblswbBsmd8CzCcz7i7/FgmDtlCZlw8B+3PXbn0AM1kOgtASDJMMvu1Dj8qLJG0JzIIIGtx8B1Y3zG0/CZXOXQaQUFnOwPTaApw9sx/axfsiihEZPCIogliXbKIgUCT0fqFgQGHj9TPcWCEqp2t70BFyChJsWn40vnrwGXknGRCGL/ekxvDl8ADvGB9CfjaHgmKCEQqYCXJIMVZAgCQI0xQWv6gYBAeMcI6IMTZq6pfIpLtBQPVoDUQClDCnjHDqz0ZOdwJ7UCPQDJkzmAGDwiCpaAxGcFm3BWfXzsLquDde0LcdIIY2fdryB/+7ZAYFSNPtCcBibkYWQqYCMaVQuCKOFtP9oEj7vW8YQgr7MBE6vmYsfnbMeqxra8HjnZvzj1hewKz54uMo3oLjQ4A0ek8p2MgkoJQSiQKEKIrwSAPW9nzMASaOAJw9sx087XodEBJxVNw/fWnUFfnnJV/C7vt345mtPoD+TOAzDUYMgiEjoea1iQUgUcpo8QxAGc0n8j8bF+M3VtwEA/uzZf8N/7dmISLgeC4K1ZfW35ct6lmBQBQl1bgn1bh84AXYmh7D2se/hr866Gvecdz3OmbMQlzx9LzqSw4i6vEc/aYKIrKEr5fwOZc0j6JYpzqRgk4MjWyzgm2deAgAo2hY64sMAAXySWmqodQKs9TlKJ8P9sgtgFjriIwAAr6zgfy07D8lceoaTRmAwW6hYEAghM5onAgJZkvFs787JNbOE5665A5cuXIWRfAqdsSFM6FlYzJk2EIxzeCT13c95xK1ktyhP+zQWRykFPFLIoDM2iHSxgM+tuBi/vPTmw7/z4qE9UFV3GdxVeZ1ieRtlSJKdtvQZlXE3e0P4l50vA4zj+2vWodUfwXPr7sDbI714smsrNgx1oys1iqxZBOMckijCIylwSwpkWkr8kD8ZJgJAoATjhQxsx4EgCB87jA5zkDTyED9kk+rd5poOZzAdu5RjMA1Yjg1CKUKKC8tC9Ti/8bO4YdFKLArXlxJURR13bPgVnujehhZfeEa7kg5ncImyVbEg1HoC+UPjacgzKEiRqIBazY8fbn0erw1349r5K3DDolVYWd+GlfVtAICuxCh2TQygMzmGzsQIDmbiGCmkkNTzKNgmTMcGJwAhFHQyAOWE4KYXf4aQ7IZLlqEIEiQqglICwksdTCzOYNg2dNtATM8BAPrScXDOS13aGQMFgSyI0EQZIZcHC7xRzPVHcHK4HgsDNTitpgXN/sjh79OdHMfjnW/j1z3bsDs2gPmhuhm7OJs58Mous2JBaPZHYq8OdmEmlUkOZ1CoiEWROdiTHMabG7tx/85X8NnmRTirYT5W1bVicaQRC0PvPwCaNYvoS8cwkI1jKJdC0iggXdSRd0wULBO6Y2FczyJtFFC0TeQtEzbTS+afl3oaCZRCEgQEVA8WBOtR6/KWlqKiDI+owC+7EHF50OANoMkTQmswCteHFJ9sGz2IzWN92DjYhVcH92M0l0RY8+HkyJzJZmIzi3RM5iAou3IVC4KLCMOkDAf03m1U2eD2A1oAWbOIn+97Cz/duwl+RUWbL1rKLIYa0R5pwOJwA1oDUSyLNmJZtHHKMQP7o9NJhJT8rjCdMnEOdCfGsDc2jHcSg9gbH0ZHfBgHM3FkrSJkUUSt5sdJ0TkA52XrDOM4DlRZSVUsCDKhwyoVwcoUhXIA4BweSYEnUGpqbTGGgUIKe5PDeMx+G7IgIqC4Uev2IqRoCCpuBGU3IpoXYZcXIcWNgOKGIkg4v2khvIrrcL7i4zaMxvJpvD7UA5sxJM0CEkYe8XwO8UIWSauApKEjrucwUcwiWSzAZg5USYJPcSPq8aGevJfvKXc5v2VaaApFJyo3RgiEe9496Erp7HT3lShFSHEjNNmEioHDchyMF3MYyKdgOaWdR4cxMMZLQSGhYPkUnr7+Llw9b/kRJ4YQgse7tuCO3/wrxEAUjPHJCqnSDqQ4uQOpCBI0WUFgMoN5LJa3jHOoogS/pPZVLAgNgUhHUHazcSNHRargWAidrFr6qMolDsBmDEMChSxO/eu6RAXwh9ESiIBOcffkWOQ4LM6gySoa3P7Ois0jNHjC6XpvYH/BMlApQibdgEjotDbDSq6j9H8q6cBe0bYQcXuyNYHA3ooFIaBIaPQG3/zj4+tVKa/oloEGb/Btv+K2KxYE3dBR5/ZtE4hQnbFZEs455nrDG6lR3rZqZQWBUgWt4YYdHlGGzVl11sodKE5eLDbPF90dUFyVC0KWOGirqd/c7A8nMoZenblyxweOhajqQa0v8MaYXahgEIwcQqLbWV7b8mzeKFb7IpQ16CVIFQpYWtO0odEXnkhYFQyCZZYKShdH5vzUJ6mfykbbs+kWwBjWNC58uMkXRo3mr1wQ8paFgVwSTf6ajXMD0ap7KOvYmmjyh9iSuqZfjxhZmKZVuSDU+HwIaxoW1c7BspqmZ1J6/kM7hlZlmpNECBL5DJbVtrxU5wkVUnYRdpn7j5R3lhgHYxwF28TaeUv/odbtRcE2qzM5QzEdB6ogYX37yn9s0sKo1wJo8AQrFwRbIHAEgjEzi/bG1q7VjQtfHM+lq0HjDIPEuJ7D8rqWrrpA6JXXY93oTY3hQHKsckHwyxr8sgaf6IaPqri6/cwfqESA5VTb8c+ABOimgUsWLL87pHhBOCALEuSyNuEo86ZT0Xhvj2HAmMCicMOrp9W37t0y1r+4wRuo9lM6ithgOJ/CipqW1OcXn/2oSmW4A9Ks9OYuq0WIW/nDOmhnYMDGtcvX3IzJg6hVmZ44nKNoGFi/eOXXCIO9JzmAwWwMg5mSVqxFaIvUv//hVMDV88/Y9GLrzh3Pdm87dUG4vqwNpj7JIhCKvnQMqxvmD1ww/5Rf7S2MwcbsvUzlva+haH6AaKrJuOWMC657/WBHV8oswC+5wKqNNI4UFiBvm5A5cOvqS7/QqkUgMHVWL/Iu67MdUXifMknEgJnF6toF3TefedGPR1IJ8OoC4siTQikOJcexvv2Mpy5pWrLhQDEG09BR/BOtWBAkKn9AZSJj3NLx1RVrv35W/bzBgWxiRuceyvXGVSqPlFCM5FJYFGrQb19z5Y0JWOACARGFD2jFgqAXUh9UPY2R/AQEgeNvz73mUsHmSJqFY95pxGI2GrTAJAkEOMJJp6jbC3aMC2woCPK2gWwhj++uve6q+a5wJuEUIAkyREH6gFZsjCCrH12nOFbMYE1j++5vnnXZt7+z8em/c0cUSKDH5GJsAiDk8uDhjjfQHqyDORmwfhSKEqF4a6wPYc1/zArVCEp3Yw4kxnHnmiseXNe09MWDKMJFhGNiv8p6y9v24kdXWDPO4ZIVzBF8uOV3D/z2P/dtvmxRzZxjdim4RAUczCaQM4uHh/XjvnlQdWOOJ4hjVXYnUoqO8SFcNP+U7c9edftpGQAp2B9bZ9kKoTJB2O18/Clfxhgikg/csej6J37cvWW0v21huOGobn07WuHTeEOPlYhUQG9yDC2+UPr3N3y7JSqp6UEYEI7guedBqkwQunHk6mUbDG1wYX8hOefKX3x/74Sl+1s+xfdDC5RiKJuEh0h44vo7F58SbOzoYekp+ezFtHw1CeW9Cdaxj6iCw9Dv5DHfHRz6+brb1oRExTmYTkCk9FMJwWg+DWLa+MlVN593ZrCxo4vFAG7D4c4RtWJjhD3FqV3OycFBKMU8OYSNA52n3vzcQ2/FHF1u9oWPWcxQCRCM5FIQHY6fXPrlyy9uO/W5Q3YGjNtTDlCXSMHKtAiE0CkpJQIIJ+gxEji7adGOx6697fR6Scv0JsdBKQX5FEBwKB2HRmXcd/FfnndB26nPjbIsHMcCYaTUkGkqWql5hOkvmQgOOmksjDbt/tm6W5afEp7T0z0xAgc45nmGY/J9CQEnQG9iDK3uUPyfLv7cGcta5m84kBkppeMJfS/bNRX95IAAEA70pcdQH472PbL+9mWXz1v2//oTY8hZxieqzI0SAsOx0DcxilVzFmx+aP2tS+dF6rceSIyUElnH+/NViqkcSMQgy4p+/1Vf+ewdp1/496lsFqP5NCghJ7SrIJM5grF8GkOJGL52xoUP3LvuKyu9mmdkMBk/7un2igLhXRhixTTiVg63rrn0W/dfftM1Tap3pCcxhoJjn5DWgRICkznYPzGMepcvd+8lX/7iNz7z51/NOybGMsnpNeWYbWDLuWrYa0z/vmIqUOR1HQXbgsutwrQMEIcg5PVjNDHhf3TX6//8VMfbXzTA0OALQSSk4iudCCHgAEayKTDLwsULTnnub8677tZ6LXTwgD6BrFWABhHJXBqCKKDO5YfX7Z52Sd8SOfjJBcG2TTgWQ9Yy4XdrCMgu7BjoWvvQtg33bRvta5dkCWHVU2qQVWFAEBCAABOFLLJFHSvr5vZ/6bS1/+ecBYufcsGN3vQIiEihMwMuLlQUCBV7O6dAKVKFHJL5LFa1tb90Wtuyxb/e8vLnn+/c9nd7U6OtRCCIuP2QKD3uQBAQOGBI6DkUjCLaQ/Xjly8//+51S1ffX6PV2HuzAwhpNgRCUalZkoq+ppVMvvVDqQl4AzVY09b+6OJQw2M74kN3bBnovHHbSP+yArMRdHugSQoojl1n1nfb5BRsEyk9DwkEi6IN+z/TtOixyxaddk9I8+SyloF+PV5qJVThIe8JcV8vJRSGbWIwHYfAOb/w5BX3XrnkzHu39O5d9+rBff+zc2L4guF8WjaYg4CqwS3Jszrsum0hY+qgjCPq9uH05vaXV7e2/8eKxtb/rJFUFAD0JSfgUVS4RPVEGGKcUBc3U0JgORaG0nEE3V6cu+iUp85ZsPSprvGRuq2DPVceiA3/RUd8+LzRfAam40AWRfjcGmQiHPXVe4QQGJwhXyygaBoQqIA6zY+ltQ1vzq+pf/L05gXPLAjWHSCygnghjb7kBLya94RLiJ2QN3gTQuAwByOZJCgIPJo2em7b4gf+fNnqB3ozydbdw32rxnOJ5QOx8fMPpWILitx0UUop55wQzik4f3+HXn74b6DUT5qDEM4JYQ7nzEOE4rzgnP3z6xo3RVVte2swsnN+oH5PjBfhVlXE9BxsPQcQPqvX+Jwwy8eqnLhSPapclSoIVamCUJUqCFWpglCVKghVqYJQlSoIVZmq/P8BAE6pqbk42e0HAAAAAElFTkSuQmCC"}},"time_used":521,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":518,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.086Z","timestamp":1785120763086,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 821e52063b500cf7052429f258d98f3a\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-07-27T05:26:56.002121Z","times_seen":654,"resource_available":false,"data":"Ym9keXtvdmVyZmxvdy15OnNjcm9sbH0udHYtbGF5b3V0LXdpZHRoe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyMHB4O3dpZHRoOjEwMjBweH0udHYtbGF5b3V0LXdpZHRoLS1uby1wYWRkaW5ne3BhZGRpbmc6MDt3aWR0aDo5ODBweH0udHYtbGF5b3V0LXdpZHRoLS1zaW1wbGV7cGFkZGluZzowfS50di1kaWFsb2cgLnR2LWxheW91dC13aWR0aHttYXgtd2lkdGg6MTAwJX0uY2hhcnQtcGFnZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtbGF5b3V0LXdpZHRoe3dpZHRoOmF1dG99LnR2LWxheW91dC13aWR0aCAudHYtZmVlZHttYXJnaW4taW5saW5lLWVuZDotMjBweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0yMHB4fS50di1sYXlvdXQtd2lkdGggLnR2LWZlZWQtLXRhYmxldC10b3AtaW5kZW50e21hcmdpbi10b3A6NDhweH19LnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dCxib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0e3dpZHRoOmF1dG87LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKjIwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KTstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGg6MjM2MHB4O2JveC1zaXppbmc6aW5pdGlhbDtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tYWRhcHRpdmUtbWYtY29udGFpbmVyLXBhZGRpbmcpO3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nKX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMzJweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxNDQwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqNDBweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxOTIwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMTAwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KX19QG1lZGlhIChtaW4td2lkdGg6MjU2MHB4KXsudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0LGJvZHkucGFnZS13aWRlIC50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXR7LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKigxMDB2dyAtIHZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpKS8yICsgdmFyKC0tc2lkZS1nYXAtbW9kZS1maXhlZCwgMCkqMjBweCk7bWFyZ2luLWlubGluZS1lbmQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG87bWF4LXdpZHRoOnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpfX0uZmlsdGVyLWlkZWFzLWJ1dHRvbi13aXRoLXBhZGRpbmd7cGFkZGluZy1pbmxpbmU6NXB4fS50di1sYXlvdXQtcGFkZGluZ3twYWRkaW5nOjAgMjBweH1ib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjE1MjBweH0udHYtbWFpbixib2R5LnBhZ2UtZnVsbHdpZHRoIC50di1sYXlvdXQtd2lkdGh7d2lkdGg6MTAwJX0udHYtbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MTAwJX0uY2xlYXJ7Y2xlYXI6Ym90aH0uY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LmhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc2hvd3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0udHYtcmlnaHR7ZmxvYXQ6aW5saW5lLWVuZCFpbXBvcnRhbnR9LnR2LWxlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0udHYtY29udGVudHtmbGV4OjEgMCBhdXRvfS50di1jb250ZW50X19jb250ZW50LWJsb2Nre3BhZGRpbmc6NzBweCAwfS50di1mZWVke21hcmdpbjo0OHB4IC0xMHB4O21pbi1oZWlnaHQ6NTAwcHh9LnR2LWZlZWQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWZlZWQtLW5vLW1pbi1oZWlnaHR7bWluLWhlaWdodDphdXRvfS50di1mZWVkLS1uby1oaW5kZW50e21hcmdpbi1pbmxpbmUtZW5kOjA7bWFyZ2luLWlubGluZS1zdGFydDowfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWR7bWFyZ2luOjAgMCA0OHB4fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnR2LWZlZWR7bWFyZ2luOjB9fS50di1mZWVkLS1uby12ZXJ0aWNhbC1tYXJnaW57bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0udHYtZmVlZF9fZW1wdHl7Y2xlYXI6Ym90aDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZmxleDoxIDEgYXV0bztmb250LXNpemU6MjBweDtwYWRkaW5nOjEwMHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnR2LWZlZWRfX2l0ZW17Zm9udC1zaXplOjEzcHg7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmc6MCAxMHB4O3dpZHRoOjQ4MHB4fS50di1mZWVkX19pdGVtLS13aWR0aF90d28tY29sdW1uc3t3aWR0aDo5ODBweH0udHYtZmVlZF9faXRlbS0td2lkdGhfZnVsbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbS0td2lkdGhfaGFsZntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxvYXQ6aW5saW5lLXN0YXJ0O3dpZHRoOjUwJX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1mZWVkX19pdGVte21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjA7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbTpsYXN0LW9mLXR5cGV7Ym9yZGVyLWJvdHRvbTpub25lfX0udHYtZmVlZF9fc2VjdGlvbi10aXRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWRfX3NlY3Rpb24tdGl0bGV7YWxpZ24taXRlbXM6YmFzZWxpbmU7bWFyZ2luLWlubGluZS1zdGFydDoxMnB4fX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1oN0RNOiNkOWRhZGJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1oN0RNOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfWJvZHksaHRtbHtiYWNrZ3JvdW5kOm5vbmU7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjI0MHB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfWJvZHl7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzAtaDdETSk7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94fQ=="}},"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://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.476Z","timestamp":1785120763476,"http_version":"HTTP/2","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\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 02:52:43 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: 5cf1a4b50f4b11df73ade2aeb24270c1\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/img/ltc.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.011Z","timestamp":1785120761011,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/img/ltc.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 13550\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":13550,"size_decoded":13961,"mime_type":"image/png","magic":"PNG image data, 130 x 112, 8-bit/color RGBA, non-interlaced","md5":"77d42d5b15ebf2640cb4cc502daf8a6b","sha1":"05107b3dd4d14e029f7c850f0d694cf58162d3f9","sha256":"d2f974102174a25612e2d088bae1086a9ff001ac82fd9c97923a38ec7358985b","sha512":"07dae00e6ff958a6ffdb4c13abf9821f58a491cd612a2f5c993e75d18eaf1db6b3eb7867b55e6335c359216a2d796877a1ef3fd131288d743f46ac50bc239b62","ssdeep":"192:bSDS0tKg9E05Txo4rejZ4ZBiwictqr0xF43pW5PCgKN2LDy4fXhrwgmbnNzpVDRM:OJXE055reNUBikcYqg5C2Le+xr8N54Vf","tlshash":"bd52d16f07f0726e9a536814491e18999978cbbd4741011bb4d3c8fe18adb155b4209f","first_seen":"2024-08-04T01:29:35Z","last_seen":"2026-07-27T05:24:59.867132Z","times_seen":923,"resource_available":false,"data":"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"}},"time_used":524,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":521,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.826Z","timestamp":1785120761826,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 2249377\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 02:52:41 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=Ac2wqqSlWvPFwTN6UwK%2F1epFoPLgQU3oYUnsgEVTLa5VoywTc2YwT3KXDrF3r%2B64ZkVv%2B7Fd3utnrmOnxzsZnK6LlkC%2F9jjyR27OxDn%2BsFuHh%2FUrr2IdVDRrwTXa\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859796bdb0daa-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":27443,"size_decoded":11053,"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-07-27T05:24:59.882777Z","times_seen":1456,"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":"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.976Z","timestamp":1785120761976,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 5005950\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 02:52:41 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=1mQ%2BCw6y%2F9Zmy15t7oTrirmfAfibkW3nkZN5T3QFHOlht8mPX98A2jsZgEig29yi5Hsim%2BnMoDnHqp5J1I1l1UKpn8K80eTeI%2BE38jHN5ihkjA3NmtsJVS6hNwzZ\"}]}\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"992603cebc96287b9bf186c47928c4d2\"\r\ncf-ray: a218597a6bec0daa-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":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-07-27T05:24:59.896277Z","times_seen":2344,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkxOTQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ3YXJuT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319XSk7"}},"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.066Z","timestamp":1785120763066,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: e4d754e1cc7e11bec5a66e11033e5591\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":4306,"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-07-27T05:26:55.989677Z","times_seen":1027,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteTJaWDojZWNlY2VjOy0tXzEteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV8yLXkyWlg6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzMteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tXzQteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tXzUteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tXzYteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1fMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzIteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMy15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1fNC15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1fNS15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMC15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEyLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnR2LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowO21pbi13aWR0aDo0MHB4O3BhZGRpbmc6MXB4IDIycHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDtmaWxsOmN1cnJlbnRDb2xvcjtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZSxjb2xvciAuMzVzIGVhc2V9LnR2LWJ1dHRvbi50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMjFweH0udHYtYnV0dG9uLmktYWN0aXZlLC50di1idXR0b24uaS1ob3ZlciwudHYtYnV0dG9uOmFjdGl2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b246aG92ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LWJ1dHRvbi0tYmxvY2t7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50di1idXR0b24rLnR2LWJ1dHRvbnttYXJnaW4taW5saW5lLXN0YXJ0OjE1cHh9LnR2LWJ1dHRvbi50di1idXR0b24tLW5vLWxlZnQtbWFyZ2lue21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtYnV0dG9uX190ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1idXR0b25fX3RleHQtLWZ1bGwtaGVpZ2h0e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6MTAwJTt3b3JkLXdyYXA6YnJlYWstd29yZDtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MTFweCA1cHh9LnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LGEudHYtYnV0dG9uLS1kZWZhdWx0OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0OmFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV8wLXkyWlgpO2NvbG9yOiNmZmY7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kZWZhdWx0LmktaG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtjb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1kZWZhdWx0OmhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2NvbG9yOiNmZmZ9fS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfX0udHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLWRlZmF1bHQuaS1jaGVja2VkLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWNoZWNrZWR7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHQ6aG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9fS50di1idXR0b24tLWRlZmF1bHQuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdDphY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0OmFjdGl2ZXtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tcHJpbWFyeSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1wcmltYXJ5OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzYteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdHtjb2xvcjp2YXIoLS1fNi15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV82LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNi15MlpYKTtjb2xvcjp2YXIoLS1fOS15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5LmktYWN0aXZlLC50di1idXR0b24tLXByaW1hcnk6YWN0aXZlLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOC15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1wcmltYXJ5LmktaG92ZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV83LXkyWlgpO2NvbG9yOnZhcigtLV85LXkyWlgpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVyLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9fS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV85LXkyWlgpfX0udHYtYnV0dG9uLS1zZWNvbmRhcnksLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1zZWNvbmRhcnk6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3R7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmFjdGl2ZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNkMWRiZjA7Ym9yZGVyLWNvbG9yOiNkMWRiZjA7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1ob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlMWU3ZjU7Ym9yZGVyLWNvbG9yOiNlMWU3ZjU7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeTpob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1O2JvcmRlci1jb2xvcjojZTFlN2Y1O2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1fS50di1idXR0b24tLXNlY29uZGFyeV9naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zdWNjZXNzLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsYS50di1idXR0b24tLXN1Y2Nlc3M6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpfS50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN1Y2Nlc3MuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2VzczphY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtYWN0aXZlKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0tc3VjY2Vzcy5pLWhvdmVyLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlciwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcil9LnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyLC50di1idXR0b24tLWRhbmdlcl9naG9zdCxhLnR2LWJ1dHRvbi0tZGFuZ2VyOnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0e2NvbG9yOnZhcigtLV8zLXkyWlgpfS50di1idXR0b24tLWRhbmdlcl9naG9zdC5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyLmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcjphY3RpdmUsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcl9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzUteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kYW5nZXIuaS1ob3ZlciwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVyLC50di1idXR0b24tLWRhbmdlcl9naG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzQteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9fS50di1idXR0b24tLXdhcm5pbmcsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdCxhLnR2LWJ1dHRvbi0td2FybmluZzp2aXNpdGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0td2FybmluZy5pLWFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtjb2xvcjojZmZmO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0td2FybmluZy5pLWhvdmVyLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0td2FybmluZzpob3ZlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tbGluaywudHYtYnV0dG9uLS1saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1saW5rOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0udHYtYnV0dG9uLS1saW5rOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpfS50di1idXR0b24tLWxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdle2JvcmRlci13aWR0aDoycHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVye2JvcmRlci13aWR0aDoxcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC15MlpYKX19LnR2LWJ1dHRvbi5pLWRpc2FibGVkLC50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZCwudHYtYnV0dG9uOmRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fMS15MlpYKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LWRpc2FibGVkKTtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi5pLWRpc2FibGVkOmhvdmVyLC50di1idXR0b246ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzEteTJaWCk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1kaXNhYmxlZCk7Y3Vyc29yOmRlZmF1bHR9fS50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7Ym9yZGVyLXJhZGl1czoxcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE1cHg7cGFkZGluZzoycHggN3B4fS50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3hzbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjFweCA2cHh9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwrLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1idXR0b24tLXNpemVfc21hbGx7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjVweDtwYWRkaW5nOjFweCAxMnB4fS50di1idXR0b24tLXNpemVfc21hbGwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3NtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowIDExcHh9LnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbCsudHYtYnV0dG9uLS1zaXplX3NtYWxse21hcmdpbi1pbmxpbmUtc3RhcnQ6MTBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjQ0cHg7cGFkZGluZzoxcHggMzBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXN0YXRlLC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e3BhZGRpbmc6MCAyOXB4fS50di1idXR0b24tLXNpemVfcHJvbW97Ym9yZGVyLXJhZGl1czoxMjBweDtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDo1NHB4O3BhZGRpbmc6MXB4IDQwcHh9LnR2LWJ1dHRvbi0tc2l6ZV9wcm9tby50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfcHJvbW8udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMzlweH0udHYtYnV0dG9uLS1uby1wYWRkaW5ne3BhZGRpbmc6MXB4fS50di1idXR0b24tLW5vLXBhZGRpbmcudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1uby1wYWRkaW5nLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowfS50di1idXR0b24tLXN0YXRle2JhY2tncm91bmQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDt0ZXh0LWFsaWduOmNlbnRlcn0udHYtYnV0dG9uLS1zdGF0ZTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrLWhpbnQsLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZHtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuMjYyNXMgZWFzZSx0cmFuc2Zvcm0gLjI2MjVzIGVhc2V9LnR2LWJ1dHRvbi0tc3RhdGVfX2VsbGlwc2lzLXRleHR7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50LC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVja2Vke3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e29wYWNpdHk6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke29wYWNpdHk6MH19LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrZWR7b3BhY2l0eToxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHtvcGFjaXR5OjF9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCl9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3MuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Y29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3M6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMy15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlcjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMTAteTJaWCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LXkyWlgpO2NvbG9yOnZhcigtLV8xMS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC1ob3Zlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LWhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QtaG92ZXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtYWN0aXZlKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2UxZTdmNTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2QxZGJmMDtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmcuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0td2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWljb24td2l0aC10ZXh0IHN2Z3ttYXJnaW4taW5saW5lLWVuZDo2cHg7bWFyZ2luLWJvdHRvbTotOHB4O3ZlcnRpY2FsLWFsaWduOnVuc2V0fS50di1idXR0b24tLWljb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjM0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6YXV0bztwYWRkaW5nOjAhaW1wb3J0YW50O3dpZHRoOjM0cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfeHNtYWxse2hlaWdodDoxOXB4O3dpZHRoOjE5cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfc21hbGx7aGVpZ2h0OjI3cHg7d2lkdGg6MjdweH0udHYtYnV0dG9uLS1pY29uLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZXtoZWlnaHQ6NDZweDt3aWR0aDo0NnB4fS50di1idXR0b25fX2ljb257ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjdweH0udHYtYnV0dG9uLS1sb2FkZXIgLnR2LWJ1dHRvbl9fdGV4dHt0cmFuc2l0aW9uOm9wYWNpdHkgMTc1bXMgZWFzZSx0cmFuc2Zvcm0gMTc1bXMgZWFzZX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX3RleHR7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbi1kZWxheToxNzVtc30udHYtYnV0dG9uX19sb2FkZXJ7Ym90dG9tOjA7Zm9udC1zaXplOjA7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjowIGF1dG87b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIGVhc2V9LnR2LWJ1dHRvbl9fbG9hZGVyOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MH0udHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xMi15MlpYKTtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwcHg7bWFyZ2luLWlubGluZS1lbmQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMnB4KSBzY2FsZSguNik7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjY4LC0uNTUsLjI2NSwxLjU1KSxvcGFjaXR5IC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTBweH0udHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7dHJhbnNpdGlvbi1kZWxheTouMTE2NjY2NjdzfS50di1idXR0b25fX2xvYWRlci1pdGVtOm50aC1jaGlsZCgzKXt0cmFuc2l0aW9uLWRlbGF5OjIzMy4zMzMzM21zfS50di1idXR0b24tLWRlZmF1bHQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1sb2FkZXIuaS1sb2FkaW5nIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17b3BhY2l0eToxfS50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtvcGFjaXR5OjB9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNil9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItWWpkSEtzQk0gLjk2cyBlYXNlLWluLW91dCBpbmZpbml0ZSBib3RofS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDIpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNTFzfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDMpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4zMnN9LnR2LWJ1dHRvbi0tbm8tYm9yZGVyLXJhZGl1c3tib3JkZXItcmFkaXVzOjB9LnR2LWJ1dHRvbi0tbm8tYm9yZGVye2JvcmRlcjpub25lfS50di1idXR0b24tLWNvbm5lY3R7Ym9yZGVyLXJhZGl1czowfS50di1idXR0b24tLWNvbm5lY3RfbGVmdHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0udHYtYnV0dG9uLS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LWJ1dHRvbi0td2l0aC1pY29ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9QGtleWZyYW1lcyB0di1idXR0b24tbG9hZGVyLVlqZEhLc0JNezAlLHRve3RyYW5zZm9ybTpzY2FsZSguNil9NTAle3RyYW5zZm9ybTpzY2FsZSguOSl9fQ=="}},"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.106Z","timestamp":1785120763106,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 67e8a3c258451d7a1e22c561847d8a6e\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-27T05:27:33.108678Z","times_seen":356,"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":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/94708.73d2bca37207c67a41f4.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.474Z","timestamp":1785120763474,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/94708.73d2bca37207c67a41f4.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/ticker-tape/?locale=en\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 02:52:43 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-8b98\"\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: 3c010e87b0cfeddabfc4658b6e964476\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.woff2","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.24.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.603Z","timestamp":1785120761603,"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":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.woff2 HTTP/1.1\r\nHost: cdnjs.cloudflare.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://360trustwealthavenue.stglen.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css\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\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: application/octet-stream; charset=utf-8\r\ncontent-length: 150124\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\nlast-modified: Mon, 27 Mar 2023 17:46:59 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=HkEpOULKZ6%2BGk3hqEDQzvkNJpoTii6IQ%2Bo8P%2BJAxApnGgKzusl5uJe8NfsrkXk%2Fv3qDvNcmhRvCiqbN%2F59Q0yoHH1mzTw0iexY4RH25%2BR46B9alzdPG%2BOEAV7S6iK0t6SLdpCV72\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=5,i=?0\r\nserver: cloudflare\r\ncf-ray: a21859781f294e4c-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"]}],"data":{"size":150124,"size_decoded":151118,"mime_type":"application/octet-stream; charset=utf-8","magic":"Web Open Font Format (Version 2), TrueType, length 150124, version 772.256","md5":"c64278386c2bbb5e293e11b94ca2f6d1","sha1":"6b99aa650bd12a36caa14e0127435d8f4cd3ba73","sha256":"7152a6933ee3d690ec2af3d09da9d701723d16aa3410a6d80f28ff8866f3b880","sha512":"0ccdc1515510d902c0b4a48b863c48bad86e1f766b1f9c890a64e28d91ee7c6d488241c531fc094d15b29c211da71e092587a987e24ee8e67ef8ea99c284e821","ssdeep":"3072:7sCbk7w0ZXdkN6iMjif3Lr7x7wAtf+D7gDk1feXDLnurWHqrNIuv5n0:7sCbkFZXdC7MaLr9w2mIY1feXXurWyNW","tlshash":"28e3123cf2c6d486735f5aeadb79636894fd0a2e74ecc67d26b982112048f828174d1d","first_seen":"2023-04-09T20:30:06Z","last_seen":"2026-07-27T05:12:05.117162Z","times_seen":43868,"resource_available":false,"data":"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"}},"time_used":51,"timings":{"blocked":-1,"dns":0,"connect":7,"send":0,"wait":39,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.612Z","timestamp":1785120761612,"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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/2 200 \r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 02:52:42 GMT\r\nserver: tv\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nexpires: Mon, 27 Jul 2026 02:54:42 GMT\r\ncache-control: max-age=120\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-hDjF5Wdu3mO1GcH8HhonBQ=='; base-uri '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\ncontent-encoding: gzip\r\nvary: Accept-Encoding,Accept-Encoding\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 ec47ad650ce8b90cf8852923bd4f4320.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: mFp6fdEjWBKNoynxtcMKo38_OOIzwtXtq9pKYiiTiQqOUCPC6q4rIg==\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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"]}],"data":{"size":76547,"size_decoded":18279,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (17728)","md5":"634a94a5c79d7d9b8c5e6e21edd476c5","sha1":"845889f94e1808d160dca865431d0f11457fa26e","sha256":"2a50bd31ae29d24bd787f34e863a683ce85f5b31a37a24b77ff261c228225101","sha512":"9c9206e21f01bf2918c11c31e91966eb9c5b91262c8c4328a9a1f39b87a40c4908fcc1a1be91aff691e3e6a14d2cd0295217678078ee517f8679476ec5c0daa1","ssdeep":"1536:B8DCteAQTe8NzMob3e9c/1fcNogdf3s47NogdvWn+66ceuvRMa:B8DCteAQTe8NzMob3e9c/1fcNl5NlvWx","tlshash":"95730757d80d8705d9968a057c37b202fd29036c859268947aecdcec149bec3f19bbbe","first_seen":"2026-07-27T02:53:32.334208Z","last_seen":"2026-07-27T02:53:32.334208Z","times_seen":1,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UcmFkaW5nVmlldyBDaGFydCBXaWRnZXQ8L3RpdGxlPgoKCjxsaW5rCglyZWw9ImNvbnZlcnNpb25zLWNvbmZpZyBwcmVmZXRjaCIKYXM9ImZldGNoIiBjcm9zc29yaWdpbglocmVmPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9jb252ZXJzaW9uc19lbi5qc29uIgo+CjxsaW5rCglyZWw9Im1ldHJpY3MtY29uZmlnIHByZWZldGNoIgphcz0iZmV0Y2giCWhyZWY9Imh0dHBzOi8vc2Nhbm5lci1iYWNrZW5kLnRyYWRpbmd2aWV3LmNvbS9lbnVtL29yZGVyZWQ/aWQ9bWV0cmljc19mdWxsX25hbWUsbWV0cmljcyZsYW5nPWVuJmxhYmVsLXByb2R1Y3Q9eXRtLW1ldHJpY3MtcGxhbi5qc29uIgoJY3Jvc3NvcmlnaW4KPjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3BpbmUtZmFjYWRlLnRyYWRpbmd2aWV3LmNvbS9waW5lLWZhY2FkZSIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyI+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMTgzNy5kMzY4Y2FhNjRkNDk0YTQwODdjYy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTUxOC4wODFmOTYzN2I5NGVlNjJhNmU2Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84NDA4LmRlNTM0NjYzZTA1MjA3NWJhMTJmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzExNDA5LmZmODRjZTRkNTIzZDM1NDBjN2IyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjAwLjcxZGEwNzZmYjAxOTdlNGQ1OTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg4OTA2LjBkNjUwNDY5YzljODQzNTc3YjQ3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzODA5LmMyYmIxNjIzY2VkNzdhZDA3ZjljLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg1NTEwLmRlODYyZjlkMjZkYjdjZjNjZDA4LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMzNzM1LjJjYjg0NGFkMmIwZjNjODkyMTYyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0iaERqRjVXZHUzbU8xR2NIOEhob25CUT09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJoRGpGNVdkdTNtTzFHY0g4SGhvbkJRPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNjIzNTEuYjM4MmRhMTc0ZjA5N2EwZDBlNDMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NjI1OC4yODJlNjE0MWZjMDJhYzg1ZDBkNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTM2MjcuMTE1MTk1YjcyZjJkOTJjZWNiOWIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NDkxMS5mYTYxZDJhMjc0ZDQyMjQ0MzRjYS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDgyNS44YTkwYzBjM2ViZDQxM2ViOWM4MS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY5MzQuOTBlZGZlZjZjZTk4MzY5YWUwNGEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk1MjQ0LjlkYTg4OWMxMzZkMjUwNmEzZDgxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTM0MjYuMDA4M2QxNjNkNzI4YmZmNzg0ZDkuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYzMTYwLjJhM2EyMTE4NWZiY2M3MDc5ZGFlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTk0NjUuOGU5YzA2Yjc2YzlkNTBiYzI0MmIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2FkdmFuY2VkX2NoYXJ0LjZkMDdlNGZkOGUzZjI3ODVjZjI1LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi42MjM1MS5iMzgyZGExNzRmMDk3YTBkMGU0My5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTYyNTguMjgyZTYxNDFmYzAyYWM4NWQwZDUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MzYyNy4xMTUxOTViNzJmMmQ5MmNlY2I5Yi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDQ5MTEuZmE2MWQyYTI3NGQ0MjI0NDM0Y2EuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0ODI1LjhhOTBjMGMzZWJkNDEzZWI5YzgxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM0LjkwZWRmZWY2Y2U5ODM2OWFlMDRhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTUyNDQuOWRhODg5YzEzNmQyNTA2YTNkODEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzkzNDI2LjAwODNkMTYzZDcyOGJmZjc4NGQ5LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjMxNjAuMmEzYTIxMTg1ZmJjYzcwNzlkYWUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzU5NDY1LjhlOWMwNmI3NmM5ZDUwYmMyNDJiLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfYWR2YW5jZWRfY2hhcnQuNmQwN2U0ZmQ4ZTNmMjc4NWNmMjUuanMiIGRlZmVyPjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9ImhEakY1V2R1M21PMUdjSDhIaG9uQlE9PSI+d2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMywiY2hhcnRfYXV0b3NhdmVfNW1pbiI6MS4wLCJjaGFydF9hdXRvc2F2ZV8zMG1pbiI6MS4wLCJwZXJmb3JtYW5jZV90ZXN0X21vZGUiOjEuMCwiY2hlY2tfYXV0aF90b2tlbl9leHBpcmF0aW9uX29uX2V2ZXJ5X3JlcXVlc3QiOjEuMCwiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiI6MS4wLCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyI6MS4wLCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIjoxLjAsInJlbW92ZV9hbmNob3JlZF90ZXh0IjoxLjAsImVuYWJsZV9zdGVwX2J5X3N0ZXBfaGludHNfZm9yX2RyYXdpbmdzIjoxLjAsInB1c2hzdHJlYW1fYmFzaWNfdGVsZW1ldHJ5IjoxLjAsImFsbG93X2JyYWNrZXRzX3Byb2ZpdF9sb3NzIjoxLjAsImVuYWJsZV90cmFkZWRfY29udGV4dF9saW5raW5nIjoxLjAsIm9yZGVyX2NvbnRleHRfdmFsaWRhdGlvbl9pbl9pbnN0YW50X21vZGUiOjEuMCwiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiOjEuMCwiYWxlcnRzLW5vdGlmaWNhdGlvbi1zY2hlZHVsZSI6MS4wLCJhbGVydHMtd2F0Y2hsaXN0LWV4dGVuZGVkLWhvdXJzIjoxLjAsImVuYWJsZV9zeW1ib2xfY2hhbmdlX3Jlc3RyaWN0aW9uX29uX3dpZGdldHMiOjEuMCwiZW5hYmxlX2FzeF9zeW1ib2xfcmVzdHJpY3Rpb24iOjEuMCwic3ltcGhvbnlfYWxsb3dfbm9uX3BhcnRpdGlvbmVkX2Nvb2tpZV9vbl9vbGRfc3ltcGhvbnkiOjEuMCwic3ltcGhvbnlfbm90aWZpY2F0aW9uX2JhZGdlcyI6MS4wLCJzeW1waG9ueV91c2VfYWRrX2Zvcl91cGdyYWRlX3JlcXVlc3QiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfdHJhY2tpbmciOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfc29mdF9saW1pdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9oYXJkX2xpbWl0IjoxLjAsInRlbGVncmFtX21pbmlfYXBwX3JlZHVjZV9zbmFwc2hvdF9xdWFsaXR5IjoxLjAsIm5ld3Nfc3ltYm9sX292ZXJ2aWV3X2tleV9mYWN0cyI6MS4wLCJ0aW1lb3V0X2RqYW5nb19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fdXNlcnNldHRpbmdzX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb19jaGFydHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX3N5bWJvbHNfbGlzdHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX21pbmRzX2RiIjowLjA1LCJ0aW1lb3V0X2RqYW5nb19sb2dnaW5nX2RiIjowLjI1LCJkaXNhYmxlX3NlcnZpY2VzX21vbml0b3JfbWV0cmljcyI6MS4wLCJlbmFibGVfc2lnbmluX3JlY2FwdGNoYSI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbCI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbF9jb21tZW50cyI6MS4wLCJlbmFibGVfc3BhbWRldGVjdG9ybWxfY2hhdCI6MS4wLCJlbmFibGVfbWluZHNfc3BhbWRldGVjdG9ybWwiOjEuMCwiYmFja2VuZC1jb25uZWN0aW9ucy1pbi10b2tlbiI6MS4wLCJvbmVfY29ubmVjdGlvbl93aXRoX2V4Y2hhbmdlcyI6MS4wLCJtb2JpbGUtYWRzLWlvcyI6MS4wLCJtb2JpbGUtYWRzLWFuZHJvaWQiOjEuMCwiZ29vZ2xlLW9uZS10YXAtc2lnbmluIjoxLjAsImJyYWludHJlZS1nb3Byby1pbi1vcmRlci1kaWFsb2ciOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheSI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheSI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LWZyb20taW9zLWFwcCI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LXRyaWFsIjoxLjAsInRyaXBsZWEtcGF5bWVudHMiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXktdHJpYWwiOjEuMCwiYnJhaW50cmVlLW9uZS11c2QtdmVyaWZpY2F0aW9uIjoxLjAsImJyYWludHJlZS0zZHMtZW5hYmxlZCI6MS4wLCJicmFpbnRyZWUtM2RzLXN0YXR1cy1jaGVjayI6MS4wLCJicmFpbnRyZWUtYWRkaXRpb25hbC1jYXJkLWNoZWNrcy1mb3ItdHJpYWwiOjEuMCwiYnJhaW50cmVlLWluc3RhbnQtc2V0dGxlbWVudCI6MS4wLCJicmFpbnRyZWVfcmVjdXJyaW5nX2JpbGxpbmdfc2NoZWR1bGVyX3N1YnNjcmlwdGlvbiI6MS4wLCJjaGVja291dF9tYW51YWxfY2FwdHVyZV9yZXF1aXJlZCI6MS4wLCJjaGVja291dC1zdWJzY3JpcHRpb25zIjoxLjAsImNoZWNrb3V0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2NvbW1lcmNpYWxfY2FyZF90cmlhbCI6MS4wLCJlbmFibGVfcGF5bWVudHNfM2RzX29wdGltaXphdGlvbiI6MS4wLCJjb3VudHJ5X29mX2lzc3VhbmNlX3ZzX2JpbGxpbmdfY291bnRyeSI6MS4wLCJjaGVja291dF9zaG93X2luc3RlYWRfb2ZfYnJhaW50cmVlIjoxLjAsImNoZWNrb3V0LTNkcyI6MS4wLCJjaGVja291dC1wYXlwYWwiOjEuMCwiY2hlY2tvdXRfaW5jbHVkZV9hY2NvdW50X2hvbGRlciI6MS4wLCJjaGVja291dC1wYXlwYWwtdHJpYWwiOjEuMCwiYW5udWFsX3RvX21vbnRobHlfZG93bmdyYWRlX2F0dGVtcHQiOjEuMCwicmF6b3JwYXlfdHJpYWxfMTBfaW5yIjoxLjAsInJhem9ycGF5LWNhcmQtb3JkZXItdG9rZW4tc2VjdGlvbiI6MS4wLCJyYXpvcnBheS1jYXJkLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktdXBpLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktczMtaW52b2ljZS11cGxvYWQiOjEuMCwicmF6b3JwYXlfaW5jbHVkZV9kYXRlX29mX2JpcnRoIjoxLjAsImRsb2NhbC1wYXltZW50cyI6MS4wLCJyZXZvbHV0LXBheS1wYXltZW50cyI6MS4wLCJyZXZvbHV0LWNhcmQtcGF5bWVudHMiOjAuNSwiZGxvY2FsLXBpeC1hdXRvbWF0aWNvIjoxLjAsImJyYWludHJlZV90cmFuc2FjdGlvbl9zb3VyY2UiOjEuMCwidmVydGV4LXRheCI6MS4wLCJ2ZXJ0ZXgtdGF4LWZpeCI6MS4wLCJyZWNlaXB0X2luX2VtYWlscyI6MS4wLCJhZHdvcmRzLWFuYWx5dGljcyI6MS4wLCJjbTM2MC1hbmFseXRpY3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2lvcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfYW5kcm9pZCI6MS4wLCJyZXF1aXJlZF9hZ3JlZW1lbnRfZm9yX3J0IjoxLjAsImNoZWNrX21hcmtldF9kYXRhX2xpbWl0cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9kYXRhIjoxLjAsImZvcmNlX3RvX3VwZ3JhZGVfdG9fZXhwZXJ0IjoxLjAsInNlbmRfdHJhZGV2YW5faW52b2ljZSI6MS4wLCJzaG93X3BlcGVfYW5pbWF0aW9uIjoxLjAsInNlbmRfbmV4dF9wYXltZW50X2luZm9fcmVjZWlwdCI6MS4wLCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIjoxLjAsInNjcmVlbmVyLWFsZXJ0cy1yZWFkLW9ubHkiOjEuMCwic2NyZWVuZXJfYm9uZF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfc3RvY2tfYWlfZmlsdGVyc19lbmFibGVkIjoxLjAsInNjcmVlbmVyX2lzX2FsbG93ZWRfdG9fY3JlYXRlX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yYXRpbmdfY29sdW1uc19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zb3J0aW5nX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX2dyb3VwX2J5X2lzaW5fcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc3ltYm9sX3NlYXJjaF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yZWdpc3RyYXRpb25fYmFubmVyX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzZXNfdHJhY2tpbmciOjEuMCwic2VuZF9maW5hbmNpYWxfbm90aWZpY2F0aW9ucyI6MS4wLCJzcGFya190cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfY2F0ZWdvcnlfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX3RhZ3NfdHJhbnNsYXRpb25zIjoxLjAsInByb19wbGFuX2luaXRpYWxfcmVmdW5kc19kaXNhYmxlZCI6MS4wLCJwcmV2aW91c19tb25vcHJvZHVjdF9wdXJjaGFzZXNfcmVmdW5kc19lbmFibGVkIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnMiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9uc19mZWVkIjoxLjAsImZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiZXRob2NhX2FsZXJ0X25vdGlmaWNhdGlvbl93ZWJob29rIjoxLjAsImhpZGVfc3VzcGljaW91c191c2Vyc19pZGVhcyI6MS4wLCJkaXNhYmxlX3B1Ymxpc2hfc3RyYXRlZ3lfcmFuZ2VfYmFzZWRfY2hhcnQiOjEuMCwicmVzdHJpY3Rfc2ltdWx0YW5lb3VzX3JlcXVlc3RzIjoxLjAsImxvZ2luX2Zyb21fbmV3X2RldmljZV9lbWFpbCI6MS4wLCJzc3Jfd29ya2VyX25vd2FpdCI6MS4wLCJicm9rZXJfQTFDQVBJVEFMIjoxLjAsImJyb2tlcl9BQ1RJVlRSQURFUyI6MS4wLCJicm9rZXJfQUxDSEVNWU1BUktFVFMiOjEuMCwiYnJva2VyX0FMSUNFQkxVRSI6MS4wLCJoaWRlX0FMT1Jfb25faW9zIjoxLjAsImhpZGVfQUxPUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQUxPUl9vbl9tb2JpbGVfd2ViIjoxLjAsImFsb3ItYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9BTFBBQ0EiOjEuMCwiYnJva2VyX0FMUkFNWiI6MS4wLCJicm9rZXJfQU1QIjoxLjAsImJyb2tlcl9BTkdFTE9ORSI6MS4wLCJicm9rZXJfQVZBX0ZVVFVSRVMiOjEuMCwiQVZBX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfQjJQUklNRSI6MS4wLCJicm9rZXJfQkFKQUoiOjEuMCwiYnJva2VyX0JFWU9ORCI6MS4wLCJicm9rZXJfQklOQU5DRSI6MS4wLCJlbmFibGVfYmluYW5jZWFwaXNfYmFzZV91cmwiOjEuMCwiYnJva2VyX0JJTkdCT04iOjEuMCwiYnJva2VyX0JJVEFaWkEiOjEuMCwiYnJva2VyX0JJVEdFVCI6MS4wLCJicm9rZXJfQklUTUVYIjoxLjAsImJyb2tlcl9CSVRTVEFNUCI6MS4wLCJicm9rZXJfQkxBQ0tCVUxMIjoxLjAsImJyb2tlcl9CTFVFQkVSUllNQVJLRVRTIjoxLjAsImJyb2tlcl9CVENDIjoxLjAsImJyb2tlcl9CWUJJVCI6MS4wLCJicm9rZXJfQ0FQSVRBTENPTSI6MS4wLCJicm9rZXJfQ0FQVFJBREVSIjoxLjAsIkNBUFRSQURFUl9zZXBhcmF0ZV9pbnRlZ3JhdGlvbl9taWdyYXRpb25fd2FybmluZyI6MS4wLCJicm9rZXJfQ0ZJIjoxLjAsImJyb2tlcl9DR1NJIjoxLjAsImJyb2tlcl9DSVRZSU5ERVgiOjEuMCwiY2l0eWluZGV4X3NwcmVhZGJldHRpbmciOjEuMCwiQ0xFQVJTVFJFRVRfYmV0YSI6MS4wLCJicm9rZXJfQ01DTUFSS0VUUyI6MS4wLCJicm9rZXJfQ09CUkFUUkFESU5HIjoxLjAsImJyb2tlcl9DT0lOQkFTRSI6MS4wLCJjb2luYmFzZV9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiY29pbmJhc2VfY2FuY2VsX3Bvc2l0aW9uX2JyYWNrZXRzIjoxLjAsImJyb2tlcl9DT0lOSkFSIjoxLjAsIkNPSU5KQVJfYmV0YSI6MS4wLCJicm9rZXJfQ09JTlNXSVRDSCI6MS4wLCJicm9rZXJfQ09JTlciOjEuMCwiYnJva2VyX0NPTE1FWCI6MS4wLCJoaWRlX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImNxZy1yZWFsdGltZS1iYW5kd2lkdGgtbGltaXQiOjEuMCwiYnJva2VyX0NSWVBUT0NPTSI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2lvcyI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9DWE0iOjEuMCwiYnJva2VyX0RBT0wiOjEuMCwiYnJva2VyX0RBUldJTkVYIjoxLjAsIkRBUldJTkVYX2JldGEiOjEuMCwiYnJva2VyX0RFTFRBIjoxLjAsImJyb2tlcl9ERVJBWUFIIjoxLjAsImJyb2tlcl9ERVJJViI6MS4wLCJicm9rZXJfREhBTiI6MS4wLCJicm9rZXJfRE5TRSI6MS4wLCJicm9rZXJfRE9STUFOIjoxLjAsImhpZGVfRFVNTVlfb25faW9zIjoxLjAsImhpZGVfRFVNTVlfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0RVTU1ZX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0VBU1lNQVJLRVRTIjoxLjAsImJyb2tlcl9FQ09WQUxPUkVTIjoxLjAsImJyb2tlcl9FREdFQ0xFQVIiOjEuMCwiZWRnZWNsZWFyX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0VJR0hUQ0FQIjoxLjAsImJyb2tlcl9FUlJBTlRFIjoxLjAsImJyb2tlcl9FU0FGWCI6MS4wLCJGSURFTElUWV9iZXRhIjoxLjAsIkZJREVMSVRZX3VzX3JlbGVhc2UiOjAuMjUsImZpZGVsaXR5X3NlY3VyaXR5X3Rva2VuIjoxLjAsImJyb2tlcl9GT1JFWENPTSI6MS4wLCJmb3JleGNvbV9zZXNzaW9uX3YyIjoxLjAsImJyb2tlcl9GUE1BUktFVFMiOjEuMCwiaGlkZV9GVFhfb25faW9zIjoxLjAsImhpZGVfRlRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJmdHhfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GVVNJT05NQVJLRVRTIjoxLjAsImZ4Y21fc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlhDTSI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9pb3MiOjEuMCwiaGlkZV9GWE9QRU5fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9GWFBSTyI6MS4wLCJicm9rZXJfRlhURiI6MS4wLCJicm9rZXJfRllFUlMiOjEuMCwiYnJva2VyX0dBVEUiOjEuMCwiYnJva2VyX0dCRUJST0tFUlMiOjEuMCwiZ2VtaW5pLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR0VOSUFMSU5WRVNUSU1FTlRPUyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2lvcyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9tb2JpbGVfd2ViIjoxLjAsImdsb2JhbHByaW1lLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR09NQVJLRVRTIjoxLjAsImJyb2tlcl9HT1RSQURFIjoxLjAsImdvdHJhZGVfZW5hYmxlX3N0cmVhbWluZ19lbmRwb2ludHMiOjEuMCwiYnJva2VyX0hFUkVOWUEiOjEuMCwiaGlkZV9IVFhfb25faW9zIjoxLjAsImhpZGVfSFRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9IVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfSUJLUiI6MS4wLCJjaGVja19pYmtyX3NpZGVfbWFpbnRlbmFuY2UiOjEuMCwiaWJrcl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9wYXJhbGxlbF9wcm92aWRlcl9pbml0aWFsaXphdGlvbiI6MS4wLCJpYmtyX3dzX2FjY291bnRfc3VtbWFyeSI6MS4wLCJpYmtyX3dzX3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9zdWJzY3JpYmVfdG9fb3JkZXJfdXBkYXRlc19maXJzdCI6MS4wLCJpYmtyX3dzX2FjY291bnRfbGVkZ2VyIjoxLjAsImJyb2tlcl9JQlJPS0VSIjoxLjAsImJyb2tlcl9JQ01BUktFVFMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19BU0lDIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfRVUiOjEuMCwiYnJva2VyX0lHIjoxLjAsImJyb2tlcl9JTkRTVE9DS1MiOjEuMCwiYnJva2VyX0lORk9ZQVRJUklNIjoxLjAsImJyb2tlcl9JTk5PVkVTVFgiOjEuMCwiYnJva2VyX0lOVEVSQUNUSVZFSUwiOjEuMCwiYnJva2VyX0lOVkVTVFJBREUiOjEuMCwiSU5WRVNUUkFERV9iZXRhIjoxLjAsImJyb2tlcl9JUk9OQkVBTSI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LSVdPT00iOjEuMCwia2l3b29tX3VzZV9zZXBhcmF0ZV9zdHJlYW1pbmdfdXJsIjoxLjAsImJyb2tlcl9LT1RBSyI6MS4wLCJoaWRlX0tPVEFLX29uX2lvcyI6MS4wLCJoaWRlX0tPVEFLX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9LT1RBS19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LUkFLRU4iOjEuMCwiaGlkZV9LUkFLRU5fb25faW9zIjoxLjAsImhpZGVfS1JBS0VOX29uX2FuZHJvaWQiOjEuMCwiS1JBS0VOX2JldGEiOjEuMCwia3Jha2VuX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfS1NFQ1VSSVRJRVMiOjEuMCwiYnJva2VyX0xJQkVSQVRPUiI6MS4wLCJicm9rZXJfTUVYQyI6MS4wLCJicm9rZXJfTUVYRU0iOjEuMCwiYnJva2VyX01JREFTIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9NT09NT08iOjEuMCwiYnJva2VyX01PVElMQUxPU1dBTCI6MS4wLCJicm9rZXJfTklOSkFUUkFERVIiOjEuMCwiYnJva2VyX09BTkRBIjoxLjAsIm9hbmRhX3NlcnZlcl9sb2dnaW5nIjoxLjAsIm9hbmRhX29hdXRoX211bHRpcGxleGluZyI6MS4wLCJicm9rZXJfT0tYIjoxLjAsImJyb2tlcl9PUE9GSU5BTkNFIjoxLjAsImJyb2tlcl9PUFRJTVVTIjoxLjAsImJyb2tlcl9PU01BTkxJIjoxLjAsImJyb2tlcl9PU01BTkxJRlgiOjEuMCwicGFwZXJfZm9yY2VfY29ubmVjdF9wdXNoc3RyZWFtIjoxLjAsInBhcGVyX3N1YmFjY291bnRfY3VzdG9tX2N1cnJlbmN5IjoxLjAsInBhcGVyX291dHNpZGVfcnRoIjoxLjAsImJyb2tlcl9QQVlUTSI6MS4wLCJicm9rZXJfUEVQUEVSU1RPTkUiOjEuMCwiYnJva2VyX1BIRU1FWCI6MS4wLCJicm9rZXJfUEhJTExJUENBUElUQUxfVFIiOjEuMCwiYnJva2VyX1BISUxMSVBOT1ZBIjoxLjAsImJyb2tlcl9QTFVTNTAwIjoxLjAsInBsdXM1MDBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJQTFVTNTAwVVNfYmV0YSI6MS4wLCJicm9rZXJfUFVSUExFVFJBRElORyI6MS4wLCJicm9rZXJfUVVFU1RSQURFIjoxLjAsImJyb2tlcl9SQVZBQlVSU0FUSUwiOjEuMCwiUkFWQUJVUlNBVElMX2JldGEiOjEuMCwiYnJva2VyX1JJWUFEQ0FQSVRBTCI6MS4wLCJicm9rZXJfUk9CT01BUktFVFMiOjEuMCwiYnJva2VyX1JFUExBWUJST0tFUiI6MS4wLCJicm9rZXJfU0FNVUVMIjoxLjAsImJyb2tlcl9TQVhPQkFOSyI6MS4wLCJicm9rZXJfU0hBUkVNQVJLRVQiOjEuMCwiYnJva2VyX1NLSUxMSU5HIjoxLjAsImJyb2tlcl9TUFJFQURFWCI6MS4wLCJicm9rZXJfU1dJU1NRVU9URSI6MS4wLCJicm9rZXJfU1RPTkVYIjoxLjAsImJyb2tlcl9UQVNUWUZYIjoxLjAsImJyb2tlcl9UQVNUWVRSQURFIjoxLjAsImJyb2tlcl9USElOS01BUktFVFMiOjEuMCwidGhpbmttYXJrZXRzX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwiYnJva2VyX1RJQ0tNSUxMIjoxLjAsImhpZGVfVElHRVJfb25faW9zIjoxLjAsImhpZGVfVElHRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RJR0VSX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX1RSQURFTkFUSU9OIjoxLjAsImJyb2tlcl9UUkFERVNUQVRJT04iOjEuMCwidHJhZGVzdGF0aW9uX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJ0cmFkZXN0YXRpb25fYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJ0cmFkZXN0YXRpb25fc3RyZWFtaW5nX3NlcnZlcl9sb2dnaW5nIjoxLjAsImJyb2tlcl9UUkFERVpFUk8iOjEuMCwiYnJva2VyX1RSQURJRVIiOjEuMCwiYnJva2VyX1RSQURJRVJfRlVUVVJFUyI6MS4wLCJ0cmFkaWVyX2Z1dHVyZXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfVFJBRE9WQVRFIjoxLjAsImhpZGVfVFJBRFVfb25faW9zIjoxLjAsImhpZGVfVFJBRFVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RSQURVX29uX21vYmlsZV93ZWIiOjEuMCwidHJhZHVfc3ByZWFkX2JldCI6MS4wLCJicm9rZXJfVFJJVkUiOjEuMCwiYnJva2VyX1ZBTlRBR0UiOjEuMCwiYnJva2VyX1ZFTE9DSVRZIjoxLjAsImJyb2tlcl9XRUJVTEwiOjEuMCwiYnJva2VyX1dFQlVMTEpBUEFOIjoxLjAsImJyb2tlcl9XRUJVTExQQVkiOjEuMCwiYnJva2VyX1dFQlVMTFVLIjoxLjAsImJyb2tlcl9XSElURUJJVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1RfRlVUVVJFUyI6MS4wLCJXSFNFTEZJTlZFU1RfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9YQ1VCRSI6MS4wLCJicm9rZXJfWUxHIjoxLjAsImJyb2tlcl9pZF9zZXNzaW9uIjoxLjAsImRpc2FsbG93X2NvbmN1cnJlbnRfc2Vzc2lvbnMiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlciI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyX2Zvcl91bnRlc3RlZF9icm9rZXJzIjoxLjAsIm1vYmlsZV90cmFkaW5nX3dlYiI6MS4wLCJtb2JpbGVfdHJhZGluZ19pb3MiOjEuMCwibW9iaWxlX3RyYWRpbmdfYW5kcm9pZCI6MS4wLCJjb250aW51b3VzX2Zyb250X2NvbnRyYWN0X3RyYWRpbmciOjEuMCwidHJhZGluZ19yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwib2F1dGgyX2NvZGVfZmxvd19wcm92aWRlcl9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3Rfb2F1dGgyX2NvZGVfZmxvd19tdWx0aXBsZXhpbmciOjEuMCwicmVzdF9sb2dvdXRfb25fNDI5IjoxLjAsInJldmlld19wb3B1cF9vbl9jaGFydCI6MS4wLCJzaG93X2NvbmN1cnJlbnRfY29ubmVjdGlvbl93YXJuaW5nIjoxLjAsImVuYWJsZV90cmFkaW5nX3NlcnZlcl9sb2dnZXIiOjEuMCwib3JkZXJfcHJlc2V0cyI6MS4wLCJvcmRlcl90aWNrZXRfcmVzaXphYmxlX2RyYXdlcl9vbiI6MS4wLCJyZXN0X3VzZV9hc3luY19tYXBwZXIiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fYmFubmVyX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2xlYWRlcmJvYXJkIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3ByZXZpb3VzX2NvbXBldGl0aW9ucyI6MS4wLCJhbXBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJibHVlbGluZV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImRvcm1hbl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImlyb25iZWFtX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwib3B0aW11c19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInN0b25leF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInlsZ19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInRyYWRpbmdfZ2VuZXJhbF9ldmVudHNfZ2FfdHJhY2tpbmciOjEuMCwicmVwbGF5X3Jlc3VsdF9zaGFyaW5nIjoxLjAsInJlcGxheV90cmFkaW5nX2JyYWNrZXRzIjoxLjAsImhpZGVfYWxsX2Jyb2tlcnNfYnV0dG9uX2luX2lvc19hcHAiOjEuMCwiZm9yY2VfbWF4X2FsbG93ZWRfcHVsbGluZ19pbnRlcnZhbHMiOjEuMCwicGFwZXJfZGVsYXlfdHJhZGluZyI6MS4wLCJlbmFibGVfZmlyc3RfdG91Y2hfaXNfc2VsZWN0aW9uIjoxLjAsImNsZWFyX3Byb2plY3Rfb3JkZXJfb25fb3JkZXJfdGlja2V0X2Nsb3NlIjoxLjAsImVuYWJsZV9uZXdfYmVoYXZpb3Jfb2ZfY29uZmlybV9idXR0b25zX29uX21vYmlsZSI6MS4wLCJyZW5ld190b2tlbl9wcmVlbXB0aW9uXzMwIjoxLjAsImRvX25vdF9vcGVuX290X2Zyb21fcGx1c19idXR0b24iOjEuMCwiYnJva2VyX3NpZGVfcHJvbW90aW9uIjoxLjAsImVuYWJsZV9uZXdfdHJhZGluZ19tZW51X3N0cnVjdHVyZSI6MS4wLCJxdWlja190cmFkaW5nX3BhbmVsIjoxLjAsInBhcGVyX29yZGVyX2NvbmZpcm1hdGlvbl9kaWFsb2ciOjEuMCwicGFwZXJfbXVsdGlwbGVfbGV2ZWxzX2VuYWJsZWQiOjEuMCwicGFwZXJfbWFyZ2luX2NvbnRyb2wiOjEuMCwiZW5hYmxlX3NlZ21lbnRhdGlvbl9wYXBlcl90cmFkaW5nIjoxLjAsImVuYWJsZV9jaGFydF9hZGFwdGl2ZV90cHNsX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsImVuYWJsZV9tYXJrZXRfcHJvamVjdF9vcmRlciI6MS4wLCJlbmFibGVfc3ltYm9sc19wb3B1bGFyaXR5X3Nob3dpbmciOjEuMCwiZW5hYmxlX3RyYW5zbGF0aW9uc19zM191cGxvYWQiOjEuMCwiZXRmX2Z1bmRfZmxvd3Nfb25seV9kYXlzX3Jlc29sdXRpb25zIjoxLjAsImRpc2FibGVfc25vd3Bsb3dfcGxhdGZvcm1fZXZlbnRzIjoxLjAsIm5vdGlmeV9pZGVhX21vZHNfYWJvdXRfZmlyc3RfcHVibGljYXRpb24iOjEuMCwiZW5hYmxlX3dhZl90cmFja2luZyI6MS4wLCJuZXdfZXJyb3JzX2Zsb3ciOjEuMCwicXVvdGUtdG9rZW4tZmlsdGVyLW93bi1zY3JpcHRzLWJ5LWFjY2VzcyI6MS4wLCJrZWVwX2luZGljYXRvcnNfc2VhcmNoX3N0YXRlIjoxLjAsImtlZXBfaW5kaWNhdG9yc190YWJfc2Nyb2xsX3N0YXRlIjoxLjAsImNvbmZpZ3VyYWJsZV9zZWFyY2hfYW5kX2ZpbHRyYXRpb24iOjEuMCwicGluZV9lZGl0b3Jfd3JhcF9vbl9saW5lX3NwbGl0IjoxLjAsInN5bWJvbF9zZWFyY2hfY291bnRyeV9zb3VyY2VzIjoxLjAsIndhdGNobGlzdHNfZGlhbG9nX3Njcm9sbF90b19hY3RpdmUiOjEuMCwiYm90dG9tX3BhbmVsX3RyYWNrX2V2ZW50cyI6MS4wLCJzbm93cGxvd19iZWFjb25fZmVhdHVyZSI6MS4wLCJzaG93X2RhdGFfcHJvYmxlbXNfaW5faGVscF9jZW50ZXIiOjEuMCwiZW5hYmxlX2FwcGxlX2RldmljZV9jaGVjayI6MS4wLCJlbmFibGVfYXBwbGVfaW50cm9fb2ZmZXJfc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19vZmZlcl9zaWduYXR1cmVfdjIiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2FuZHJvaWQiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19pb3MiOjEuMCwiZW5hYmxlX21hbnRpY29yZV9jbHVzdGVyIjoxLjAsImVuYWJsZV9wdXNoc3RyZWFtX2F1dGgiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5IjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9wYXBlcnRyYWRpbmciOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3NjcmVlbmVyIjoxLjAsIm9wdGlvbnNfcmVkdWNlX3BvbGxpbmdfaW50ZXJ2YWwiOjEuMCwib3B0aW9uc19idWlsZGVyX2dyb3VwX2FjdGlvbnMiOjEuMCwib3B0aW9uc19jaGFpbl9zaWdtYV9maWx0ZXIiOjEuMCwib3B0aW9uc19icm9rZXJfc3RyYXRlZ2llcyI6MS4wLCJzaG93X3RvYXN0X2Fib3V0X3VucmVhZF9tZXNzYWdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3BheW91dCI6MS4wLCJlbmFibGVfZW1haWxfY2hhbmdlX2xvZ2dpbmciOjEuMCwiZW5hYmxlX2VtYWlsX29uX3BhcnRuZXJfc3RhdHVzX2NoYW5nZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtX2FwcGx5IjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW0iOjEuMCwiY29tcHJlc3NfY2FjaGVfZGF0YSI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciOjEuMCwibmV3c19zY3JlZW5lcl9wYWdlX2NsaWVudCI6MS4wLCJlbmFibGVfZGVjbGFyYXRpb25fcG9wdXBfb25fbG9hZCI6MS4wLCJzaG93X2RhdGFfYm9uZHNfZnJlZV91c2VycyI6MS4wLCJlbmFibGVfbW9kZXJuX3JlbmRlcl9tb2RlIjoxLjAsImVuYWJsZV9wcm9mX3BvcHVwX2ZyZWUiOjEuMCwiaW9zX2FwcF9uZXdzX2FuZF9taW5kcyI6MS4wLCJkb19ub3RfZGlzY2xvc2VfcGhvbmVfb2NjdXBhbmN5IjoxLjAsImVuYWJsZV9yZWRpcmVjdF90b193aWRnZXRfZG9jdW1lbnRhdGlvbl9vZl9hbnlfbG9jYWxpemF0aW9uIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19oaWJlcm5hdGlvbiI6MS4wLCJuZXdzX3N0cmVhbWluZ19oaWJlcm5hdGlvbl9kZWxheV8xMG1pbiI6MS4wLCJwYXNzX3JlY292ZXJ5X3NlYXJjaF9oaWRlX2luZm8iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX29uX3NjcmVlbmVyIjoxLjAsImVuYWJsZV9mb3JjZWRfZW1haWxfY29uZmlybWF0aW9uIjoxLjAsInNob3dfZ2lmdF9idXR0b24iOjEuMCwiYWRkcmVzc192YWxpZGF0aW9uX2VuYWJsZWQiOjEuMCwiZGlzYWJsZV91bnZlcmlmaWVkX2FkZHJlc3MiOjEuMCwiZ2VuZXJhdGVfaW52b2ljZV9udW1iZXJfYnlfY291bnRyeSI6MS4wLCJzaG93X2Zhdm9yaXRlX2xheW91dHMiOjEuMCwiZW5hYmxlX3NvY2lhbF9hdXRoX2NvbmZpcm1hdGlvbiI6MS4wLCJlbmFibGVfYWRfYmxvY2tfZGV0ZWN0IjoxLjAsInR2ZF9uZXdfdGFiX2xpbmtpbmciOjEuMCwidHZkX3RpbWVfYW5kX2RhdGVfcmFuZ2VfbGlua2luZyI6MS4wLCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwidXNlX2Rlc2t0b3Bfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsIndyb25nX2FjY291bnRfZGlhbG9nX3ByaW1hcnlfc3dpdGNoIjoxLjAsImVuYWJsZV9saW5ndWFfbGFuZ19jaGVjayI6MS4wLCJnZXRfc2F2ZWRfYWN0aXZlX2xpc3RfYmVmb3JlX2dldHRpbmdfYWxsX2xpc3RzIjoxLjAsIndhdGNobGlzdF9hZGRfc291cmNlX3BhcmFtIjoxLjAsInNob3dfcmVmZXJyYWxfbm90aWZpY2F0aW9uX2RpYWxvZyI6MS4wLCJzZXRfbmV3X2JsYWNrX2NvbG9yIjoxLjAsIm5ld3NfdXNlX25ld3NfbWVkaWF0b3IiOjEuMCwiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iOjEuMCwicmVzdHJpY3RfcHduZWRfcGFzc3dvcmRfc2V0IjoxLjAsIm5vdGlmX3NldHRpbmdzX2VuYWJsZV9uZXdfc3RvcmUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfd3JpdGUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfcmVhZCI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3NkayI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3Nkay1mb3ItaW5pdGlhbC1wdXJjaGFzZSI6MS4wLCJlbmFibGVfbWV0YWRlZmVuZGVyX2NoZWNrX2Zvcl9hZ3JlZW1lbnQiOjEuMCwic2hvd19kb3dubG9hZF95aWVsZF9jdXJ2ZXNfZGF0YSI6MS4wLCJtb3ZlX2tleV90ZW5vcnNfdG9fc2V0dGluZ3MiOjEuMCwic2hvd195aWVsZF9jdXJ2ZXNfbWFwIjoxLjAsImRpc2FibGVfd2lkZ2V0YmFyX2luX2FwcHMiOjEuMCwiaGlkZV9wdWJsaWNhdGlvbnNfb2ZfYmFubmVkX3VzZXJzIjoxLjAsImVuYWJsZV9zdW1tYXJ5X3VwZGF0ZXNfZnJvbV9jaGFydF9zZXNzaW9uIjoxLjAsInNob3dfbmV3c19mbG93X3Rvb2xfcmlnaHRfYmFyIjoxLjAsImVuYWJsZV9jaGFydF9zYXZpbmdfc3RhdHMiOjEuMCwiZW5hYmxlX3NhdmluZ19zYW1lX2NoYXJ0X3JhdGVfbGltaXQiOjEuMCwibmV3c19hbGVydHNfZW5hYmxlZCI6MS4wLCJuZXdzX211bHRpcGxlX2FsZXJ0c19lbmFibGVkIjoxLjAsInJlZnVuZF91bnZvaWRhYmxlX2NvdXBvbnNfZW5hYmxlZCI6MS4wLCJlbmFibGVfc25vd3Bsb3dfZW1haWxfdHJhY2tpbmciOjEuMCwibmV3c19lbmFibGVfc2VudGltZW50IjoxLjAsInVzZV9pbl9zeW1ib2xfc2VhcmNoX29wdGlvbnNfbWN4X2V4Y2hhbmdlIjoxLjAsImVuYWJsZV91c2Vyc2V0dGluZ3Nfc3ltYm9sc19wZXJfcm93X3NvZnRfbGltaXQiOjAuMSwiZm9yYmlkX2xvZ2luX3dpdGhfcHduZWRfcGFzc3dvcmRzIjoxLjAsImRlYnVnX2dldF90ZXN0X2JhcnNfZGF0YSI6MS4wLCJuZXdzX3VzZV9tZWRpYXRvcl9zdG9yeSI6MS4wLCJuZXdzX2Zsb3dfcmVjb25maWd1cmVfZmlsdGVycyI6MS4wLCJibGFja19mcmlkYXlfZW5hYmxlX3NraXBfdG9fcGF5bWVudCI6MS4wLCJoaWRlX3RyYWRpbmdfYnV0dG9uX29uX2JvdHRvbV9wYW5lbF9hbmRfcmVwbGF5X3RhYiI6MS4wLCJoaWRlX3RyYWRlX2J1dHRvbl9oaW50X2luX2hlYWRlcl90b29sYmFyIjoxLjAsImhpZGVfc2VlX29uX3N1cGVyX2NoYXJ0c19idXR0b24iOjEuMCwiaGlkZV9zeW1ib2xfcGFnZV9jaGFydF90eXBlX3N3aXRjaGVyIjoxLjAsImRpc2FibGVfY2hhdF9zcGFtX3Byb3RlY3Rpb25fZm9yX3ByZW1pdW1fdXNlcnMiOjEuMCwiZGlzYWJsZV9wdWJsaWNfcGluZV9zY3JpcHRfcHVibGlzaF9saW1pdHMiOjEuMCwibWFrZV90cmFkaW5nX3BhbmVsX2NvbnRleHR1YWxfdGFiIjoxLjAsInJlY29ubmVjdF9nYWluX3Nlc3Npb25fb25fbHNfZXJyb3IiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXltZW50cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9reWMiOjEuMCwiaW5kaWFfZXhjbHVkZV9icmFpbnRyZWVfdGFiIjoxLjAsIm1hY3JvX21hcHNfaGlkZV90b29sdGlwX2NoYXJ0X2J1dHRvbiI6MS4wLCJmb3JjZV9reWNfZm9yX25vbnByb19wdXJjaGFzZV9ieV9jb21tZXJjaWFsIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfZnVsbHNjcmVlbl9idXR0b24iOjEuMCwic2hvd19zcGxpdF9wYW5lbF9tb3ZlX2J1dHRvbl90b190aXRsZSI6MS4wLCJvcmRlcl9wcmVzZXRzX2NydWRfc3RvcmFnZSI6MS4wLCJvcmRlcl9wcmVzZXRzX3JlbW92ZV9mcm9tX3R2X3NldHRpbmdzIjoxLjAsImNoZWNrb3V0LWZsb3ctdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheSI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbCI6MS4wLCJmb3JiaWRfc2lnbnVwX3dpdGhfZmFrZV9nbWFpbF9kb21haW5zIjoxLjAsInNob3dfaW1wb3J0X2Zyb21fcGFwZXJfdHJhZGluZ19idXR0b24iOjEuMCwic3ltYm9sX3NlYXJjaF9ncm91cGluZyI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsLXRyaWFsIjoxLjAsInZvaWRfbm90X2ZvdW5kX2Nrb19wYXltZW50X2luX2FwcHJvdmVkX3dlYmhvb2siOjEuMCwic2hvd19wYW5lbF9jb2xsYXBzZV9idXR0b24iOjEuMCwiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIjowLjN9Owp3aW5kb3cuaW5pdERhdGEgPSB7fTsKCQl3aW5kb3cuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMID0gImh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyI7Cgp3aW5kb3cuaW5pdERhdGEgPSB7IndpZGdldERlZmF1bHRzIjp7ImRlZl9oaWRlX3N5bWJvbF9lZGl0Ijp0cnVlLCJ3aWRnZXRGZWF0dXJlc2V0Ijoid2lkZ2V0IiwiYm9keUlkIjoid2lkZ2V0LWNvbnRhaW5lciIsImJvZHlDbGFzc2VzIjpbImNoYXJ0LXBhZ2UiLCJ1bnNlbGVjdGFibGUiLCJvbi13aWRnZXQiXSwiY29sb3JUaGVtZSI6ImxpZ2h0IiwibG9jYWxlIjoiZW4ifX07CgkJd2luZG93LmluaXREYXRhLmN1cnJlbnRMb2NhbGVJbmZvID0geyJsYW5ndWFnZSI6ImVuIiwibGFuZ3VhZ2VfbmFtZSI6IkVuZ2xpc2giLCJmbGFnIjoidXMiLCJnZW9pcF9jb2RlIjoidXMiLCJpc28iOiJlbiIsImlzb182MzlfMyI6ImVuZyIsImdsb2JhbF9uYW1lIjoiRW5nbGlzaCIsImlzX29ubHlfcmVjb21tZW5kZWRfdHdfYXV0b3JlcG9zdCI6dHJ1ZX07CgkJd2luZG93LmluaXREYXRhLnNldHRpbmdzID0geydTM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vJywgJ1MzX05FV1NfSU1BR0VfU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9uZXdzLycsICdXRUJQQUNLX1NUQVRJQ19QQVRIJzogJ2h0dHBzOi8vc3RhdGljLnRyYWRpbmd2aWV3LmNvbS9zdGF0aWMvYnVuZGxlcy8nLCAnVFJBRElOR19VUkxTJzogeydmcmVlJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLWZyZWUudHJhZGluZ3ZpZXcuY29tJywgJ3Bybyc6ICdodHRwczovL3BhcGVydHJhZGluZy50cmFkaW5ndmlldy5jb20nfSwgJ0NPTlRFU1RTX1VSTCc6ICcvcGFwZXItdHJhZGluZycsICdDUlVEX1NUT1JBR0VfVVJMJzogJ2h0dHBzOi8vY3J1ZC1zdG9yYWdlLnRyYWRpbmd2aWV3LmNvbSd9Ozwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9ImhEakY1V2R1M21PMUdjSDhIaG9uQlE9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IGU9e3doaXRlbGFiZWw6ITAscGVybWlzc2lvbk92ZXJyaWRlczohMCxsaW5rQ2FwdHVyaW5nQWxsb3dlZDohMCxzeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2U6ITAsc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlczohMH07Y29uc3QgdD13aW5kb3c7dC5pbml0RGF0YT10LmluaXREYXRhfHx7fTtjb25zdCBhPS9cKy9nLG49LzxcLz9bXj5dKyg+fCQpL2cscz1lPT5kZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKGEsIiAiKSkucmVwbGFjZShuLCIiKSxvPXQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSxjPS8oW14mPV0rKT0/KFteJl0qKS9nLGk9e307bGV0IGwscj1jLmV4ZWMobyk7Zm9yKDtudWxsIT09cjspaVtzKHJbMV0pXT1zKHJbMl0pLHI9Yy5leGVjKG8pO3RyeXtsPUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KHQubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKSwib2JqZWN0Ij09dHlwZW9mIGwmJm51bGwhPT1sfHwobD17fSl9Y2F0Y2goZSl7bD17fX12YXIgaDt0LmluaXREYXRhLnF1ZXJ5U2V0dGluZ3M9aSx0LmluaXREYXRhLmhhc2hTZXR0aW5ncz0oaD1sLE9iamVjdC5rZXlzKGgpLmZvckVhY2goKHQ9PntlW3RdJiZkZWxldGUgaFt0XX0pKSxoKX0pKCk7Cgk8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJoRGpGNVdkdTNtTzFHY0g4SGhvbkJRPT0iPndpbmRvdy5TU19IT1NUID0gInN5bWJvbC1zZWFyY2gudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVCA9ICJodHRwczovL3dpZGdldC1zaGVyaWZmLnRyYWRpbmd2aWV3LXdpZGdldC5jb20iOwoJCXdpbmRvdy5pc19hdXRoZW50aWNhdGVkID0gZmFsc2U7Cgp3aW5kb3cuUElORV9VUkwgPSAiaHR0cHM6Ly9waW5lLWZhY2FkZS50cmFkaW5ndmlldy5jb20vcGluZS1mYWNhZGUiOwoKCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgPSBbd2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLndpZGdldEZlYXR1cmVzZXRdCgkJLmNvbmNhdChKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS5xdWVyeVNldHRpbmdzLmVuYWJsZWRfZmVhdHVyZXMgfHwgIltdIikpCgkJLmNvbmNhdChKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS53aWRnZXREZWZhdWx0cy5lbmFibGVkX2ZlYXR1cmVzIHx8ICJbXSIpKQoJOwoKCXdpbmRvdy5fX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzID0gSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEucXVlcnlTZXR0aW5ncy5kaXNhYmxlZF9mZWF0dXJlcyB8fCAiW10iKQoJCS5jb25jYXQoSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMuZGlzYWJsZWRfZmVhdHVyZXMgfHwgIltdIikpCgk7CgoJd2luZG93Ll9fZGVmYXVsdHNPdmVycmlkZXMgPSBKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS5xdWVyeVNldHRpbmdzLm92ZXJyaWRlcyB8fCB3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMub3ZlcnJpZGVzIHx8ICJ7fSIpOwoKCXdpbmRvdy5TU19IT1NUID0gInN5bWJvbC1zZWFyY2gudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5TU19ET01BSU5fUEFSQU1FVEVSID0gInByb2R1Y3Rpb24iOwoJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCXdpbmRvdy5URUxFTUVUUllfV1NfRVJST1JfTE9HU19USFJFU0hPTEQgPSAxMDA7Cgl3aW5kb3cuUFVTSFNUUkVBTV9VUkwgPSAid3NzOi8vcHVzaHN0cmVhbS50cmFkaW5ndmlldy5jb20iOwoJd2luZG93LkNIQVJURVZFTlRTX1VSTCA9ICJodHRwczovL2NoYXJ0ZXZlbnRzLXJldXRlcnMudHJhZGluZ3ZpZXcuY29tLyI7Cgl3aW5kb3cuRUNPTk9NSUNfQ0FMRU5EQVJfVVJMID0gImh0dHBzOi8vZWNvbm9taWMtY2FsZW5kYXIudHJhZGluZ3ZpZXcuY29tLyI7Cgl3aW5kb3cuRUFSTklOR1NfQ0FMRU5EQVJfVVJMID0gImh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20iOwoJd2luZG93Lk5FV1NfU0VSVklDRV9VUkwgPSAiaHR0cHM6Ly9uZXdzLWhlYWRsaW5lcy50cmFkaW5ndmlldy5jb20iOwoJd2luZG93Lk5FV1NfTUVESUFUT1JfVVJMID0gImh0dHBzOi8vbmV3cy1tZWRpYXRvci50cmFkaW5ndmlldy5jb20iOwoJd2luZG93Lk5FV1NfU1RSRUFNSU5HX1VSTCA9ICJodHRwczovL25vdGlmaWNhdGlvbnMudHJhZGluZ3ZpZXcuY29tL25ld3MvY2hhbm5lbCI7Cgl3aW5kb3cuU0NSRUVORVJfSE9TVCA9ICJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRSA9IHsiZW4iOiJVUyIsInVzIjoiVVMiLCJhZSI6IkFEWCIsImFyIjoiQkNCQSIsImF0IjoiVklFIiwiYXUiOiJBU1giLCJiZCI6IkRTRUJEIiwiYmUiOiJFVVJPTkVYVF9CUlUiLCJiZyI6IkJTRVNPRiIsImJoIjoiQkFIUkFJTiIsImJyIjoiQk1GQk9WRVNQQSIsImNhIjoiVFNYIiwiY2giOiJTSVgiLCJjbCI6IkJDUyIsInpoX0NOIjoiU1NFIiwiY28iOiJCVkMiLCJociI6IlpTRSIsImN5IjoiQ1NFQ1kiLCJjeiI6IlBTRUNaIiwiZGVfREUiOiJYRVRSIiwiZGsiOiJPTVhDT1AiLCJlZSI6Ik9NWFRTRSIsImVnIjoiRUdYIiwiZXMiOiJCTUUiLCJmaSI6Ik9NWEhFWCIsImZyIjoiRVVST05FWFRfUEFSIiwiZ3IiOiJBVEhFWCIsImhrIjoiSEtFWCIsImh1IjoiQkVUIiwiaWQiOiJJRFgiLCJpZSI6IkVVUk9ORVhURFVCIiwiaGVfSUwiOiJUQVNFIiwiaW4iOiJCU0UiLCJpcyI6Ik9NWElDRSIsIml0IjoiTUlMIiwiamEiOiJUU0UiLCJrZSI6Ik5TRUtFIiwia3IiOiJLUlgiLCJrdyI6IktTRSIsImxrIjoiQ1NFTEsiLCJsdCI6Ik9NWFZTRSIsImx2IjoiT01YUlNFIiwibHUiOiJMVVhTRSIsIm14IjoiQk1WIiwibWEiOiJDU0VNQSIsIm1zX01ZIjoiTVlYIiwibmciOiJOU0VORyIsIm5sIjoiRVVST05FWFRfQU1TIiwibm8iOiJPU0wiLCJueiI6Ik5aWCIsInBlIjoiQlZMIiwicGgiOiJQU0UiLCJwayI6IlBTWCIsInBsIjoiR1BXIiwicHQiOiJFVVJPTkVYVF9MSVMiLCJxYSI6IlFTRSIsInJzIjoiQkVMRVgiLCJydSI6IlJVUyIsInJvIjoiQlZCIiwiYXJfQUUiOiJUQURBV1VMIiwic2UiOiJOR00iLCJzZyI6IlNHWCIsInNpIjoiTEpTRSIsInNrIjoiQlNTRSIsInRoX1RIIjoiU0VUIiwidG4iOiJCVk1UIiwidHIiOiJCSVNUIiwiemhfVFciOiJUV1NFIiwiZ2IiOiJMU0UiLCJ2ZSI6IkJWQ1YiLCJ2aV9WTiI6IkhPU0UiLCJ6YSI6IkpTRSJ9OwoJd2luZG93LlBJTkVfVVJMID0gImh0dHBzOi8vcGluZS1mYWNhZGUudHJhZGluZ3ZpZXcuY29tL3BpbmUtZmFjYWRlIjsKCXdpbmRvdy5URUxFTUVUUllfSE9TVFMgPSB7ImNoYXJ0cyI6eyJmcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2ZyZWUiLCJwcm8iOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vcHJvIiwid2lkZ2V0IjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3dpZGdldCIsImlvc19mcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1pb3MtZnJlZSIsImlvc19wcm8iOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vY2hhcnRzLWlvcy1wcm8iLCJhbmRyb2lkX2ZyZWUiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vY2hhcnRzLWFuZHJvaWQtZnJlZSIsImFuZHJvaWRfcHJvIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1hbmRyb2lkLXBybyJ9LCJhbGVydHMiOnsiYWxsIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2FsZXJ0cyJ9LCJsaW5lX3Rvb2xzX3N0b3JhZ2UiOnsiYWxsIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2xpbmUtdG9vbHMtc3RvcmFnZSJ9LCJuZXdzIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9uZXdzIn0sInBpbmUiOnsiYWxsIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3BpbmUifSwiY2FsZW5kYXJzIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9jYWxlbmRhcnMifSwic2l0ZSI6eyJmcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3NpdGUtZnJlZSIsInBybyI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9zaXRlLXBybyIsIndpZGdldCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9zaXRlLXdpZGdldCJ9LCJ0cmFkaW5nIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS90cmFkaW5nIn19OwoKCS8vIFJFQ0FQVENIQV9TSVRFX0tFWSBpcyBOT1QgdW51c2VkISBTZWUgVFYtMTI2OTksIFRWLTEzMDAxIGFuZCBzdGF0aWMvanMvZGlhbG9ncy9zaWduLW1vZGFsL3NpZ24tbW9kYWwtaW1wbC5lczYKCXdpbmRvdy5SRUNBUFRDSEFfU0lURV9LRVkgPSAiNkxjcXYyNFVBQUFBQUl2a0VsRHZ3UHhEMFI4c2NEbk1waXphQmNIUSI7Cgl3aW5kb3cuUkVDQVBUQ0hBX1NJVEVfS0VZX1YzID0gIjZMZVFNSGdVQUFBQUFLQ1ljdGlCR1dZclhOX3R2ck9EU1o3aTlkTEEiOwoKCXdpbmRvdy5pc19hdXRoZW50aWNhdGVkID0gZmFsc2U7CgoJd2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMywiY2hhcnRfYXV0b3NhdmVfNW1pbiI6MS4wLCJjaGFydF9hdXRvc2F2ZV8zMG1pbiI6MS4wLCJwZXJmb3JtYW5jZV90ZXN0X21vZGUiOjEuMCwiY2hlY2tfYXV0aF90b2tlbl9leHBpcmF0aW9uX29uX2V2ZXJ5X3JlcXVlc3QiOjEuMCwiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiI6MS4wLCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyI6MS4wLCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIjoxLjAsInJlbW92ZV9hbmNob3JlZF90ZXh0IjoxLjAsImVuYWJsZV9zdGVwX2J5X3N0ZXBfaGludHNfZm9yX2RyYXdpbmdzIjoxLjAsInB1c2hzdHJlYW1fYmFzaWNfdGVsZW1ldHJ5IjoxLjAsImFsbG93X2JyYWNrZXRzX3Byb2ZpdF9sb3NzIjoxLjAsImVuYWJsZV90cmFkZWRfY29udGV4dF9saW5raW5nIjoxLjAsIm9yZGVyX2NvbnRleHRfdmFsaWRhdGlvbl9pbl9pbnN0YW50X21vZGUiOjEuMCwiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiOjEuMCwiYWxlcnRzLW5vdGlmaWNhdGlvbi1zY2hlZHVsZSI6MS4wLCJhbGVydHMtd2F0Y2hsaXN0LWV4dGVuZGVkLWhvdXJzIjoxLjAsImVuYWJsZV9zeW1ib2xfY2hhbmdlX3Jlc3RyaWN0aW9uX29uX3dpZGdldHMiOjEuMCwiZW5hYmxlX2FzeF9zeW1ib2xfcmVzdHJpY3Rpb24iOjEuMCwic3ltcGhvbnlfYWxsb3dfbm9uX3BhcnRpdGlvbmVkX2Nvb2tpZV9vbl9vbGRfc3ltcGhvbnkiOjEuMCwic3ltcGhvbnlfbm90aWZpY2F0aW9uX2JhZGdlcyI6MS4wLCJzeW1waG9ueV91c2VfYWRrX2Zvcl91cGdyYWRlX3JlcXVlc3QiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfdHJhY2tpbmciOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfc29mdF9saW1pdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9oYXJkX2xpbWl0IjoxLjAsInRlbGVncmFtX21pbmlfYXBwX3JlZHVjZV9zbmFwc2hvdF9xdWFsaXR5IjoxLjAsIm5ld3Nfc3ltYm9sX292ZXJ2aWV3X2tleV9mYWN0cyI6MS4wLCJ0aW1lb3V0X2RqYW5nb19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fdXNlcnNldHRpbmdzX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb19jaGFydHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX3N5bWJvbHNfbGlzdHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX21pbmRzX2RiIjowLjA1LCJ0aW1lb3V0X2RqYW5nb19sb2dnaW5nX2RiIjowLjI1LCJkaXNhYmxlX3NlcnZpY2VzX21vbml0b3JfbWV0cmljcyI6MS4wLCJlbmFibGVfc2lnbmluX3JlY2FwdGNoYSI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbCI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbF9jb21tZW50cyI6MS4wLCJlbmFibGVfc3BhbWRldGVjdG9ybWxfY2hhdCI6MS4wLCJlbmFibGVfbWluZHNfc3BhbWRldGVjdG9ybWwiOjEuMCwiYmFja2VuZC1jb25uZWN0aW9ucy1pbi10b2tlbiI6MS4wLCJvbmVfY29ubmVjdGlvbl93aXRoX2V4Y2hhbmdlcyI6MS4wLCJtb2JpbGUtYWRzLWlvcyI6MS4wLCJtb2JpbGUtYWRzLWFuZHJvaWQiOjEuMCwiZ29vZ2xlLW9uZS10YXAtc2lnbmluIjoxLjAsImJyYWludHJlZS1nb3Byby1pbi1vcmRlci1kaWFsb2ciOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheSI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheSI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LWZyb20taW9zLWFwcCI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LXRyaWFsIjoxLjAsInRyaXBsZWEtcGF5bWVudHMiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXktdHJpYWwiOjEuMCwiYnJhaW50cmVlLW9uZS11c2QtdmVyaWZpY2F0aW9uIjoxLjAsImJyYWludHJlZS0zZHMtZW5hYmxlZCI6MS4wLCJicmFpbnRyZWUtM2RzLXN0YXR1cy1jaGVjayI6MS4wLCJicmFpbnRyZWUtYWRkaXRpb25hbC1jYXJkLWNoZWNrcy1mb3ItdHJpYWwiOjEuMCwiYnJhaW50cmVlLWluc3RhbnQtc2V0dGxlbWVudCI6MS4wLCJicmFpbnRyZWVfcmVjdXJyaW5nX2JpbGxpbmdfc2NoZWR1bGVyX3N1YnNjcmlwdGlvbiI6MS4wLCJjaGVja291dF9tYW51YWxfY2FwdHVyZV9yZXF1aXJlZCI6MS4wLCJjaGVja291dC1zdWJzY3JpcHRpb25zIjoxLjAsImNoZWNrb3V0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2NvbW1lcmNpYWxfY2FyZF90cmlhbCI6MS4wLCJlbmFibGVfcGF5bWVudHNfM2RzX29wdGltaXphdGlvbiI6MS4wLCJjb3VudHJ5X29mX2lzc3VhbmNlX3ZzX2JpbGxpbmdfY291bnRyeSI6MS4wLCJjaGVja291dF9zaG93X2luc3RlYWRfb2ZfYnJhaW50cmVlIjoxLjAsImNoZWNrb3V0LTNkcyI6MS4wLCJjaGVja291dC1wYXlwYWwiOjEuMCwiY2hlY2tvdXRfaW5jbHVkZV9hY2NvdW50X2hvbGRlciI6MS4wLCJjaGVja291dC1wYXlwYWwtdHJpYWwiOjEuMCwiYW5udWFsX3RvX21vbnRobHlfZG93bmdyYWRlX2F0dGVtcHQiOjEuMCwicmF6b3JwYXlfdHJpYWxfMTBfaW5yIjoxLjAsInJhem9ycGF5LWNhcmQtb3JkZXItdG9rZW4tc2VjdGlvbiI6MS4wLCJyYXpvcnBheS1jYXJkLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktdXBpLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktczMtaW52b2ljZS11cGxvYWQiOjEuMCwicmF6b3JwYXlfaW5jbHVkZV9kYXRlX29mX2JpcnRoIjoxLjAsImRsb2NhbC1wYXltZW50cyI6MS4wLCJyZXZvbHV0LXBheS1wYXltZW50cyI6MS4wLCJyZXZvbHV0LWNhcmQtcGF5bWVudHMiOjAuNSwiZGxvY2FsLXBpeC1hdXRvbWF0aWNvIjoxLjAsImJyYWludHJlZV90cmFuc2FjdGlvbl9zb3VyY2UiOjEuMCwidmVydGV4LXRheCI6MS4wLCJ2ZXJ0ZXgtdGF4LWZpeCI6MS4wLCJyZWNlaXB0X2luX2VtYWlscyI6MS4wLCJhZHdvcmRzLWFuYWx5dGljcyI6MS4wLCJjbTM2MC1hbmFseXRpY3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2lvcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfYW5kcm9pZCI6MS4wLCJyZXF1aXJlZF9hZ3JlZW1lbnRfZm9yX3J0IjoxLjAsImNoZWNrX21hcmtldF9kYXRhX2xpbWl0cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9kYXRhIjoxLjAsImZvcmNlX3RvX3VwZ3JhZGVfdG9fZXhwZXJ0IjoxLjAsInNlbmRfdHJhZGV2YW5faW52b2ljZSI6MS4wLCJzaG93X3BlcGVfYW5pbWF0aW9uIjoxLjAsInNlbmRfbmV4dF9wYXltZW50X2luZm9fcmVjZWlwdCI6MS4wLCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIjoxLjAsInNjcmVlbmVyLWFsZXJ0cy1yZWFkLW9ubHkiOjEuMCwic2NyZWVuZXJfYm9uZF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfc3RvY2tfYWlfZmlsdGVyc19lbmFibGVkIjoxLjAsInNjcmVlbmVyX2lzX2FsbG93ZWRfdG9fY3JlYXRlX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yYXRpbmdfY29sdW1uc19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zb3J0aW5nX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX2dyb3VwX2J5X2lzaW5fcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc3ltYm9sX3NlYXJjaF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yZWdpc3RyYXRpb25fYmFubmVyX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzZXNfdHJhY2tpbmciOjEuMCwic2VuZF9maW5hbmNpYWxfbm90aWZpY2F0aW9ucyI6MS4wLCJzcGFya190cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfY2F0ZWdvcnlfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX3RhZ3NfdHJhbnNsYXRpb25zIjoxLjAsInByb19wbGFuX2luaXRpYWxfcmVmdW5kc19kaXNhYmxlZCI6MS4wLCJwcmV2aW91c19tb25vcHJvZHVjdF9wdXJjaGFzZXNfcmVmdW5kc19lbmFibGVkIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnMiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9uc19mZWVkIjoxLjAsImZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiZXRob2NhX2FsZXJ0X25vdGlmaWNhdGlvbl93ZWJob29rIjoxLjAsImhpZGVfc3VzcGljaW91c191c2Vyc19pZGVhcyI6MS4wLCJkaXNhYmxlX3B1Ymxpc2hfc3RyYXRlZ3lfcmFuZ2VfYmFzZWRfY2hhcnQiOjEuMCwicmVzdHJpY3Rfc2ltdWx0YW5lb3VzX3JlcXVlc3RzIjoxLjAsImxvZ2luX2Zyb21fbmV3X2RldmljZV9lbWFpbCI6MS4wLCJzc3Jfd29ya2VyX25vd2FpdCI6MS4wLCJicm9rZXJfQTFDQVBJVEFMIjoxLjAsImJyb2tlcl9BQ1RJVlRSQURFUyI6MS4wLCJicm9rZXJfQUxDSEVNWU1BUktFVFMiOjEuMCwiYnJva2VyX0FMSUNFQkxVRSI6MS4wLCJoaWRlX0FMT1Jfb25faW9zIjoxLjAsImhpZGVfQUxPUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQUxPUl9vbl9tb2JpbGVfd2ViIjoxLjAsImFsb3ItYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9BTFBBQ0EiOjEuMCwiYnJva2VyX0FMUkFNWiI6MS4wLCJicm9rZXJfQU1QIjoxLjAsImJyb2tlcl9BTkdFTE9ORSI6MS4wLCJicm9rZXJfQVZBX0ZVVFVSRVMiOjEuMCwiQVZBX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfQjJQUklNRSI6MS4wLCJicm9rZXJfQkFKQUoiOjEuMCwiYnJva2VyX0JFWU9ORCI6MS4wLCJicm9rZXJfQklOQU5DRSI6MS4wLCJlbmFibGVfYmluYW5jZWFwaXNfYmFzZV91cmwiOjEuMCwiYnJva2VyX0JJTkdCT04iOjEuMCwiYnJva2VyX0JJVEFaWkEiOjEuMCwiYnJva2VyX0JJVEdFVCI6MS4wLCJicm9rZXJfQklUTUVYIjoxLjAsImJyb2tlcl9CSVRTVEFNUCI6MS4wLCJicm9rZXJfQkxBQ0tCVUxMIjoxLjAsImJyb2tlcl9CTFVFQkVSUllNQVJLRVRTIjoxLjAsImJyb2tlcl9CVENDIjoxLjAsImJyb2tlcl9CWUJJVCI6MS4wLCJicm9rZXJfQ0FQSVRBTENPTSI6MS4wLCJicm9rZXJfQ0FQVFJBREVSIjoxLjAsIkNBUFRSQURFUl9zZXBhcmF0ZV9pbnRlZ3JhdGlvbl9taWdyYXRpb25fd2FybmluZyI6MS4wLCJicm9rZXJfQ0ZJIjoxLjAsImJyb2tlcl9DR1NJIjoxLjAsImJyb2tlcl9DSVRZSU5ERVgiOjEuMCwiY2l0eWluZGV4X3NwcmVhZGJldHRpbmciOjEuMCwiQ0xFQVJTVFJFRVRfYmV0YSI6MS4wLCJicm9rZXJfQ01DTUFSS0VUUyI6MS4wLCJicm9rZXJfQ09CUkFUUkFESU5HIjoxLjAsImJyb2tlcl9DT0lOQkFTRSI6MS4wLCJjb2luYmFzZV9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiY29pbmJhc2VfY2FuY2VsX3Bvc2l0aW9uX2JyYWNrZXRzIjoxLjAsImJyb2tlcl9DT0lOSkFSIjoxLjAsIkNPSU5KQVJfYmV0YSI6MS4wLCJicm9rZXJfQ09JTlNXSVRDSCI6MS4wLCJicm9rZXJfQ09JTlciOjEuMCwiYnJva2VyX0NPTE1FWCI6MS4wLCJoaWRlX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImNxZy1yZWFsdGltZS1iYW5kd2lkdGgtbGltaXQiOjEuMCwiYnJva2VyX0NSWVBUT0NPTSI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2lvcyI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9DWE0iOjEuMCwiYnJva2VyX0RBT0wiOjEuMCwiYnJva2VyX0RBUldJTkVYIjoxLjAsIkRBUldJTkVYX2JldGEiOjEuMCwiYnJva2VyX0RFTFRBIjoxLjAsImJyb2tlcl9ERVJBWUFIIjoxLjAsImJyb2tlcl9ERVJJViI6MS4wLCJicm9rZXJfREhBTiI6MS4wLCJicm9rZXJfRE5TRSI6MS4wLCJicm9rZXJfRE9STUFOIjoxLjAsImhpZGVfRFVNTVlfb25faW9zIjoxLjAsImhpZGVfRFVNTVlfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0RVTU1ZX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0VBU1lNQVJLRVRTIjoxLjAsImJyb2tlcl9FQ09WQUxPUkVTIjoxLjAsImJyb2tlcl9FREdFQ0xFQVIiOjEuMCwiZWRnZWNsZWFyX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0VJR0hUQ0FQIjoxLjAsImJyb2tlcl9FUlJBTlRFIjoxLjAsImJyb2tlcl9FU0FGWCI6MS4wLCJGSURFTElUWV9iZXRhIjoxLjAsIkZJREVMSVRZX3VzX3JlbGVhc2UiOjAuMjUsImZpZGVsaXR5X3NlY3VyaXR5X3Rva2VuIjoxLjAsImJyb2tlcl9GT1JFWENPTSI6MS4wLCJmb3JleGNvbV9zZXNzaW9uX3YyIjoxLjAsImJyb2tlcl9GUE1BUktFVFMiOjEuMCwiaGlkZV9GVFhfb25faW9zIjoxLjAsImhpZGVfRlRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJmdHhfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GVVNJT05NQVJLRVRTIjoxLjAsImZ4Y21fc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlhDTSI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9pb3MiOjEuMCwiaGlkZV9GWE9QRU5fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9GWFBSTyI6MS4wLCJicm9rZXJfRlhURiI6MS4wLCJicm9rZXJfRllFUlMiOjEuMCwiYnJva2VyX0dBVEUiOjEuMCwiYnJva2VyX0dCRUJST0tFUlMiOjEuMCwiZ2VtaW5pLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR0VOSUFMSU5WRVNUSU1FTlRPUyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2lvcyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9tb2JpbGVfd2ViIjoxLjAsImdsb2JhbHByaW1lLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR09NQVJLRVRTIjoxLjAsImJyb2tlcl9HT1RSQURFIjoxLjAsImdvdHJhZGVfZW5hYmxlX3N0cmVhbWluZ19lbmRwb2ludHMiOjEuMCwiYnJva2VyX0hFUkVOWUEiOjEuMCwiaGlkZV9IVFhfb25faW9zIjoxLjAsImhpZGVfSFRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9IVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfSUJLUiI6MS4wLCJjaGVja19pYmtyX3NpZGVfbWFpbnRlbmFuY2UiOjEuMCwiaWJrcl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9wYXJhbGxlbF9wcm92aWRlcl9pbml0aWFsaXphdGlvbiI6MS4wLCJpYmtyX3dzX2FjY291bnRfc3VtbWFyeSI6MS4wLCJpYmtyX3dzX3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9zdWJzY3JpYmVfdG9fb3JkZXJfdXBkYXRlc19maXJzdCI6MS4wLCJpYmtyX3dzX2FjY291bnRfbGVkZ2VyIjoxLjAsImJyb2tlcl9JQlJPS0VSIjoxLjAsImJyb2tlcl9JQ01BUktFVFMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19BU0lDIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfRVUiOjEuMCwiYnJva2VyX0lHIjoxLjAsImJyb2tlcl9JTkRTVE9DS1MiOjEuMCwiYnJva2VyX0lORk9ZQVRJUklNIjoxLjAsImJyb2tlcl9JTk5PVkVTVFgiOjEuMCwiYnJva2VyX0lOVEVSQUNUSVZFSUwiOjEuMCwiYnJva2VyX0lOVkVTVFJBREUiOjEuMCwiSU5WRVNUUkFERV9iZXRhIjoxLjAsImJyb2tlcl9JUk9OQkVBTSI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LSVdPT00iOjEuMCwia2l3b29tX3VzZV9zZXBhcmF0ZV9zdHJlYW1pbmdfdXJsIjoxLjAsImJyb2tlcl9LT1RBSyI6MS4wLCJoaWRlX0tPVEFLX29uX2lvcyI6MS4wLCJoaWRlX0tPVEFLX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9LT1RBS19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LUkFLRU4iOjEuMCwiaGlkZV9LUkFLRU5fb25faW9zIjoxLjAsImhpZGVfS1JBS0VOX29uX2FuZHJvaWQiOjEuMCwiS1JBS0VOX2JldGEiOjEuMCwia3Jha2VuX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfS1NFQ1VSSVRJRVMiOjEuMCwiYnJva2VyX0xJQkVSQVRPUiI6MS4wLCJicm9rZXJfTUVYQyI6MS4wLCJicm9rZXJfTUVYRU0iOjEuMCwiYnJva2VyX01JREFTIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9NT09NT08iOjEuMCwiYnJva2VyX01PVElMQUxPU1dBTCI6MS4wLCJicm9rZXJfTklOSkFUUkFERVIiOjEuMCwiYnJva2VyX09BTkRBIjoxLjAsIm9hbmRhX3NlcnZlcl9sb2dnaW5nIjoxLjAsIm9hbmRhX29hdXRoX211bHRpcGxleGluZyI6MS4wLCJicm9rZXJfT0tYIjoxLjAsImJyb2tlcl9PUE9GSU5BTkNFIjoxLjAsImJyb2tlcl9PUFRJTVVTIjoxLjAsImJyb2tlcl9PU01BTkxJIjoxLjAsImJyb2tlcl9PU01BTkxJRlgiOjEuMCwicGFwZXJfZm9yY2VfY29ubmVjdF9wdXNoc3RyZWFtIjoxLjAsInBhcGVyX3N1YmFjY291bnRfY3VzdG9tX2N1cnJlbmN5IjoxLjAsInBhcGVyX291dHNpZGVfcnRoIjoxLjAsImJyb2tlcl9QQVlUTSI6MS4wLCJicm9rZXJfUEVQUEVSU1RPTkUiOjEuMCwiYnJva2VyX1BIRU1FWCI6MS4wLCJicm9rZXJfUEhJTExJUENBUElUQUxfVFIiOjEuMCwiYnJva2VyX1BISUxMSVBOT1ZBIjoxLjAsImJyb2tlcl9QTFVTNTAwIjoxLjAsInBsdXM1MDBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJQTFVTNTAwVVNfYmV0YSI6MS4wLCJicm9rZXJfUFVSUExFVFJBRElORyI6MS4wLCJicm9rZXJfUVVFU1RSQURFIjoxLjAsImJyb2tlcl9SQVZBQlVSU0FUSUwiOjEuMCwiUkFWQUJVUlNBVElMX2JldGEiOjEuMCwiYnJva2VyX1JJWUFEQ0FQSVRBTCI6MS4wLCJicm9rZXJfUk9CT01BUktFVFMiOjEuMCwiYnJva2VyX1JFUExBWUJST0tFUiI6MS4wLCJicm9rZXJfU0FNVUVMIjoxLjAsImJyb2tlcl9TQVhPQkFOSyI6MS4wLCJicm9rZXJfU0hBUkVNQVJLRVQiOjEuMCwiYnJva2VyX1NLSUxMSU5HIjoxLjAsImJyb2tlcl9TUFJFQURFWCI6MS4wLCJicm9rZXJfU1dJU1NRVU9URSI6MS4wLCJicm9rZXJfU1RPTkVYIjoxLjAsImJyb2tlcl9UQVNUWUZYIjoxLjAsImJyb2tlcl9UQVNUWVRSQURFIjoxLjAsImJyb2tlcl9USElOS01BUktFVFMiOjEuMCwidGhpbmttYXJrZXRzX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwiYnJva2VyX1RJQ0tNSUxMIjoxLjAsImhpZGVfVElHRVJfb25faW9zIjoxLjAsImhpZGVfVElHRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RJR0VSX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX1RSQURFTkFUSU9OIjoxLjAsImJyb2tlcl9UUkFERVNUQVRJT04iOjEuMCwidHJhZGVzdGF0aW9uX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJ0cmFkZXN0YXRpb25fYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJ0cmFkZXN0YXRpb25fc3RyZWFtaW5nX3NlcnZlcl9sb2dnaW5nIjoxLjAsImJyb2tlcl9UUkFERVpFUk8iOjEuMCwiYnJva2VyX1RSQURJRVIiOjEuMCwiYnJva2VyX1RSQURJRVJfRlVUVVJFUyI6MS4wLCJ0cmFkaWVyX2Z1dHVyZXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfVFJBRE9WQVRFIjoxLjAsImhpZGVfVFJBRFVfb25faW9zIjoxLjAsImhpZGVfVFJBRFVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RSQURVX29uX21vYmlsZV93ZWIiOjEuMCwidHJhZHVfc3ByZWFkX2JldCI6MS4wLCJicm9rZXJfVFJJVkUiOjEuMCwiYnJva2VyX1ZBTlRBR0UiOjEuMCwiYnJva2VyX1ZFTE9DSVRZIjoxLjAsImJyb2tlcl9XRUJVTEwiOjEuMCwiYnJva2VyX1dFQlVMTEpBUEFOIjoxLjAsImJyb2tlcl9XRUJVTExQQVkiOjEuMCwiYnJva2VyX1dFQlVMTFVLIjoxLjAsImJyb2tlcl9XSElURUJJVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1RfRlVUVVJFUyI6MS4wLCJXSFNFTEZJTlZFU1RfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9YQ1VCRSI6MS4wLCJicm9rZXJfWUxHIjoxLjAsImJyb2tlcl9pZF9zZXNzaW9uIjoxLjAsImRpc2FsbG93X2NvbmN1cnJlbnRfc2Vzc2lvbnMiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlciI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyX2Zvcl91bnRlc3RlZF9icm9rZXJzIjoxLjAsIm1vYmlsZV90cmFkaW5nX3dlYiI6MS4wLCJtb2JpbGVfdHJhZGluZ19pb3MiOjEuMCwibW9iaWxlX3RyYWRpbmdfYW5kcm9pZCI6MS4wLCJjb250aW51b3VzX2Zyb250X2NvbnRyYWN0X3RyYWRpbmciOjEuMCwidHJhZGluZ19yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwib2F1dGgyX2NvZGVfZmxvd19wcm92aWRlcl9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3Rfb2F1dGgyX2NvZGVfZmxvd19tdWx0aXBsZXhpbmciOjEuMCwicmVzdF9sb2dvdXRfb25fNDI5IjoxLjAsInJldmlld19wb3B1cF9vbl9jaGFydCI6MS4wLCJzaG93X2NvbmN1cnJlbnRfY29ubmVjdGlvbl93YXJuaW5nIjoxLjAsImVuYWJsZV90cmFkaW5nX3NlcnZlcl9sb2dnZXIiOjEuMCwib3JkZXJfcHJlc2V0cyI6MS4wLCJvcmRlcl90aWNrZXRfcmVzaXphYmxlX2RyYXdlcl9vbiI6MS4wLCJyZXN0X3VzZV9hc3luY19tYXBwZXIiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fYmFubmVyX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2xlYWRlcmJvYXJkIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3ByZXZpb3VzX2NvbXBldGl0aW9ucyI6MS4wLCJhbXBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJibHVlbGluZV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImRvcm1hbl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImlyb25iZWFtX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwib3B0aW11c19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInN0b25leF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInlsZ19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInRyYWRpbmdfZ2VuZXJhbF9ldmVudHNfZ2FfdHJhY2tpbmciOjEuMCwicmVwbGF5X3Jlc3VsdF9zaGFyaW5nIjoxLjAsInJlcGxheV90cmFkaW5nX2JyYWNrZXRzIjoxLjAsImhpZGVfYWxsX2Jyb2tlcnNfYnV0dG9uX2luX2lvc19hcHAiOjEuMCwiZm9yY2VfbWF4X2FsbG93ZWRfcHVsbGluZ19pbnRlcnZhbHMiOjEuMCwicGFwZXJfZGVsYXlfdHJhZGluZyI6MS4wLCJlbmFibGVfZmlyc3RfdG91Y2hfaXNfc2VsZWN0aW9uIjoxLjAsImNsZWFyX3Byb2plY3Rfb3JkZXJfb25fb3JkZXJfdGlja2V0X2Nsb3NlIjoxLjAsImVuYWJsZV9uZXdfYmVoYXZpb3Jfb2ZfY29uZmlybV9idXR0b25zX29uX21vYmlsZSI6MS4wLCJyZW5ld190b2tlbl9wcmVlbXB0aW9uXzMwIjoxLjAsImRvX25vdF9vcGVuX290X2Zyb21fcGx1c19idXR0b24iOjEuMCwiYnJva2VyX3NpZGVfcHJvbW90aW9uIjoxLjAsImVuYWJsZV9uZXdfdHJhZGluZ19tZW51X3N0cnVjdHVyZSI6MS4wLCJxdWlja190cmFkaW5nX3BhbmVsIjoxLjAsInBhcGVyX29yZGVyX2NvbmZpcm1hdGlvbl9kaWFsb2ciOjEuMCwicGFwZXJfbXVsdGlwbGVfbGV2ZWxzX2VuYWJsZWQiOjEuMCwicGFwZXJfbWFyZ2luX2NvbnRyb2wiOjEuMCwiZW5hYmxlX3NlZ21lbnRhdGlvbl9wYXBlcl90cmFkaW5nIjoxLjAsImVuYWJsZV9jaGFydF9hZGFwdGl2ZV90cHNsX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsImVuYWJsZV9tYXJrZXRfcHJvamVjdF9vcmRlciI6MS4wLCJlbmFibGVfc3ltYm9sc19wb3B1bGFyaXR5X3Nob3dpbmciOjEuMCwiZW5hYmxlX3RyYW5zbGF0aW9uc19zM191cGxvYWQiOjEuMCwiZXRmX2Z1bmRfZmxvd3Nfb25seV9kYXlzX3Jlc29sdXRpb25zIjoxLjAsImRpc2FibGVfc25vd3Bsb3dfcGxhdGZvcm1fZXZlbnRzIjoxLjAsIm5vdGlmeV9pZGVhX21vZHNfYWJvdXRfZmlyc3RfcHVibGljYXRpb24iOjEuMCwiZW5hYmxlX3dhZl90cmFja2luZyI6MS4wLCJuZXdfZXJyb3JzX2Zsb3ciOjEuMCwicXVvdGUtdG9rZW4tZmlsdGVyLW93bi1zY3JpcHRzLWJ5LWFjY2VzcyI6MS4wLCJrZWVwX2luZGljYXRvcnNfc2VhcmNoX3N0YXRlIjoxLjAsImtlZXBfaW5kaWNhdG9yc190YWJfc2Nyb2xsX3N0YXRlIjoxLjAsImNvbmZpZ3VyYWJsZV9zZWFyY2hfYW5kX2ZpbHRyYXRpb24iOjEuMCwicGluZV9lZGl0b3Jfd3JhcF9vbl9saW5lX3NwbGl0IjoxLjAsInN5bWJvbF9zZWFyY2hfY291bnRyeV9zb3VyY2VzIjoxLjAsIndhdGNobGlzdHNfZGlhbG9nX3Njcm9sbF90b19hY3RpdmUiOjEuMCwiYm90dG9tX3BhbmVsX3RyYWNrX2V2ZW50cyI6MS4wLCJzbm93cGxvd19iZWFjb25fZmVhdHVyZSI6MS4wLCJzaG93X2RhdGFfcHJvYmxlbXNfaW5faGVscF9jZW50ZXIiOjEuMCwiZW5hYmxlX2FwcGxlX2RldmljZV9jaGVjayI6MS4wLCJlbmFibGVfYXBwbGVfaW50cm9fb2ZmZXJfc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19vZmZlcl9zaWduYXR1cmVfdjIiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2FuZHJvaWQiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19pb3MiOjEuMCwiZW5hYmxlX21hbnRpY29yZV9jbHVzdGVyIjoxLjAsImVuYWJsZV9wdXNoc3RyZWFtX2F1dGgiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5IjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9wYXBlcnRyYWRpbmciOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3NjcmVlbmVyIjoxLjAsIm9wdGlvbnNfcmVkdWNlX3BvbGxpbmdfaW50ZXJ2YWwiOjEuMCwib3B0aW9uc19idWlsZGVyX2dyb3VwX2FjdGlvbnMiOjEuMCwib3B0aW9uc19jaGFpbl9zaWdtYV9maWx0ZXIiOjEuMCwib3B0aW9uc19icm9rZXJfc3RyYXRlZ2llcyI6MS4wLCJzaG93X3RvYXN0X2Fib3V0X3VucmVhZF9tZXNzYWdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3BheW91dCI6MS4wLCJlbmFibGVfZW1haWxfY2hhbmdlX2xvZ2dpbmciOjEuMCwiZW5hYmxlX2VtYWlsX29uX3BhcnRuZXJfc3RhdHVzX2NoYW5nZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtX2FwcGx5IjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW0iOjEuMCwiY29tcHJlc3NfY2FjaGVfZGF0YSI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciOjEuMCwibmV3c19zY3JlZW5lcl9wYWdlX2NsaWVudCI6MS4wLCJlbmFibGVfZGVjbGFyYXRpb25fcG9wdXBfb25fbG9hZCI6MS4wLCJzaG93X2RhdGFfYm9uZHNfZnJlZV91c2VycyI6MS4wLCJlbmFibGVfbW9kZXJuX3JlbmRlcl9tb2RlIjoxLjAsImVuYWJsZV9wcm9mX3BvcHVwX2ZyZWUiOjEuMCwiaW9zX2FwcF9uZXdzX2FuZF9taW5kcyI6MS4wLCJkb19ub3RfZGlzY2xvc2VfcGhvbmVfb2NjdXBhbmN5IjoxLjAsImVuYWJsZV9yZWRpcmVjdF90b193aWRnZXRfZG9jdW1lbnRhdGlvbl9vZl9hbnlfbG9jYWxpemF0aW9uIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19oaWJlcm5hdGlvbiI6MS4wLCJuZXdzX3N0cmVhbWluZ19oaWJlcm5hdGlvbl9kZWxheV8xMG1pbiI6MS4wLCJwYXNzX3JlY292ZXJ5X3NlYXJjaF9oaWRlX2luZm8iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX29uX3NjcmVlbmVyIjoxLjAsImVuYWJsZV9mb3JjZWRfZW1haWxfY29uZmlybWF0aW9uIjoxLjAsInNob3dfZ2lmdF9idXR0b24iOjEuMCwiYWRkcmVzc192YWxpZGF0aW9uX2VuYWJsZWQiOjEuMCwiZGlzYWJsZV91bnZlcmlmaWVkX2FkZHJlc3MiOjEuMCwiZ2VuZXJhdGVfaW52b2ljZV9udW1iZXJfYnlfY291bnRyeSI6MS4wLCJzaG93X2Zhdm9yaXRlX2xheW91dHMiOjEuMCwiZW5hYmxlX3NvY2lhbF9hdXRoX2NvbmZpcm1hdGlvbiI6MS4wLCJlbmFibGVfYWRfYmxvY2tfZGV0ZWN0IjoxLjAsInR2ZF9uZXdfdGFiX2xpbmtpbmciOjEuMCwidHZkX3RpbWVfYW5kX2RhdGVfcmFuZ2VfbGlua2luZyI6MS4wLCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwidXNlX2Rlc2t0b3Bfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsIndyb25nX2FjY291bnRfZGlhbG9nX3ByaW1hcnlfc3dpdGNoIjoxLjAsImVuYWJsZV9saW5ndWFfbGFuZ19jaGVjayI6MS4wLCJnZXRfc2F2ZWRfYWN0aXZlX2xpc3RfYmVmb3JlX2dldHRpbmdfYWxsX2xpc3RzIjoxLjAsIndhdGNobGlzdF9hZGRfc291cmNlX3BhcmFtIjoxLjAsInNob3dfcmVmZXJyYWxfbm90aWZpY2F0aW9uX2RpYWxvZyI6MS4wLCJzZXRfbmV3X2JsYWNrX2NvbG9yIjoxLjAsIm5ld3NfdXNlX25ld3NfbWVkaWF0b3IiOjEuMCwiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iOjEuMCwicmVzdHJpY3RfcHduZWRfcGFzc3dvcmRfc2V0IjoxLjAsIm5vdGlmX3NldHRpbmdzX2VuYWJsZV9uZXdfc3RvcmUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfd3JpdGUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfcmVhZCI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3NkayI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3Nkay1mb3ItaW5pdGlhbC1wdXJjaGFzZSI6MS4wLCJlbmFibGVfbWV0YWRlZmVuZGVyX2NoZWNrX2Zvcl9hZ3JlZW1lbnQiOjEuMCwic2hvd19kb3dubG9hZF95aWVsZF9jdXJ2ZXNfZGF0YSI6MS4wLCJtb3ZlX2tleV90ZW5vcnNfdG9fc2V0dGluZ3MiOjEuMCwic2hvd195aWVsZF9jdXJ2ZXNfbWFwIjoxLjAsImRpc2FibGVfd2lkZ2V0YmFyX2luX2FwcHMiOjEuMCwiaGlkZV9wdWJsaWNhdGlvbnNfb2ZfYmFubmVkX3VzZXJzIjoxLjAsImVuYWJsZV9zdW1tYXJ5X3VwZGF0ZXNfZnJvbV9jaGFydF9zZXNzaW9uIjoxLjAsInNob3dfbmV3c19mbG93X3Rvb2xfcmlnaHRfYmFyIjoxLjAsImVuYWJsZV9jaGFydF9zYXZpbmdfc3RhdHMiOjEuMCwiZW5hYmxlX3NhdmluZ19zYW1lX2NoYXJ0X3JhdGVfbGltaXQiOjEuMCwibmV3c19hbGVydHNfZW5hYmxlZCI6MS4wLCJuZXdzX211bHRpcGxlX2FsZXJ0c19lbmFibGVkIjoxLjAsInJlZnVuZF91bnZvaWRhYmxlX2NvdXBvbnNfZW5hYmxlZCI6MS4wLCJlbmFibGVfc25vd3Bsb3dfZW1haWxfdHJhY2tpbmciOjEuMCwibmV3c19lbmFibGVfc2VudGltZW50IjoxLjAsInVzZV9pbl9zeW1ib2xfc2VhcmNoX29wdGlvbnNfbWN4X2V4Y2hhbmdlIjoxLjAsImVuYWJsZV91c2Vyc2V0dGluZ3Nfc3ltYm9sc19wZXJfcm93X3NvZnRfbGltaXQiOjAuMSwiZm9yYmlkX2xvZ2luX3dpdGhfcHduZWRfcGFzc3dvcmRzIjoxLjAsImRlYnVnX2dldF90ZXN0X2JhcnNfZGF0YSI6MS4wLCJuZXdzX3VzZV9tZWRpYXRvcl9zdG9yeSI6MS4wLCJuZXdzX2Zsb3dfcmVjb25maWd1cmVfZmlsdGVycyI6MS4wLCJibGFja19mcmlkYXlfZW5hYmxlX3NraXBfdG9fcGF5bWVudCI6MS4wLCJoaWRlX3RyYWRpbmdfYnV0dG9uX29uX2JvdHRvbV9wYW5lbF9hbmRfcmVwbGF5X3RhYiI6MS4wLCJoaWRlX3RyYWRlX2J1dHRvbl9oaW50X2luX2hlYWRlcl90b29sYmFyIjoxLjAsImhpZGVfc2VlX29uX3N1cGVyX2NoYXJ0c19idXR0b24iOjEuMCwiaGlkZV9zeW1ib2xfcGFnZV9jaGFydF90eXBlX3N3aXRjaGVyIjoxLjAsImRpc2FibGVfY2hhdF9zcGFtX3Byb3RlY3Rpb25fZm9yX3ByZW1pdW1fdXNlcnMiOjEuMCwiZGlzYWJsZV9wdWJsaWNfcGluZV9zY3JpcHRfcHVibGlzaF9saW1pdHMiOjEuMCwibWFrZV90cmFkaW5nX3BhbmVsX2NvbnRleHR1YWxfdGFiIjoxLjAsInJlY29ubmVjdF9nYWluX3Nlc3Npb25fb25fbHNfZXJyb3IiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXltZW50cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9reWMiOjEuMCwiaW5kaWFfZXhjbHVkZV9icmFpbnRyZWVfdGFiIjoxLjAsIm1hY3JvX21hcHNfaGlkZV90b29sdGlwX2NoYXJ0X2J1dHRvbiI6MS4wLCJmb3JjZV9reWNfZm9yX25vbnByb19wdXJjaGFzZV9ieV9jb21tZXJjaWFsIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfZnVsbHNjcmVlbl9idXR0b24iOjEuMCwic2hvd19zcGxpdF9wYW5lbF9tb3ZlX2J1dHRvbl90b190aXRsZSI6MS4wLCJvcmRlcl9wcmVzZXRzX2NydWRfc3RvcmFnZSI6MS4wLCJvcmRlcl9wcmVzZXRzX3JlbW92ZV9mcm9tX3R2X3NldHRpbmdzIjoxLjAsImNoZWNrb3V0LWZsb3ctdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheSI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbCI6MS4wLCJmb3JiaWRfc2lnbnVwX3dpdGhfZmFrZV9nbWFpbF9kb21haW5zIjoxLjAsInNob3dfaW1wb3J0X2Zyb21fcGFwZXJfdHJhZGluZ19idXR0b24iOjEuMCwic3ltYm9sX3NlYXJjaF9ncm91cGluZyI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsLXRyaWFsIjoxLjAsInZvaWRfbm90X2ZvdW5kX2Nrb19wYXltZW50X2luX2FwcHJvdmVkX3dlYmhvb2siOjEuMCwic2hvd19wYW5lbF9jb2xsYXBzZV9idXR0b24iOjEuMCwiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIjowLjN9OwoKCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuaWRjX2V4Y2hhbmdlc19saXN0ID0gWyJuengiLCJibWUiLCJibWVfc3RvY2tzIiwic2hmZSIsInN6c2UiLCJuYWciLCJ0ZngiLCJ0d3NlIiwiYnZjIiwiYnZjdiIsImJtdiIsImJ2bXQiLCJidmwiLCJiY3MiLCJzaXgiLCJic3NlIiwiYmFocmFpbiIsImJlbGV4IiwibnNla2UiLCJxc2UiXTsKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iaERqRjVXZHUzbU8xR2NIOEhob25CUT09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjsKCQl3aW5kb3cuQlVJTERfVElNRSA9ICIyMDI2LTA3LTI0VDExOjQwOjA4IjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1QgPSAid2lkZ2V0ZGF0YS50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNUID0gIndpZGdldGRhdGEtYmFja3VwLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LnVzZXIgPSB7J3VzZXJuYW1lJzogJ0d1ZXN0JywgJ2ZvbGxvd2luZyc6ICcwJywgJ2ZvbGxvd2Vycyc6ICcwJywgJ2lnbm9yZV9saXN0Jzoge30sICdkb19ub3RfdHJhY2snOiB0cnVlfTs8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9ImhEakY1V2R1M21PMUdjSDhIaG9uQlE9PSI+bGV0IHBhcmFtcyA9IHt9OwoJCQljb25zdCBodHRwUmVnID0gbmV3IFJlZ0V4cCgnXmh0dHAocyk/Oi8vJyk7CgoJCQl0cnkgewoJCQkJcGFyYW1zID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKTsKCQkJfSBjYXRjaCAoZSkgewoJCQkJcGFyYW1zID0ge307CgkJCX0KCgkJCXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyA9IHsKCQkJCSd3c19hbmNlc3Rvcl9vcmlnaW4nOiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zICYmIHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoID8gd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1t3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCAtIDFdLnJlcGxhY2UoaHR0cFJlZywgJycpIDogbnVsbCwKCQkJCSd3c19wYWdlX3VyaSc6IHBhcmFtc1sncGFnZS11cmknXSwKCQkJfTsoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpufT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBzPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHBfbmV3Iiksbz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lKyI9IixuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtsZXQgcz1uW2VdO2Zvcig7IiAiPT09cy5jaGFyQXQoMCk7KXM9cy5zdWJzdHJpbmcoMSxzLmxlbmd0aCk7aWYoMD09PXMuaW5kZXhPZih0KSlyZXR1cm4gcy5zdWJzdHJpbmcodC5sZW5ndGgscy5sZW5ndGgpfXJldHVybiBudWxsfSgidHZfYXBwIil8fCIiO3N8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IXMpfHwhKCJuZXciPT09ZXx8IW8pfWNvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yLG49dCYmIm9udG91Y2hzdGFydCJpbiB3aW5kb3cscz0odCYmbiYmd2luZG93LHQmJihufHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpLHQmJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSx0JiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImZpcmVmb3giKSx0JiYvXHNFZGdlXC9cZFxkXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdCYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJGeGlPUyIpLHQmJi9tYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL1dpbjMyfFdpbjY0L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9MaW51eC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpLG89dCYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGk9dCYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyPXQmJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxjPXQmJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksYT1zfHxvfHxpfHxyO2NvbnN0IF89bmV3IE1hcDtmdW5jdGlvbiBkKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxuPWAke3R9JHtlfWA7cmV0dXJuIF8uaGFzKG4pfHxfLnNldChuLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG4paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHM9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxvPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IGk7Zm9yKGxldCBlPXMubGVuZ3RoLTE7ZT49MDtlLS0paWYoaT1uZXcgUmVnRXhwKHNbZV0pLGkudGVzdChvKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksXy5nZXQobik/PyExfWNvbnN0IGg9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbD17QW5kcm9pZDooKT0+cyxCbGFja0JlcnJ5OigpPT5vLGlPUzooKT0+aSxPcGVyYTooKT0+cixpc0lQYWQ6KCk9PmMsYW55OigpPT5hfTtoLmlzTW9iaWxlPWwsaC5vbldpZGdldD1kO2NvbnN0IHU9KCk9Pnt9LGc9In5tfiI7Y2xhc3MgbXtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuc2Vzc2lvbmlkPW51bGwsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2Jhc2U9ZSx0aGlzLl9vcHRpb25zPXt0aW1lb3V0OnQudGltZW91dHx8MmU0LGNvbm5lY3Rpb25UeXBlOnQuY29ubmVjdGlvblR5cGUsYXBpS2V5OnQuYXBpS2V5fX1jb25uZWN0KCl7dGhpcy5fc29ja2V0PW5ldyBXZWJTb2NrZXQodGhpcy5fcHJlcGFyZVVybCgpKSwKdGhpcy5fc29ja2V0Lm9ubWVzc2FnZT1lPT57aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIFdlYlNvY2tldCBtZXNzYWdlIHNob3VsZCBiZSBhIHN0cmluZy4gUmVjaWV2ZWQgJHtPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZS5kYXRhKX1gKTt0aGlzLl9vbkRhdGEoZS5kYXRhKX0sdGhpcy5fc29ja2V0Lm9uY2xvc2U9dGhpcy5fb25DbG9zZS5iaW5kKHRoaXMpLHRoaXMuX3NvY2tldC5vbmVycm9yPXRoaXMuX29uRXJyb3IuYmluZCh0aGlzKX1zZW5kKGUpe3RoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnNlbmQodGhpcy5fZW5jb2RlKGUpKX1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9dSx0aGlzLl9zb2NrZXQub25jbG9zZT11LHRoaXMuX3NvY2tldC5vbmVycm9yPXUsdGhpcy5fc29ja2V0LmNsb3NlKCkpfV9jbGVhcklkbGVUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsKX1fZW5jb2RlKGUpe2xldCB0LG49IiI7Y29uc3Qgcz1BcnJheS5pc0FycmF5KGUpP2U6W2VdLG89cy5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxvO2UrKyl0PW51bGw9PT1zW2VdfHx2b2lkIDA9PT1zW2VdPyIiOm0uX3N0cmluZ2lmeShzW2VdKSxuKz1nK3QubGVuZ3RoK2crdDtyZXR1cm4gbn1fZGVjb2RlKGUpe2NvbnN0IHQ9W107bGV0IG4scztkb3tpZihlLnN1YnN0cmluZygwLDMpIT09ZylyZXR1cm4gdDtuPSIiLHM9IiI7Y29uc3Qgbz0oZT1lLnN1YnN0cmluZygzKSkubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8bzt0Kyspe2lmKHM9TnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSksTnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSkhPT1zKXtlPWUuc3Vic3RyaW5nKG4ubGVuZ3RoKzMpLG49TnVtYmVyKG4pO2JyZWFrfW4rPXN9dC5wdXNoKGUuc3Vic3RyaW5nKDAsbikpLGU9ZS5zdWJzdHJpbmcobil9d2hpbGUoIiIhPT1lKTtyZXR1cm4gdH1fb25EYXRhKGUpe3RoaXMuX3NldFRpbWVvdXQoKTtjb25zdCB0PXRoaXMuX2RlY29kZShlKSxuPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5fb25NZXNzYWdlKHRbZV0pfV9zZXRUaW1lb3V0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9vblRpbWVvdXQuYmluZCh0aGlzKSx0aGlzLl9vcHRpb25zLnRpbWVvdXQpfV9vblRpbWVvdXQoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9vbkRpc2Nvbm5lY3Qoe2NvZGU6NGUzLHJlYXNvbjoic29ja2V0LmlvIHRpbWVvdXQiLHdhc0NsZWFuOiExfSl9X29uTWVzc2FnZShlKXt0aGlzLnNlc3Npb25pZD90aGlzLl9jaGVja0lmSGVhcnRiZWF0KGUpP3RoaXMuX29uSGVhcnRiZWF0KGUuc2xpY2UoMykpOnRoaXMuX2NoZWNrSWZKc29uKGUpP3RoaXMuX2Jhc2Uub25NZXNzYWdlKEpTT04ucGFyc2UoZS5zbGljZSgzKSkpOnRoaXMuX2Jhc2Uub25NZXNzYWdlKGUpOih0aGlzLnNlc3Npb25pZD1lLHRoaXMuX29uQ29ubmVjdCgpKX1fY2hlY2tJZkhlYXJ0YmVhdChlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJoIil9X2NoZWNrSWZKc29uKGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImoiKX1fY2hlY2tNZXNzYWdlVHlwZShlLHQpe3JldHVybiBlLnN1YnN0cmluZygwLDMpPT09In4iK3QrIn4ifV9vbkhlYXJ0YmVhdChlKXt0aGlzLnNlbmQoIn5ofiIrZSl9X29uQ29ubmVjdCgpe3RoaXMuY29ubmVjdGVkPSEwLHRoaXMuX2Jhc2Uub25Db25uZWN0KCl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2Uub25EaXNjb25uZWN0KGUpLHRoaXMuc2Vzc2lvbmlkPW51bGx9X2NsZWFyKCl7dGhpcy5jb25uZWN0ZWQ9ITF9X3ByZXBhcmVVcmwoKXtjb25zdCB0PWsodGhpcy5fYmFzZS5ob3N0KTtpZih0LnBhdGhuYW1lKz0ic29ja2V0LmlvL3dlYnNvY2tldCIsdC5wcm90b2NvbD0id3NzOiIsdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJmcm9tIix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSw1MCkpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZGF0ZSIsd2luZG93LkJVSUxEX1RJTUV8fCIiKSxlKCJhbnkiKSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjbGllbnQiLCJtb2JpbGUiKSx0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInR5cGUiLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUpLHdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyl7Y29uc3R7d3NfcGFnZV91cmk6ZSx3c19hbmNlc3Rvcl9vcmlnaW46bn09d2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTO2UmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgicGFnZS11cmkiLGUpLG4mJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYW5jZXN0b3Itb3JpZ2luIixuKX1jb25zdCBuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpfHx3aW5kb3cubG9jYXRpb24uaGFzaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIik7cmV0dXJuIGQoKXx8bnx8dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhdXRoIiwic2Vzc2lvbmlkIiksdm9pZCAwIT09dGhpcy5fb3B0aW9ucy5hcGlLZXkmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXBpX2tleSIsdGhpcy5fb3B0aW9ucy5hcGlLZXkpLHQuaHJlZn1fb25DbG9zZShlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fb25EaXNjb25uZWN0KGUpfV9vbkVycm9yKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2UuZW1pdCgiZXJyb3IiLFtlXSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1zdGF0aWMgX3N0cmluZ2lmeShlKXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT8ifmp+IitKU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSl9fWNsYXNzIHd7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhvc3Q9ZSwKdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl9ldmVudHM9e30sdGhpcy50cmFuc3BvcnQ9dGhpcy5fZ2V0VHJhbnNwb3J0KHQpfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkfWlzQ29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfWNvbm5lY3QoKXt0aGlzLmlzQ29ubmVjdGVkKCl8fCh0aGlzLl9jb25uZWN0aW5nJiZ0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMudHJhbnNwb3J0LmNvbm5lY3QoKSl9c2VuZChlKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkJiZ0aGlzLnRyYW5zcG9ydC5zZW5kKGUpfWRpc2Nvbm5lY3QoKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuZGlzY29ubmVjdCgpfW9uKGUsdCl7ZSBpbiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHNbZV09W10pLHRoaXMuX2V2ZW50c1tlXS5wdXNoKHQpfW9mZkFsbCgpe3RoaXMuX2V2ZW50cz17fX1vbk1lc3NhZ2UoZSl7dGhpcy5lbWl0KCJtZXNzYWdlIixbZV0pfWVtaXQoZSx0PVtdKXtpZihlIGluIHRoaXMuX2V2ZW50cyl7Y29uc3Qgbj10aGlzLl9ldmVudHNbZV0uY29uY2F0KCkscz1uLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bZV0uYXBwbHkodGhpcyx0KX19b25Db25uZWN0KCl7dGhpcy5jbGVhcigpLHRoaXMuZW1pdCgiY29ubmVjdCIpfW9uRGlzY29ubmVjdChlKXt0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLFtlXSl9Y2xlYXIoKXt0aGlzLl9jb25uZWN0aW5nPSExfV9nZXRUcmFuc3BvcnQoZSl7cmV0dXJuIG5ldyBtKHRoaXMsZSl9fWZ1bmN0aW9uIGsoZSl7Y29uc3QgdD0tMSE9PWUuaW5kZXhPZigiLyIpP25ldyBVUkwoZSk6bmV3IFVSTCgid3NzOi8vIitlKTtpZigid3NzOiIhPT10LnByb3RvY29sJiYiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHdlYnNvY2tldCBiYXNlICIrZSk7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdC5zZWFyY2g9IiIsdC51c2VybmFtZT0iIix0LnBhc3N3b3JkPSIiLHR9dmFyIHAsYjshZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0zMDBdPSJOb3JtYWwiLGVbZS5BZnRlckNsb3NlRXZlbnQ9NWUzXT0iQWZ0ZXJDbG9zZUV2ZW50In0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlW2UuSW5mbz0wXT0iSW5mbyIsZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuRGVidWc9Ml09IkRlYnVnIixlW2UuRXJyb3I9M109IkVycm9yIn0oYnx8KGI9e30pKTtjb25zdCBmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZOdW1iZXIod2luZG93LlRFTEVNRVRSWV9XU19FUlJPUl9MT0dTX1RIUkVTSE9MRCl8fDA7dmFyIHk7IWZ1bmN0aW9uKGUpe2VbZS5QaW5nSW50ZXJ2YWw9MWU0XT0iUGluZ0ludGVydmFsIixlW2UuTWF4UGluZ3NDb3VudD0xMF09Ik1heFBpbmdzQ291bnQiLGVbZS5NYXhSZWRpcmVjdHM9MjBdPSJNYXhSZWRpcmVjdHMiLGVbZS5NYXhSZWNvbm5lY3RzPTIwXT0iTWF4UmVjb25uZWN0cyJ9KHl8fCh5PXt9KSk7Y2xhc3MgVHtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuX3F1ZXVlU3RhY2s9W10sdGhpcy5fbG9nc1F1ZXVlPVtdLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXSx0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MCx0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLl9pbml0aWFsSG9zdD10LmluaXRpYWxIb3N0fHxudWxsLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9ZSx0aGlzLl9wcm9Ib3N0PXQucHJvSG9zdCx0aGlzLl9yZWNvbm5lY3RIb3N0PXQucmVjb25uZWN0SG9zdCx0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dD0hMD09PXQubm9SZWNvbm5lY3RBZnRlclRpbWVvdXQsdGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0PXQuZGF0YVJlcXVlc3RUaW1lb3V0LHRoaXMuX2Nvbm5lY3Rpb25UeXBlPXQuY29ubmVjdGlvblR5cGUsdGhpcy5fYXBpS2V5PXQuYXBpS2V5LHRoaXMuX2RvQ29ubmVjdCgpLHQucGluZ1JlcXVpcmVkJiYtMT09PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigibm9waW5nIikmJnRoaXMuX3N0YXJ0UGluZygpfWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCl9cmVzZXRDb3VudGVycygpe3RoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wfXNldExvZ2dlcihlLHQpe3RoaXMuX2xvZ2dlcj1lLHRoaXMuX2dldExvZ0hpc3Rvcnk9dCx0aGlzLl9mbHVzaExvZ3MoKX1zZXRUZWxlbWV0cnkoZSl7dGhpcy5fdGVsZW1ldHJ5PWUsdGhpcy5fdGVsZW1ldHJ5LnJlcG9ydFNlbnQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25UZWxlbWV0cnlTZW50KSx0aGlzLl9mbHVzaFRlbGVtZXRyeSgpfW9uUmVjb25uZWN0KGUpe3RoaXMuX29uUmVjb25uZWN0PWV9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl9aXNDb25uZWN0aW5nKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKX1vbihlLHQpe3JldHVybiEhdGhpcy5fc29ja2V0JiYoImNvbm5lY3QiPT09ZSYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCk/dCgpOiJkaXNjb25uZWN0Ij09PWU/dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpOnRoaXMuX3NvY2tldC5vbihlLHQpLCEwKX1nZXRTZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQudHJhbnNwb3J0P3RoaXMuX3NvY2tldC50cmFuc3BvcnQuc2Vzc2lvbmlkOm51bGx9c2VuZChlKXtyZXR1cm4gdGhpcy5pc0Nvbm5lY3RlZCgpPyh0aGlzLl9zb2NrZXQuc2VuZChlKSwhMCk6KHRoaXMuX3F1ZXVlTWVzc2FnZShlKSwhMSl9CmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWR9Z2V0SG9zdCgpe2NvbnN0IGU9dGhpcy5fdHJ5R2V0UHJvSG9zdCgpO3JldHVybiBudWxsIT09ZT9lOnRoaXMuX3JlY29ubmVjdEhvc3QmJnRoaXMuX3JlY29ubmVjdENvdW50PjM/dGhpcy5fcmVjb25uZWN0SG9zdDp0aGlzLl9zdWdnZXN0ZWRIb3N0fWdldFJlY29ubmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50fWdldFJlZGlyZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudH1nZXRDb25uZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvblN0YXJ0fWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSwodGhpcy5pc0Nvbm5lY3RlZCgpfHx0aGlzLmlzQ29ubmVjdGluZygpKSYmKHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nsb3NlU29ja2V0KCkpfWZvcmJpZENvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITAsdGhpcy5kaXNjb25uZWN0KCl9YWxsb3dDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuY29ubmVjdCgpfWlzTWF4UmVkaXJlY3RzKCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQ+PTIwfWlzTWF4UmVjb25uZWN0cygpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudD49MjB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fcGluZ0luZm98fG51bGx9Z2V0QXBpS2V5KCl7cmV0dXJuIHRoaXMuX2FwaUtleX1fdHJ5R2V0UHJvSG9zdCgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmImJhdHRsZSI9PT13aW5kb3cuZW52aXJvbm1lbnQmJiF0aGlzLl9yZWRpcmVjdENvdW50JiYtMT09PXdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoIndzX2hvc3QiKT90aGlzLl9pbml0aWFsSG9zdD90aGlzLl9pbml0aWFsSG9zdDp2b2lkIDAhPT13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW4/dGhpcy5fcHJvSG9zdHx8dGhpcy5fc3VnZ2VzdGVkSG9zdDpudWxsOm51bGx9X3F1ZXVlTWVzc2FnZShlKXswPT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJnRoaXMuX2xvZ01lc3NhZ2UoMCwiU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQuIFF1ZXVlZCBhIG1lc3NhZ2UiKSx0aGlzLl9xdWV1ZVN0YWNrLnB1c2goZSl9X3Byb2Nlc3NNZXNzYWdlUXVldWUoKXswIT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJih0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NpbmcgcXVldWVkIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjay5mb3JFYWNoKHRoaXMuc2VuZC5iaW5kKHRoaXMpKSx0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NlZCAiK3RoaXMuX3F1ZXVlU3RhY2subGVuZ3RoKyIgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrPVtdKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0fHxudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dHx8KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl90cnlSZWNvbm5lY3QuYmluZCh0aGlzKSw1ZTMpKSx0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCk7bGV0IHQ9ImRpc2Nvbm5lY3Qgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCk7ZSYmKHQrPSIsIGNvZGU6IitlLmNvZGUrIiwgcmVhc29uOiIrZS5yZWFzb24sMTAwNT09PWUuY29kZSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2NvZGVfMTAwNSIpKSx0aGlzLl9sb2dNZXNzYWdlKDAsdCksdGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdChlKSx0aGlzLl9jbG9zZVNvY2tldCgpLHRoaXMuX3F1ZXVlU3RhY2s9W119X2Nsb3NlU29ja2V0KCl7bnVsbCE9PXRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vZmZBbGwoKSx0aGlzLl9zb2NrZXQuZGlzY29ubmVjdCgpLHRoaXMuX3NvY2tldD1udWxsKX1fbG9nTWVzc2FnZShlLHQpe2NvbnN0IG49e21ldGhvZDplLG1lc3NhZ2U6dH07dGhpcy5fbG9nZ2VyP3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShuKToobi5tZXNzYWdlPWBbJHsobmV3IERhdGUpLnRvSVNPU3RyaW5nKCl9XSAke24ubWVzc2FnZX1gLHRoaXMuX2xvZ3NRdWV1ZS5wdXNoKG4pKX1fZmx1c2hMb2dNZXNzYWdlKGUpe3N3aXRjaChlLm1ldGhvZCl7Y2FzZSAyOnRoaXMuX2xvZ2dlci5sb2dEZWJ1ZyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMzp0aGlzLl9sb2dnZXIubG9nRXJyb3IoZS5tZXNzYWdlKTticmVhaztjYXNlIDA6dGhpcy5fbG9nZ2VyLmxvZ0luZm8oZS5tZXNzYWdlKTticmVhaztjYXNlIDE6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChlLm1lc3NhZ2UpfX1fZmx1c2hMb2dzKCl7dGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBTdGFydC4ifSksdGhpcy5fbG9nc1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaExvZ01lc3NhZ2UoZSl9KSksdGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBFbmQuIn0pLHRoaXMuX2xvZ3NRdWV1ZT1bXX1fc2VuZFRlbGVtZXRyeShlLHQpe2NvbnN0IG49e2V2ZW50OmUscGFyYW1zOnR9O3RoaXMuX3RlbGVtZXRyeT90aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChuKTp0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUucHVzaChuKX1fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl7dGhpcy5fdGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLmV2ZW50LGUucGFyYW1zLCExKX1fZmx1c2hUZWxlbWV0cnkoKXt0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpfSkpLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXX1fZG9Db25uZWN0KCl7CnRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfHx0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCkpfHwodGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX2hvc3Q9dGhpcy5nZXRIb3N0KCksdGhpcy5fc29ja2V0PW5ldyB3KHRoaXMuX2hvc3Qse3RpbWVvdXQ6dGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0LGNvbm5lY3Rpb25UeXBlOnRoaXMuX2Nvbm5lY3Rpb25UeXBlLGFwaUtleTp0aGlzLl9hcGlLZXl9KSx0aGlzLl9sb2dNZXNzYWdlKDAsIkNvbm5lY3RpbmcgdG8gIit0aGlzLl9ob3N0KSx0aGlzLl9iaW5kRXZlbnRzKCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fc29ja2V0LmNvbm5lY3QoKSxwZXJmb3JtYW5jZS5tYXJrKCJTV1NDIix7ZGV0YWlsOiJTdGFydCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSx0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e3BlcmZvcm1hbmNlLm1hcmsoIkVXU0MiLHtkZXRhaWw6IkVuZCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSxwZXJmb3JtYW5jZS5tZWFzdXJlKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBkZWxheSIsIlNXU0MiLCJFV1NDIil9KSkpfV9wcm9wYWdhdGVEaXNjb25uZWN0KGUpe2NvbnN0IHQ9dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5sZW5ndGg7Zm9yKGxldCBuPTA7bjx0O24rKyl0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzW25dKGV8fHt9KX1fYmluZEV2ZW50cygpe3RoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57Y29uc3QgZT10aGlzLmdldFNlc3Npb25JZCgpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO2lmKHQucmVkaXJlY3QpcmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQrPTEsdGhpcy5fc3VnZ2VzdGVkSG9zdD10LnJlZGlyZWN0LHRoaXMuaXNNYXhSZWRpcmVjdHMoKSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgicmVkaXJlY3RfYmFpbG91dCIpLHZvaWQgdGhpcy5fcmVkaXJlY3QoKX10aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiY29ubmVjdCBzZXNzaW9uOiIrZSl9KSksdGhpcy5fc29ja2V0Lm9uKCJkaXNjb25uZWN0Iix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJjbG9zZSIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiZXJyb3IiLChlPT57dGhpcy5fbG9nTWVzc2FnZSgwLG5ldyBEYXRlKyIgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCkrIiB3ZWJzb2NrZXQgZXJyb3I6IitKU09OLnN0cmluZ2lmeShlKSksdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yIiksdGhpcy5fZXJyb3JzQ291bnQrKywhdGhpcy5fZXJyb3JzSW5mb1NlbnQmJnRoaXMuX2Vycm9yc0NvdW50Pj1mJiYodm9pZCAwIT09dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2smJih0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfY29ubmVjdF9zdGFjayIse3RleHQ6dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2t9KSxkZWxldGUgdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2spLHZvaWQgMCE9PXRoaXMuX2dldExvZ0hpc3RvcnkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9sb2ciLHt0ZXh0OnRoaXMuX2dldExvZ0hpc3RvcnkoNTApLmpvaW4oIlxuIil9KSx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMCl9KSkpfV9yZWRpcmVjdCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKX1fdHJ5UmVjb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpJiYodGhpcy5fcmVjb25uZWN0Q291bnQrPTEpfV90cnlDb25uZWN0KCl7cmV0dXJuIXRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbiYmKHRoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrPW5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Qgc3RhY2suIElzIGNvbm5lY3RlZDogJHt0aGlzLmlzQ29ubmVjdGVkKCl9LmApLnN0YWNrfHwiIiwhdGhpcy5pc0Nvbm5lY3RlZCgpJiYodGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpLCEwKSl9X2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKXt0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbiYmKHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCl9X2NsZWFyUmVjb25uZWN0VGltZW91dCgpe251bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCl9X3JlY29ubmVjdFdoZW5PbmxpbmUoKXtpZihuYXZpZ2F0b3Iub25MaW5lKXJldHVybiB0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHZvaWQodGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCkpO3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPWZ1bmN0aW9uKGUpe2xldCB0PWU7Y29uc3Qgbj0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLCgpPT57dD1udWxsfX0oKCgpPT57dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1cyBjaGFuZ2VkIHRvIG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCl9KSl9Cl9vblRlbGVtZXRyeVNlbnQoZSl7IndlYnNvY2tldF9lcnJvciJpbiBlJiYodGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSl9X3N0YXJ0UGluZygpe2lmKHRoaXMuX3BpbmdJbnRlcnZhbElkKXJldHVybjtjb25zdCBlPWsodGhpcy5nZXRIb3N0KCkpO2UucGF0aG5hbWUrPSJwaW5nIixlLnByb3RvY29sPSJodHRwczoiO2xldCB0PTAsbj0wO2NvbnN0IHM9ZT0+e3RoaXMuX3BpbmdJbmZvPXRoaXMuX3BpbmdJbmZvfHx7bWF4OjAsbWluOjEvMCxhdmc6MH07Y29uc3Qgcz0obmV3IERhdGUpLmdldFRpbWUoKS1lO3M+dGhpcy5fcGluZ0luZm8ubWF4JiYodGhpcy5fcGluZ0luZm8ubWF4PXMpLHM8dGhpcy5fcGluZ0luZm8ubWluJiYodGhpcy5fcGluZ0luZm8ubWluPXMpLHQrPXMsbisrLHRoaXMuX3BpbmdJbmZvLmF2Zz10L24sbj49MTAmJnRoaXMuX3BpbmdJbnRlcnZhbElkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9waW5nSW50ZXJ2YWxJZCksZGVsZXRlIHRoaXMuX3BpbmdJbnRlcnZhbElkKX07dGhpcy5fcGluZ0ludGVydmFsSWQ9c2V0SW50ZXJ2YWwoKCgpPT57Y29uc3QgdD0obmV3IERhdGUpLmdldFRpbWUoKSxuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oIkdFVCIsZSwhMCksbi5zZW5kKCksbi5vbnJlYWR5c3RhdGVjaGFuZ2U9KCk9PntuLnJlYWR5U3RhdGU9PT1YTUxIdHRwUmVxdWVzdC5ET05FJiYyMDA9PT1uLnN0YXR1cyYmcyh0KX19KSwxZTQpfX0KY29uc3QgQz0id2lkZ2V0X3VzZXJfdG9rZW4tIix2PUpTT04ucGFyc2UoJ3siYWR4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4IiwiYWR4RCI6IndpZGdldF91c2VyX3Rva2VuLWFkeEQiLCJhZ2VuY2lhbGJtY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZ2VuY2lhbGJtY29tYnIiLCJhbGphemlyYWNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsRCIsImFsamF6aXJhY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsUlQiLCJhbHJhamhpY2FwaXRhbGNvbUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbUQiLCJhbHJhamhpY2FwaXRhbGNvbVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21SVCIsImFtYml0byI6IndpZGdldF91c2VyX3Rva2VuLWFtYml0byIsImFyZW5heHRybyI6IndpZGdldF91c2VyX3Rva2VuLWFyZW5heHRybyIsImFydGVjaGVjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1BcnRlY2hlRCIsImF0bGNhcGl0YWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1hdGxjYXBpdGFsIiwiYmFua2lyb3NydSI6IndpZGdldF91c2VyX3Rva2VuLWJhbmtpcm9zcnUiLCJiYnZhY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1iYnZhY2giLCJiZWVrc2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmVla3Nncm91cCIsImJlbHVnYWdyb3VwcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWx1Z2Fncm91cHJ1IiwiYml2YWNvbSI6IndpZGdldF91c2VyX3Rva2VuLWJpdmFjb20iLCJibHVlZmllbGQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlZmllbGQiLCJibHVlbGluZWZ1dHVyZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlbGluZWZ1dHVyZXMiLCJib3Zlc3BhIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm1mYm92ZXNwYWNvbWJyIiwiYnZicm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1idmJybyIsImJ5dGV0cmF2ZWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1ieXRldHJhdmVsIiwiY2JvZWNhbmFkYSI6IndpZGdldF91c2VyX3Rva2VuLWNib2VjYW5hZGEiLCJjaGFtcGlvbm5hdGJvdXJzZSI6IndpZGdldF91c2VyX3Rva2VuLWNoYW1waW9ubmF0Ym91cnNlIiwiY2luY29kaWFzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2luY29kaWFzIiwiY2VvY2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FEIiwiY2VvY2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhUlQiLCJjbWNtYXJrZXRzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY21jbWFya2V0cyIsImNvcGVlcyI6IndpZGdldF91c2VyX3Rva2VuLWNvcGVlcyIsImNzZWxrIjoid2lkZ2V0X3VzZXJfdG9rZW4tY3NlbGsiLCJkYWlseWZ4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZGFpbHlmeCIsImRlZXBzZWFyY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1kZWVwc2VhcmNoIiwiZGVyYXlhaGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWRlcmF5YWhjb20iLCJkZm1hZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZUQiLCJkZm1hZVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVSVCIsImRpbmFyc2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYUQiLCJkaW5hcnNhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhUlQiLCJkb2xhcmhveSI6IndpZGdldF91c2VyX3Rva2VuLWRvbGFyaG95IiwiZWFzeW52ZXN0Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1lYXN5bnZlc3Rjb21iciIsImVkYWlseSI6IndpZGdldF91c2VyX3Rva2VuLWVkYWlseSIsImVsZXNwYW5vbGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWVsZXNwYW5vbGNvbSIsImVsb2JyZXJvZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbG9icmVyb2VzIiwiZWxuYWNpb25hbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1FbE5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBhaXNmaW5hbmNpZXJvIiwiZWxwZXJpb2RpY29kZWxhZW5lcmdpYSI6IndpZGdldF91c2VyX3Rva2VuLWVscGVyaW9kaWNvZGVsYWVuZXJnaWEiLCJldXF1ZXJvaW52ZXN0aXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXF1ZXJvaW52ZXN0aXJjb20iLCJldXJleCI6IndpZGdldF91c2VyX3Rva2VuLWV1cmV4IiwiZXVyb2ZpbnMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvZmlucyIsImVwZSI6IndpZGdldF91c2VyX3Rva2VuLWVwZSIsImV1cm9wYXByZXNzZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvcGFwcmVzc2VzIiwiZmluYW56YXNEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRmluYW56YXNEIiwiZm9yYmVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1mb3JiZXNjb21iciIsImdlbmlhbGludmVzdGltZW50b3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1nZW5pYWxpbnZlc3RpbWVudG9zIiwiaGVhbHRoaXRhbGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVhbHRoaXRhbGlhIiwiaGVnbmFybm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWduYXJubyIsImhpcG90ZWNhcmlvY29tYXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1oaXBvdGVjYXJpb2NvbWFyIiwiaWdjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1pZ2NvbSIsImludmVzdGVnYXRlY291ayI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdGVnYXRlY291ayIsImludmVzdG9wZWRpYSI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdG9wZWRpYSIsImludGVncmFseWF0aXJpbSI6IndpZGdldF91c2VyX3Rva2VuLWludGVncmFseWF0aXJpbSIsIml2c2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4taXZzZ3JvdXAiLCJqc2Vjb3phIjoid2lkZ2V0X3VzZXJfdG9rZW4tanNlY296YSIsImJvZXJzZW56ZWl0dW5nIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm9lcnNlbnplaXR1bmciLCJsYWluZm9ybWFjaW9uY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbGFpbmZvcm1hY2lvbmNvbSIsIm1hcmNvcG9sb2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWFyY29wb2xvY29tYnIiLCJtZXJjYWRvZmluYW5jaWVyb2NvbSI6IndpZGdldF91c2VyX3Rva2VuLW1lcmNhZG9maW5hbmNpZXJvY29tIiwibW9leCI6IndpZGdldF91c2VyX3Rva2VuLW1vZXgiLCJtb25leXRpbWVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25leXRpbWVzY29tYnIiLCJtb25pdG9yZG9tZXJjYWRvRCI6IndpZGdldF91c2VyX3Rva2VuLW1vbml0b3Jkb21lcmNhZG9EIiwibXluZXRjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1teW5ldGNvbSIsIm5lZ29jaW9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tbmVnb2Npb3MiLCJOR1giOiJ3aWRnZXRfdXNlcl90b2tlbi1OR1giLCJOb3RpY2lhc2Fncmljb2xhRCI6IndpZGdldF91c2VyX3Rva2VuLW5vdGljaWFzYWdyaWNvbGFEIiwibm9tbW9tYSI6IndpZGdldF91c2VyX3Rva2VuLW5vbW1vbWEiLCJuc2Vjb2tyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbnNlY29rciIsIm9rZGlhcmlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tb2tkaWFyaW8iLCJwYW5hZnJpY2FucmVzb3VyY2VzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tcGFuYWZyaWNhbnJlc291cmNlc2NvbSIsInBzZSI6IndpZGdldF91c2VyX3Rva2VuLXBzZSIsInBvZGVyMzYwIjoid2lkZ2V0X3VzZXJfdG9rZW4tcG9kZXIzNjAiLCJwc2VEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlRCIsInJpeWFkaGNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbEQiLCJyaXlhZGhjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsUlQiLCJxZWNvbXFhIjoid2lkZ2V0X3VzZXJfdG9rZW4tcWVjb21xYSIsInNhbW9sZXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zYW1vbGV0Iiwic2VlaW5nbWFjaGluZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZWVpbmdtYWNoaW5lc2NvbSIsInNldWRpbmhlaXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2V1ZGluaGVpcm8iLCJzb2Z0d2FyZWFnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29mdHdhcmVhZyIsInNvZ2VjbGFpciI6IndpZGdldF91c2VyX3Rva2VuLXNvZ2VjbGFpciIsInNnY29tcGFueWl0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2djb21wYW55aXQiLCJzaGFyZWp1bmN0aW9uIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2hhcmVqdW5jdGlvbiIsInNtYXJ0bGFiLWN1c3RvbSI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic21hcnRsYWIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNwYWNlbW9uZXljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXNwYWNlbW9uZXljb21iciIsInN0b25leHdkZyI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leMKjLSF3d3cuc3RvbmV4LmNvbSIsInN0b3hpbyI6IndpZGdldF91c2VyX3Rva2VuLXN0b3hpbyIsInN0b25leCI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leCIsInRvcm9pbnZlc3RpbWVudG9zY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdG9yb2ludmVzdGltZW50b3Njb20iLCJ0aGVjc2Vjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10aGVjc2Vjb20iLCJ0cmFkZXJzY2x1YmJyYXNpbCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsIiwidHJhZGVyc2NsdWJicmFzaWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWxEIiwidHJhZGluZ3ZpZXciOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkaW5ndmlldyIsInh0b29scyI6IndpZGdldF91c2VyX3Rva2VuLXh0b29scyIsInR3aXR0ZXIiOiJ3aWRnZXRfdXNlcl90b2tlbi10d2l0dGVyIiwidmVsb2NpdHljb21wb3NpdGVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdmVsb2NpdHljb21wb3NpdGVzY29tIiwidm9jZXNhYWJyaWxjb21iciI6IndpZGdldF91c2VyX3Rva2VuLXZvY2VzYWFicmlsY29tYnIiLCJ3ZWFsdGhzaW1wbGUiOiJ3aWRnZXRfdXNlcl90b2tlbi13ZWFsdGhzaW1wbGXCoy0hbXkud2VhbHRoc2ltcGxlLmNvbSIsIndvcmxkY2hlc3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi13b3JsZGNoZXNzY29tIiwieENydHlKa3NwIjoid2lkZ2V0X3VzZXJfdG9rZW4teENydHlKa3NwIiwieHBpY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi14cGljb21iciJ9Jylbd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiXXx8IiIsUz12LnN0YXJ0c1dpdGgoQyk/di5zdWJzdHJpbmcoMTgpOiJ0cmFkaW5ndmlldyIKO3dpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uPW5ldyBUKHdpbmRvdy5XRUJTT0NLRVRfSE9TVCx7cGluZ1JlcXVpcmVkOndpbmRvdy5XU19IT1NUX1BJTkdfUkVRVUlSRUQscHJvSG9zdDp3aW5kb3cuV0VCU09DS0VUX1BST19IT1NULHJlY29ubmVjdEhvc3Q6d2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QsaW5pdGlhbEhvc3Q6d2luZG93LldFQlNPQ0tFVF9JTklUSUFMX0hPU1QsY29ubmVjdGlvblR5cGU6d2luZG93LldFQlNPQ0tFVF9DT05ORUNUSU9OX1RZUEUsYXBpS2V5OlN9KSx3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbkN0b3I9VH0pKCk7Cgk8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KCTxzY3JpcHQgbm9uY2U9ImhEakY1V2R1M21PMUdjSDhIaG9uQlE9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IHQ9MTAxOTt2YXIgZSxzLG8sYSxkOyFmdW5jdGlvbih0KXt0LkFkYXB0aXZlPSJhZGFwdGl2ZSIsdC5SZWd1bGFyPSJyZWd1bGFyIix0LkNvbXBhY3Q9ImNvbXBhY3QifShlfHwoZT17fSkpLGZ1bmN0aW9uKHQpe3QuQWxsU3ltYm9scz0iYWxsX3N5bWJvbHMiLHQuTWFya2V0PSJtYXJrZXQiLHQuU3ltYm9sPSJzeW1ib2wifShzfHwocz17fSkpLGZ1bmN0aW9uKHQpe3QuQ3J5cHRvY3VycmVuY2llcz0iY3J5cHRvIix0LkN1cnJlbmNpZXM9ImZvcmV4Iix0LlN0b2Nrcz0ic3RvY2siLHQuSW5kaWNlcz0iaW5kZXgiLHQuRnV0dXJlcz0iZnV0dXJlcyIsdC5Cb25kcz0iY2ZkIn0ob3x8KG89e30pKSxmdW5jdGlvbih0KXt0LkhUTUw9Imh0bWwiLHQuUmVhY3Q9InJlYWN0In0oYXx8KGE9e30pKSxmdW5jdGlvbih0KXt0LlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGR8fChkPXt9KSk7Y29uc3QgYz13aW5kb3c7Yy5pbml0RGF0YT1jLmluaXREYXRhfHx7fTtsZXQgaT1jLmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihjLmluaXREYXRhLndpZGdldERlZmF1bHRzJiYoaT17Li4uYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cywuLi5pfSksdm9pZCAwIT09aSl7aWYodm9pZCAwIT09aS5jb2xvclRoZW1lJiZmdW5jdGlvbih0LGU9d2luZG93KXtjb25zdCBzPSJ0aGVtZS0iK3Qsbz1lLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbShvKSl0LnN0YXJ0c1dpdGgoInRoZW1lLSIpJiZ0IT09cyYmby5yZW1vdmUodCk7by5hZGQocyksZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT10fShpLmNvbG9yVGhlbWUpLChpLmlzVHJhbnNwYXJlbnR8fGkudHJhbnNwYXJlbmN5KSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXRyYW5zcGFyZW50Iiksdm9pZCAwIT09aS5kaXNwbGF5TW9kZSYmZnVuY3Rpb24ocyxvKXtpZihvPT09ZS5BZGFwdGl2ZSl7Y29uc3QgZT13aW5kb3cubWF0Y2hNZWRpYShgKG1heC13aWR0aDogJHt0fXB4KWApLG89KCk9PntzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIiwhZS5tYXRjaGVzKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixlLm1hdGNoZXMpfTtvKCksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG8pfWVsc2Ugcy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsbz09PWUuUmVndWxhcikscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsbz09PWUuQ29tcGFjdCl9KGRvY3VtZW50LmJvZHksaS5kaXNwbGF5TW9kZSksaS5ib2R5Q2xhc3Nlcylmb3IoY29uc3QgdCBvZiBpLmJvZHlDbGFzc2VzKWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0KTtpLmJvZHlfY2xhc3MmJmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChpLmJvZHlfY2xhc3MpLGkuYm9keUlkJiYoZG9jdW1lbnQuYm9keS5pZD1pLmJvZHlJZCl9fSkoKTsKCTwvc2NyaXB0PgoKCjxzY3JpcHQgbm9uY2U9ImhEakY1V2R1M21PMUdjSDhIaG9uQlE9PSI+Cgl3aW5kb3cuaW5pdERhdGEgPSB3aW5kb3cuaW5pdERhdGEgfHwge307CgoJd2luZG93LmluaXREYXRhLnNub3dwbG93U2V0dGluZ3MgPSB7CgkJY29sbGVjdG9ySWQ6ICd0dl9jZicsCgkJdXJsOiAnc25vd3Bsb3ctcGl4ZWwudHJhZGluZ3ZpZXcuY29tJywKCQlwYXJhbXM6IHsKCQkJYXBwSWQ6ICd0cmFkaW5ndmlldycsCgkJCXBvc3RQYXRoOiAnL2NvbS50cmFkaW5ndmlldy90cmFjaycsCgkJfSwKCQllbmFibGVkOiB0cnVlLAoJfQo8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4="}},"time_used":499,"timings":{"blocked":-1,"dns":12,"connect":9,"send":0,"wait":460,"receive":0,"ssl":18},"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.72","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.931Z","timestamp":1785120761931,"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 02:52:42 GMT\r\nexpires: Mon, 27 Jul 2026 02:52:42 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: 166343\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":166947,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (6033)","md5":"bea43ed2cdab6de383dae5b43f7f7ea7","sha1":"fee133e8e4885d721f6251298bbef7797126d1e6","sha256":"5324890457a4126c757b6c6f4eb68d2e58501802bffc02bc5018aa185d33c7e7","sha512":"d0948a7b1e160bd486f71a1c87caff66c4d8bb68becaffb75aa3875251a34474cba30ab51b8052c425e453911a1a804a7c746aee4ef7db3f95bb86f7c04f585a","ssdeep":"6144:/yHnRU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/8nC1WLP69VwqxVZOvg","tlshash":"aea4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","first_seen":"2026-07-27T02:47:36.009071Z","last_seen":"2026-07-27T05:31:38.817112Z","times_seen":129,"resource_available":true,"data":"Ci8vIENvcHlyaWdodCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKKGZ1bmN0aW9uKCl7Cgp2YXIgZGF0YSA9IHsKInJlc291cmNlIjogewogICJ2ZXJzaW9uIjoiMSIsCiAgCiAgIm1hY3JvcyI6W3siZnVuY3Rpb24iOiJfX2UifSx7ImZ1bmN0aW9uIjoiX19jIiwidnRwX3ZhbHVlIjoiZ29vZ2xlLm5vIn0seyJmdW5jdGlvbiI6Il9fYyIsInZ0cF92YWx1ZSI6MH1dLAogICJ0YWdzIjpbeyJmdW5jdGlvbiI6Il9fb2d0XzFwX2RhdGFfdjIiLCJwcmlvcml0eSI6MTMsInZ0cF9pc0F1dG9FbmFibGVkIjp0cnVlLCJ2dHBfYXV0b1Bob25lRW5hYmxlZCI6dHJ1ZSwidnRwX2F1dG9Db2xsZWN0RXhjbHVzaW9uU2VsZWN0b3JzIjpbImxpc3QiLFsibWFwIiwiZXhjbHVzaW9uU2VsZWN0b3IiLCIiXV0sInZ0cF9pc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvQWRkcmVzc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvRW1haWxFbmFibGVkIjp0cnVlLCJ2dHBfaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIjp0cnVlLCJ0YWdfaWQiOjR9LHsiZnVuY3Rpb24iOiJfX2NjZF9nYV9maXJzdCIsInByaW9yaXR5IjoxMiwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTh9LHsiZnVuY3Rpb24iOiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIiwicHJpb3JpdHkiOjExLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidnRwX2ZvcmVpZ25UbGRNYWNyb1Jlc3VsdCI6WyJtYWNybyIsMV0sInZ0cF9pc0NoaW5hVmlwUmVnaW9uTWFjcm9SZXN1bHQiOlsibWFjcm8iLDJdLCJ0YWdfaWQiOjE3fSx7ImZ1bmN0aW9uIjoiX19jY2RfZ2FfcmVnc2NvcGUiLCJwcmlvcml0eSI6MTAsInZ0cF9zZXR0aW5nc1RhYmxlIjpbImxpc3QiLFsibWFwIiwicmVkYWN0RmllbGRHcm91cCIsIkRFVklDRV9BTkRfR0VPIiwiZGlzYWxsb3dBbGxSZWdpb25zIixmYWxzZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXSxbIm1hcCIsInJlZGFjdEZpZWxkR3JvdXAiLCJHT09HTEVfU0lHTkFMUyIsImRpc2FsbG93QWxsUmVnaW9ucyIsdHJ1ZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXV0sInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE2fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZG93bmxvYWQiLCJwcmlvcml0eSI6OSwidnRwX2luY2x1ZGVQYXJhbXMiOnRydWUsInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE1fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZm9ybSIsInByaW9yaXR5Ijo4LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTR9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsInByaW9yaXR5Ijo3LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTN9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9wYWdlX3ZpZXciLCJwcmlvcml0eSI6NiwidnRwX2hpc3RvcnlFdmVudHMiOnRydWUsInZ0cF9pbmNsdWRlUGFyYW1zIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjoxMn0seyJmdW5jdGlvbiI6Il9fY2NkX2VtX3Njcm9sbCIsInByaW9yaXR5Ijo1LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTF9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsInByaW9yaXR5Ijo0LCJ2dHBfc2VhcmNoUXVlcnlQYXJhbXMiOiJxLHMsc2VhcmNoLHF1ZXJ5LGtleXdvcmQiLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTB9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV92aWRlbyIsInByaW9yaXR5IjozLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6OX0seyJmdW5jdGlvbiI6Il9fY2NkX2NvbnZlcnNpb25fbWFya2luZyIsInByaW9yaXR5IjoyLCJ2dHBfY29udmVyc2lvblJ1bGVzIjpbImxpc3QiLFsibWFwIiwibWF0Y2hpbmdSdWxlcyIsIntcInR5cGVcIjo1LFwiYXJnc1wiOlt7XCJzdHJpbmdWYWx1ZVwiOlwiY2xvc2VfY29udmVydF9sZWFkXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il0sWyJtYXAiLCJtYXRjaGluZ1J1bGVzIiwie1widHlwZVwiOjUsXCJhcmdzXCI6W3tcInN0cmluZ1ZhbHVlXCI6XCJxdWFsaWZ5X2xlYWRcIn0se1wiY29udGV4dFZhbHVlXCI6e1wibmFtZXNwYWNlVHlwZVwiOjEsXCJrZXlQYXJ0c1wiOltcImV2ZW50TmFtZVwiXX19XX0iXSxbIm1hcCIsIm1hdGNoaW5nUnVsZXMiLCJ7XCJ0eXBlXCI6NSxcImFyZ3NcIjpbe1wic3RyaW5nVmFsdWVcIjpcInB1cmNoYXNlXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il1dLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo4fSx7ImZ1bmN0aW9uIjoiX19jY2RfYXV0b19yZWRhY3QiLCJwcmlvcml0eSI6MSwidnRwX3JlZGFjdEVtYWlsIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo3fSx7ImZ1bmN0aW9uIjoiX19nY3QiLCJ2dHBfdHJhY2tpbmdJZCI6IkctVjg0WFA4V0dYWSIsInZ0cF9zZXNzaW9uRHVyYXRpb24iOjAsInRhZ19pZCI6MX0seyJmdW5jdGlvbiI6Il9fY2NkX2dhX2xhc3QiLCJwcmlvcml0eSI6MCwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6Nn1dLAogICJwcmVkaWNhdGVzIjpbeyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmpzIn0seyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmluaXQifV0sCiAgInJ1bGVzIjpbW1siaWYiLDBdLFsiYWRkIiwxM11dLFtbImlmIiwxXSxbImFkZCIsMCwxNCwxMiwxMSwxMCw5LDgsNyw2LDUsNCwzLDIsMV1dXQp9LAoicnVudGltZSI6WyBbNTAsIl9fYyIsWzQ2LCJhIl0sWzM2LFsxNyxbMTUsImEiXSwidmFsdWUiXV1dCiAsWzUwLCJfX2NjZF9hdXRvX3JlZGFjdCIsWzQ2LCJhIl0sWzUwLCJ2IixbNDYsImFGIl0sWzM2LFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJ1Il0sIlxcJDEiXV1dXSxbNTAsInciLFs0NiwiYUYiXSxbNTIsImFHIixbMzAsWyJjIixbMTUsImFGIl1dLFsxNSwiYUYiXV1dLFs1MiwiYUgiLFs3XV0sWzY1LCJhSSIsWzIsWzE1LCJhRyJdLCJzcGxpdCIsWzcsIiJdXSxbNDYsWzUzLFs1MiwiYUoiLFs3LFsidiIsWzE1LCJhSSJdXV1dLFs1MiwiYUsiLFsiZCIsWzE1LCJhSSJdXV0sWzIyLFsxMixbMTUsImFLIl0sWzQ1XV0sWzQ2LFs1MyxbMzYsWyJkIixbInYiLFsxNSwiYUYiXV1dXV1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbMTUsImFJIl1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbMTUsImFLIl1dXSxbMjIsWzIxLFsxNSwiYUkiXSxbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXSxbNDYsWzUzLFsyLFsxNSwiYUoiXSwicHVzaCIsWzcsWyJkIixbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXV1dXV0sWzQ2LFsyMixbMjEsWzE1LCJhSSJdLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbImQiLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dXV1dXV1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFKIl0sImxlbmd0aCJdLDFdLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMCxbMCwiKD86IixbMixbMTUsImFKIl0sImpvaW4iLFs3LCJ8Il1dXSwiKSJdXV1dXSxbNDYsWzUzLFsyLFsxNSwiYUgiXSwicHVzaCIsWzcsWzE2LFsxNSwiYUoiXSwwXV1dXV1dXV1dLFszNixbMixbMTUsImFIIl0sImpvaW4iLFs3LCIiXV1dXSxbNTAsIngiLFs0NiwiYUYiLCJhRyIsImFIIl0sWzUyLCJhSSIsWyJ6IixbMTUsImFGIl0sWzE1LCJhSCJdXV0sWzIyLFsyOCxbMTUsImFJIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjgsWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFs0MSwiYUoiXSxbMywiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNjUsImFLIixbMTUsImFHIl0sWzQ2LFs1MyxbNTIsImFMIixbNyxbInYiLFsxNSwiYUsiXV0sWyJ3IixbMTUsImFLIl1dXV0sWzY1LCJhTSIsWzE1LCJhTCJdLFs0NixbNTMsWzUyLCJhTiIsWzMwLFsxNixbMTUsInQiXSxbMTUsImFNIl1dLFs0MyxbMTUsInQiXSxbMTUsImFNIl0sWyJiIixbMCxbMCwiKFs/Jl0iLFsxNSwiYU0iXV0sIj0pKFteJl0qKSJdLCJnaSJdXV1dLFszLCJhSiIsWzIsWzE1LCJhSiJdLCJyZXBsYWNlIixbNyxbMTUsImFOIl0sWzAsIiQxIixbMTUsInIiXV1dXV1dXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjAsWzE2LFsxNSwiYUoiXSwwXSwiJiJdLFs0NixbMywiYUoiLFsyLFsxNSwiYUoiXSwic3Vic3RyaW5nIixbNywxXV1dXV0sWzIyLFsyMSxbMTYsWzE1LCJhSiJdLDBdLCI/Il0sWzQ2LFszLCJhSiIsWzAsIj8iLFsxNSwiYUoiXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sIj8iXSxbNDYsWzMsImFKIiwiIl1dXSxbNDMsWzE1LCJhSSJdLCJzZWFyY2giLFsxNSwiYUoiXV0sWzM2LFsiYUEiLFsxNSwiYUkiXSxbMTUsImFIIl1dXV0sWzUwLCJ6IixbNDYsImFGIiwiYUciXSxbMjIsWzIwLFsxNSwiYUciXSxbMTcsWzE1LCJzIl0sIlBBVEgiXV0sWzQ2LFs1MyxbMywiYUYiLFswLFsxNSwieSJdLFsxNSwiYUYiXV1dXV1dLFszNixbImYiLFsxNSwiYUYiXV1dXSxbNTAsImFBIixbNDYsImFGIiwiYUciXSxbNDEsImFIIl0sWzMsImFIIiwiIl0sWzIyLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJVUkwiXV0sWzQ2LFs1MyxbNDEsImFJIl0sWzMsImFJIiwiIl0sWzIyLFszMCxbMTcsWzE1LCJhRiJdLCJ1c2VybmFtZSJdLFsxNyxbMTUsImFGIl0sInBhc3N3b3JkIl1dLFs0NixbNTMsWzMsImFJIixbMCxbMTUsImFJIl0sWzAsWzAsWzAsWzE3LFsxNSwiYUYiXSwidXNlcm5hbWUiXSxbMzksWzE3LFsxNSwiYUYiXSwicGFzc3dvcmQiXSwiOiIsIiJdXSxbMTcsWzE1LCJhRiJdLCJwYXNzd29yZCJdXSwiQCJdXV1dXV0sWzMsImFIIixbMCxbMCxbMCxbMTcsWzE1LCJhRiJdLCJwcm90b2NvbCJdLCIvLyJdLFsxNSwiYUkiXV0sWzE3LFsxNSwiYUYiXSwiaG9zdCJdXV1dXV0sWzM2LFswLFswLFswLFsxNSwiYUgiXSxbMTcsWzE1LCJhRiJdLCJwYXRobmFtZSJdXSxbMTcsWzE1LCJhRiJdLCJzZWFyY2giXV0sWzE3LFsxNSwiYUYiXSwiaGFzaCJdXV1dLFs1MCwiYUIiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJuIl0sWzE1LCJyIl1dXV0sWzIyLFszMCxbMjAsWzE1LCJhRyJdLFsxNyxbMTUsInMiXSwiVVJMIl1dLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJQQVRIIl1dXSxbNDYsWzUzLFs1MiwiYUkiLFsieiIsWzE1LCJhSCJdLFsxNSwiYUciXV1dLFsyMixbMjAsWzE1LCJhSSJdLFs0NF1dLFs0NixbMzYsWzE1LCJhSCJdXV1dLFs1MiwiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNTIsImFLIixbMixbMTUsImFKIl0sInJlcGxhY2UiLFs3LFsxNSwibyJdLFsxNSwiciJdXV1dLFsyMixbMjAsWzE1LCJhSiJdLFsxNSwiYUsiXV0sWzQ2LFszNixbMTUsImFIIl1dXV0sWzQzLFsxNSwiYUkiXSwic2VhcmNoIixbMTUsImFLIl1dLFszLCJhSCIsWyJhQSIsWzE1LCJhSSJdLFsxNSwiYUciXV1dXV1dLFszNixbMTUsImFIIl1dXSxbNTAsImFDIixbNDYsImFGIl0sWzIyLFsyMCxbMTUsImFGIl0sWzE1LCJxIl1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiUEFUSCJdXV1dLFs0NixbMjIsWzIxLFsyLFsxNSwicCJdLCJpbmRleE9mIixbNyxbMTUsImFGIl1dXSxbMjcsMV1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiVVJMIl1dXV0sWzQ2LFs1MyxbMzYsWzE3LFsxNSwicyJdLCJURVhUIl1dXV1dXV1dLFs1MCwiYUQiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLGZhbHNlXSxbNTIsImFJIixbImUiLFsxNSwiYUYiXV1dLFszOCxbMTUsImFJIl0sWzQ2LCJzdHJpbmciLCJhcnJheSIsIm9iamVjdCJdLFs0NixbNSxbNDYsWzUyLCJhSiIsWyJhQiIsWzE1LCJhRiJdLFsxNSwiYUciXV1dLFsyMixbMjEsWzE1LCJhRiJdLFsxNSwiYUoiXV0sWzQ2LFs1MyxbMzYsWzE1LCJhSiJdXV1dXSxbNF1dXSxbNSxbNDYsWzUzLFs0MSwiYUsiXSxbMywiYUsiLDBdLFs2MyxbNywiYUsiXSxbMjMsWzE1LCJhSyJdLFsxNyxbMTUsImFGIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJhSyJdLFszLCJhSyIsWzAsWzE1LCJhSyJdLDFdXV0sWzQ2LFs1MyxbNTIsImFMIixbImFEIixbMTYsWzE1LCJhRiJdLFsxNSwiYUsiXV0sWzE3LFsxNSwicyJdLCJURVhUIl1dXSxbMjIsWzIxLFsxNSwiYUwiXSxbNDRdXSxbNDYsWzUzLFs0MyxbMTUsImFGIl0sWzE1LCJhSyJdLFsxNSwiYUwiXV0sWzMsImFIIix0cnVlXV1dXV1dXV0sWzRdXV0sWzUsWzQ2LFs1NCwiYUsiLFsxNSwiYUYiXSxbNDYsWzUzLFs1MiwiYUwiLFsiYUQiLFsxNixbMTUsImFGIl0sWzE1LCJhSyJdXSxbMTcsWzE1LCJzIl0sIlRFWFQiXV1dLFsyMixbMjEsWzE1LCJhTCJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiYUYiXSxbMTUsImFLIl0sWzE1LCJhTCJdXSxbMywiYUgiLHRydWVdXV1dXV1dLFs0XV1dXV0sWzM2LFszOSxbMTUsImFIIl0sWzE1LCJhRiJdLFs0NF1dXV0sWzUwLCJhRSIsWzQ2LCJhRiIsImFHIl0sWzUyLCJhSCIsWzMwLFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQUMiXV1dLFs3XV1dLFsyMixbMjAsWzIsWzE1LCJhSCJdLCJpbmRleE9mIixbNyxbMTUsImFHIl1dXSxbMjcsMV1dLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMTUsImFHIl1dXV1dXSxbMixbMTUsImFGIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJoIl0sIkFDIl0sWzE1LCJhSCJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuY3JlYXRlUmVnZXgiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJkZWNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJlbmNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJlIixbInJlcXVpcmUiLCJnZXRUeXBlIl1dLFs1MiwiZiIsWyJyZXF1aXJlIiwicGFyc2VVcmwiXV0sWzUyLCJnIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiaCIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImkiLFsxNSwiX19tb2R1bGVfZ29sZEV2ZW50VXNhZ2VJZCJdXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFs1MiwiayIsWzE3LFsxNSwiYSJdLCJyZWRhY3RFbWFpbCJdXSxbNTIsImwiLFsxNyxbMTUsImEiXSwicmVkYWN0UXVlcnlQYXJhbXMiXV0sWzUyLCJtIixbMzksWzE1LCJsIl0sWzIsWzE1LCJsIl0sInNwbGl0IixbNywiLCJdXSxbN11dXSxbMjIsWzEsWzI4LFsxNyxbMTUsIm0iXSwibGVuZ3RoIl1dLFsyOCxbMTUsImsiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFs1MiwibiIsWyJiIiwiW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcXC5bQS1aXXsyLH0iLCJnaSJdXSxbNTIsIm8iLFsiYiIsWzAsIihbQS1aMC05Ll8tXXwlMjV8JTJCKSslNDBbQS1aMC05Li1dIiwiK1xcLltBLVpdezIsfSJdLCJnaSJdXSxbNTIsInAiLFs3LCJwYWdlX2xvY2F0aW9uIiwicGFnZV9yZWZlcnJlciIsInBhZ2VfcGF0aCIsImxpbmtfdXJsIiwidmlkZW9fdXJsIiwiZm9ybV9kZXN0aW5hdGlvbiJdXSxbNTIsInEiLCJwYWdlX3BhdGgiXSxbNTIsInIiLCIocmVkYWN0ZWQpIl0sWzUyLCJzIixbOCwiVEVYVCIsMCwiVVJMIiwxLCJQQVRIIiwyXV0sWzUyLCJ0IixbOF1dLFs1MiwidSIsWyJiIiwiKFtcXFxcXiQufD8qKygpe31dfFxcW3xcXFspIiwiZyJdXSxbNTIsInkiLCJodHRwOi8vLiJdLFsiZyIsWzE1LCJqIl0sWzUxLCIiLFs3LCJhRiJdLFsyMixbMTUsImsiXSxbNDYsWzUzLFs1MiwiYUciLFsyLFsxNSwiYUYiXSwiZ2V0SGl0S2V5cyIsWzddXV0sWzY1LCJhSCIsWzE1LCJhRyJdLFs0NixbNTMsWzIyLFsyMCxbMTUsImFIIl0sIl9zc3RfcGFyYW1ldGVycyJdLFs0NixbNl1dXSxbNTIsImFJIixbMixbMTUsImFGIl0sImdldEhpdERhdGEiLFs3LFsxNSwiYUgiXV1dXSxbMjIsWzI4LFsxNSwiYUkiXV0sWzQ2LFs2XV1dLFs1MiwiYUoiLFsiYUMiLFsxNSwiYUgiXV1dLFs1MiwiYUsiLFsiYUQiLFsxNSwiYUkiXSxbMTUsImFKIl1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbNDRdXSxbNDYsWzUzLFsyLFsxNSwiYUYiXSwic2V0SGl0RGF0YSIsWzcsWzE1LCJhSCJdLFsxNSwiYUsiXV1dLFsiYUUiLFsxNSwiYUYiXSxbMzksWzIsWzE1LCJhRiJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiaCJdLCJCTyJdXV0sWzE3LFsxNSwiaSJdLCJXIl0sWzE3LFsxNSwiaSJdLCJPIl1dXV1dXV1dXV1dXSxbMjIsWzE3LFsxNSwibSJdLCJsZW5ndGgiXSxbNDYsWzUzLFs2NSwiYUciLFsxNSwicCJdLFs0NixbNTMsWzUyLCJhSCIsWzIsWzE1LCJhRiJdLCJnZXRIaXREYXRhIixbNyxbMTUsImFHIl1dXV0sWzIyLFsyOCxbMTUsImFIIl1dLFs0NixbNl1dXSxbNTIsImFJIixbMzksWzIwLFsxNSwiYUciXSxbMTUsInEiXV0sWzE3LFsxNSwicyJdLCJQQVRIIl0sWzE3LFsxNSwicyJdLCJVUkwiXV1dLFs1MiwiYUoiLFsieCIsWzE1LCJhSCJdLFsxNSwibSJdLFsxNSwiYUkiXV1dLFsyMixbMjEsWzE1LCJhSiJdLFsxNSwiYUgiXV0sWzQ2LFs1MyxbMixbMTUsImFGIl0sInNldEhpdERhdGEiLFs3LFsxNSwiYUciXSxbMTUsImFKIl1dXSxbImFFIixbMTUsImFGIl0sWzM5LFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQk8iXV1dLFsxNyxbMTUsImkiXSwiWCJdLFsxNyxbMTUsImkiXSwiUCJdXV1dXV1dXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIixbNDYsImEiXSxbMjIsWzMwLFsyOCxbMTcsWzE1LCJhIl0sImNvbnZlcnNpb25SdWxlcyJdXSxbMjAsWzE3LFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sImxlbmd0aCJdLDBdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlQcmVIaXQiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJmIiwiZmlyc3RfdmlzaXQiXSxbNTIsImciLCJzZXNzaW9uX3N0YXJ0Il0sWzQxLCJoIl0sWzQxLCJpIl0sWyJkIixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdLFs1MSwiIixbNywiaiJdLFs1MiwiayIsWzgsInByZUhpdCIsWzE1LCJqIl1dXSxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiUCJdLHRydWVdXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVYiXSx0cnVlXV0sWzRdXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVoiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImgiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJmIl1dXSxbMywiaCIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImgiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkEiXSx0cnVlXV0sWzRdXV1dXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkwiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImkiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJnIl1dXSxbMywiaSIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImkiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQk0iXSx0cnVlXV0sWzRdXV1dXV1dXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXQogLFs1MCwiX19jY2RfZW1fZG93bmxvYWQiLFs0NiwiYSJdLFs1MCwicSIsWzQ2LCJ2Il0sWzM2LFsxLFsxNSwidiJdLFsyMSxbMixbMixbMTUsInYiXSwidG9Mb3dlckNhc2UiLFs3XV0sIm1hdGNoIixbNyxbMTUsInAiXV1dLFs0NV1dXV1dLFs1MCwiciIsWzQ2LCJ2Il0sWzUyLCJ3IixbMixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl0sInNwbGl0IixbNywiLiJdXV0sWzUyLCJ4IixbMzksWzE4LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sMV0sWzE2LFsxNSwidyJdLFszNyxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdLDFdXSwiIl1dLFszNixbMTYsWzIsWzE1LCJ4Il0sInNwbGl0IixbNywiLyJdXSwwXV1dLFs1MCwicyIsWzQ2LCJ2Il0sWzM2LFszOSxbMTIsWzIsWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLCJzdWJzdHJpbmciLFs3LDAsMV1dLCIvIl0sWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLFswLCIvIixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl1dXV1dLFs1MCwidCIsWzQ2LCJ2Il0sWzQxLCJ3Il0sWzMsInciLCIiXSxbMjIsWzEsWzE1LCJ2Il0sWzE3LFsxNSwidiJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ4Il0sWzMsIngiLFsyLFsxNyxbMTUsInYiXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsInciLFszOSxbMjMsWzE1LCJ4Il0sMF0sWzE3LFsxNSwidiJdLCJocmVmIl0sWzIsWzE3LFsxNSwidiJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsIngiXV1dXV1dXV0sWzM2LFsxNSwidyJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbURvd25sb2FkQWN0aXZpdHkiXV0sWzUyLCJmIixbMTcsWzE1LCJkIl0sIkEiXV0sWzUyLCJnIiwiZmlsZV9kb3dubG9hZCJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibCJdLCJBIixbNywiZG93bmxvYWQiXV1dLFs1MiwicCIsWzAsIl4ocGRmfHhsc3g/fGRvY3g/fHR4dHxydGZ8Y3N2fGV4ZXxrZXl8cHAoc3x0fHR4KXw3enxwa2d8cmFyfGd6fHppcHxhdml8IiwibW92fG1wNHxtcGU/Z3x3bXZ8bWlkaT98bXAzfHdhdnx3bWEpJCJdXSxbNTIsInUiLFsiayIsWzgsImNoZWNrVmFsaWRhdGlvbiIsdHJ1ZV1dXSxbMjIsWzI4LFsxNSwidSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImMiXSwic2V0SXRlbSIsWzcsWzE1LCJoIl0sdHJ1ZV1dLFsiaiIsImd0bS5saW5rQ2xpY2siLFs1MSwiIixbNywidiIsInciXSxbInciXSxbNTIsIngiLFs4LCJldmVudElkIixbMTYsWzE1LCJ2Il0sImd0bS51bmlxdWVFdmVudElkIl0sImRlZmVycmFibGUiLHRydWVdXSxbNTIsInkiLFsxNixbMTUsInYiXSwiZ3RtLmVsZW1lbnRVcmwiXV0sWzUyLCJ6IixbIm0iLFsxNSwieSJdXV0sWzIyLFsyOCxbMTUsInoiXV0sWzQ2LFszNl1dXSxbNTIsImFBIixbInIiLFsxNSwieiJdXV0sWzIyLFsyOCxbInEiLFsxNSwiYUEiXV1dLFs0NixbNTMsWzM2XV1dXSxbNTIsImFCIixbOCwibGlua19pZCIsWzE2LFsxNSwidiJdLCJndG0uZWxlbWVudElkIl0sImxpbmtfdXJsIixbInQiLFsxNSwieiJdXSwibGlua190ZXh0IixbMTYsWzE1LCJ2Il0sImd0bS5lbGVtZW50VGV4dCJdLCJmaWxlX25hbWUiLFsicyIsWzE1LCJ6Il1dLCJmaWxlX2V4dGVuc2lvbiIsWzE1LCJhQSJdXV0sWzIsWzE1LCJsIl0sIkIiLFs3LFsxNSwieCJdXV0sWyJuIixbMTUsIm8iXSxbMTUsImciXSxbMTUsImFCIl0sWzE1LCJ4Il1dXSxbMTUsInUiXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX2Zvcm0iLFs0NiwiYSJdLFs1MCwieCIsWzQ2LCJhTCJdLFs1MiwiYU0iLFszMCxbMTYsWzE1LCJhTCJdLFsxNSwiciJdXSxbOF1dXSxbNDMsWzE1LCJhTSJdLCJldmVudF91c2FnZSIsWzcsWzE3LFsxNSwiZyJdLCJIIl1dXSxbNDMsWzE1LCJhTCJdLFsxNSwiciJdLFsxNSwiYU0iXV1dLFs1MCwieSIsWzQ2LCJhTCIsImFNIl0sWzUyLCJhTiIsWzMwLFsxNixbMTUsImFMIl0sWzE1LCJyIl1dLFs4XV1dLFsyMixbMTYsWzE1LCJhTSJdLCJndG0uZm9ybUNhbmNlbGVkIl0sWzQ2LFs1MyxbNDMsWzE1LCJhTiJdLFsxNyxbMTUsImkiXSwiQUoiXSx0cnVlXV1dXSxbMixbMTUsInUiXSwiQiIsWzcsWzE1LCJhTCJdLFsxNSwiYU4iXV1dXSxbNTAsInoiLFs0NiwiYUwiLCJhTSIsImFOIl0sWzUyLCJhTyIsWzIsWzE1LCJ3Il0sImZpbHRlciIsWzcsWzUxLCIiLFs3LCJhUSJdLFszNixbMjAsWzIsWzE1LCJhUSJdLCJpbmRleE9mIixbNywiQVctIl1dLDBdXV1dXV0sWzIyLFsxOCxbMTcsWzE1LCJhTyJdLCJsZW5ndGgiXSwwXSxbNDYsWzUzLFsidiIsWzE1LCJhTyJdLFsxNSwiYUwiXSxbMTUsImFNIl0sWzE1LCJhTiJdXV1dXSxbNTIsImFQIixbMixbMTUsInciXSwiZmlsdGVyIixbNyxbNTEsIiIsWzcsImFRIl0sWzM2LFsyMSxbMixbMTUsImFRIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFQIl0sImxlbmd0aCJdLDBdLFs0NixbNTMsWzQzLFsxNSwiYU4iXSwiZGVmZXJyYWJsZSIsdHJ1ZV0sWyJ2IixbMTUsImFQIl0sWzE1LCJhTCJdLFsxNSwiYU0iXSxbMTUsImFOIl1dXV1dXSxbNTAsImFLIixbNDZdLFs1MiwiYUwiLFsibSIsWyJsIiwwLDIuMTQ3NDgzNjQ3RTldXV0sWzQxLCJhTSJdLFszLCJhTSIsMF0sWzM2LFs1MSwiIixbNywiYU4iXSxbMjIsWzIwLFsxNSwiYU4iXSxbMTUsInMiXV0sWzQ2LFs1MyxbMywiYU0iLFsiayJdXSxbMzYsWzAsWyJtIixbMTUsImFNIl1dLFsxNSwiYUwiXV1dXV0sWzQ2LFsyMixbMjAsWzE1LCJhTiJdLFsxNSwibyJdXSxbNDYsWzUzLFsyMixbMjAsWzE1LCJhTSJdLDBdLFs0NixbNTMsWzM2LFswLFsibSIsWyJrIl1dLFsxNSwiYUwiXV1dXV1dLFs1MiwiYU8iLFsiayJdXSxbMjIsWzIzLFszNyxbMTUsImFPIl0sWzE1LCJhTSJdXSwyMDBdLFs0NixbNTMsWzUyLCJhUCIsWzE1LCJhTSJdXSxbMywiYU0iLDBdLFszNixbMCxbIm0iLFsxNSwiYVAiXV0sWzE1LCJhTCJdXV1dXV0sWzMsImFNIiwwXSxbMzYsWzAsWyJtIixbMTUsImFPIl1dLFsxNSwiYUwiXV1dXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiYyIsWzE1LCJfX21vZHVsZV9jY2RFbUZvcm1BY3Rpdml0eSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2dvbGRFdmVudFVzYWdlSWQiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImoiLFsxNSwiX19tb2R1bGVfYWR3b3Jkc0hpdFR5cGUiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJnZXRUaW1lc3RhbXBNaWxsaXMiXV0sWzUyLCJsIixbInJlcXVpcmUiLCJnZW5lcmF0ZVJhbmRvbSJdXSxbNTIsIm0iLFsicmVxdWlyZSIsIm1ha2VTdHJpbmciXV0sWzUyLCJuIixbMTcsWzE1LCJoIl0sIkIiXV0sWzUyLCJvIiwiZm9ybV9zdWJtaXQiXSxbNTIsInAiLCJmb3JtX3N0YXJ0Il0sWzUyLCJxIiwiaXNSZWdpc3RlcmVkIl0sWzUyLCJyIiwiZXZlbnRNZXRhZGF0YSJdLFs1MiwicyIsImNsaWNrIl0sWzUyLCJ0IixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdXSxbMjIsWyJkIixbMTUsInQiXSxbMTUsIm4iXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsxNSwiYSJdLCJza2lwVmFsaWRhdGlvbiJdLFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIyLFsyLFsxNSwiZiJdLCJnZXRJdGVtIixbNyxbMTUsInEiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNyxbMTUsInEiXSx0cnVlXV0sWzUyLCJ1IixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJ2IixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwidyIsWzIsWzE1LCJ1Il0sIkEiLFs3LCJmb3JtIl1dXSxbNTIsImFBIixbOF1dLFs1MiwiYUIiLFs1MSwiIixbNywiYUwiLCJhTSJdLFsyMixbMTUsImFNIl0sWzQ2LFsiYU0iXV1dLFs1MiwiYU4iLFsxNixbMTUsImFMIl0sImd0bS5lbGVtZW50SWQiXV0sWzIyLFsxNixbMTUsImFBIl0sWzE1LCJhTiJdXSxbNDYsWzM2XV1dLFs0MyxbMTUsImFBIl0sWzE1LCJhTiJdLHRydWVdLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTUsImFOIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZpcnN0X2ZpZWxkX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl0sImZpcnN0X2ZpZWxkX25hbWUiLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkTmFtZSJdLCJmaXJzdF9maWVsZF90eXBlIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZFR5cGUiXSwiZmlyc3RfZmllbGRfcG9zaXRpb24iLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXV1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdGFydCJdLFsieiIsWzE1LCJwIl0sWzE1LCJhTyJdLFsxNSwiYVAiXV1dXSxbNTIsImFDIixbImFLIl1dLFs1MiwiYUQiLFs1MSwiIixbNywiYUwiLCJhTSJdLFs1MiwiYU4iLFsiYUMiLFsxNSwibyJdXV0sWyJhQiIsWzE1LCJhTCJdLFs0NF1dLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudElkIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZvcm1fc3VibWl0X3RleHQiLFsxNixbMTUsImFMIl0sImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXV1dLFs0MyxbMTUsImFPIl0sImV2ZW50X2NhbGxiYWNrIixbMTUsImFNIl1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdWJtaXQiXSxbNDMsWzE2LFsxNSwiYVAiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJTIl0sWzE1LCJhTiJdXSxbInoiLFsxNSwibyJdLFsxNSwiYU8iXSxbMTUsImFQIl1dXV0sWzUyLCJhRSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuYWRkRGF0YUxheWVyRXZlbnRMaXN0ZW5lciJdXSxbNTIsImFGIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1TdWJtaXQiXV0sWzUyLCJhRyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtSW50ZXJhY3Rpb24iXV0sWzUyLCJhSCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayJdXSxbNTIsImFJIixbImFHIl1dLFsyMixbMjgsWzE1LCJhSSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbImFFIiwiZ3RtLmZvcm1JbnRlcmFjdCIsWzE1LCJhQiJdLFsxNSwiYUkiXV0sWzUyLCJhSiIsWyJhRiIsWzgsImNoZWNrVmFsaWRhdGlvbiIsZmFsc2UsIndhaXRGb3JUYWdzIixmYWxzZV1dXSxbMjIsWzI4LFsxNSwiYUoiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWyJhRSIsImd0bS5mb3JtU3VibWl0IixbMTUsImFEIl0sWzE1LCJhSiJdXSxbMjIsWyJlIixbMTcsWzE1LCJiIl0sIkNQIl1dLFs0NixbNTMsWzUyLCJhTCIsWyJhSCIsWzgsInVzZVYyRXZlbnROYW1lIix0cnVlLCJjc3NTZWxlY3RvciIsWzAsWzAsWzAsWzAsWzAsWzAsWzAsImZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICIsImZvcm0gYnV0dG9uOm5vdChbdHlwZV0pLCJdLCJmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICJdLCJmb3JtIGlucHV0W3R5cGU9XCJpbWFnZVwiXSwgIl0sImJ1dHRvbltmb3JtXVt0eXBlPVwic3VibWl0XCJdLCAiXSwiYnV0dG9uW2Zvcm1dOm5vdChbdHlwZV0pLCAiXSwiaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtmb3JtXSwgIl0sImlucHV0W3R5cGU9XCJpbWFnZVwiXVtmb3JtXSJdXV1dLFs1MCwiYU0iLFs0NiwiYU4iLCJhTyJdLFs1MiwiYVAiLFs4LCJldmVudF9jYWxsYmFjayIsWzE1LCJhTyJdXV0sWzUyLCJhUSIsWzgsImV2ZW50SWQiLFsxNixbMTUsImFOIl0sImd0bS51bmlxdWVFdmVudElkIl1dXSxbIngiLFsxNSwiYVEiXV0sWyJ5IixbMTUsImFRIl0sWzE1LCJhTiJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBUiJdLFsxNyxbMTUsImoiXSwiSyJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBQSJdLCJjbGljayJdLFs0MyxbMTYsWzE1LCJhUSJdLFsxNSwiciJdXSxbMTcsWzE1LCJpIl0sIlMiXSxbImFDIixbMTUsInMiXV1dLFsieiIsWzE1LCJvIl0sWzE1LCJhUCJdLFsxNSwiYVEiXV1dLFsiYUUiLCJndG0uY2xpY2stdjIiLFsxNSwiYU0iXSxbMTUsImFMIl1dXV1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsWzQ2LCJhIl0sWzUwLCJyIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLCIiXSxbMjIsWzEsWzE1LCJ3Il0sWzE3LFsxNSwidyJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ5Il0sWzMsInkiLFsyLFsxNyxbMTUsInciXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsIngiLFszOSxbMjMsWzE1LCJ5Il0sMF0sWzE3LFsxNSwidyJdLCJocmVmIl0sWzIsWzE3LFsxNSwidyJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsInkiXV1dXV1dXV0sWzM2LFsxNSwieCJdXV0sWzUwLCJzIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXV0sWzUyLCJ5IixbMixbMTUsIngiXSwibWF0Y2giLFs3LCJed3d3XFxkKlxcLiJdXV0sWzIyLFsxLFsxNSwieSJdLFsxNixbMTUsInkiXSwwXV0sWzQ2LFszLCJ4IixbMixbMTUsIngiXSwic3Vic3RyaW5nIixbNyxbMTcsWzE2LFsxNSwieSJdLDBdLCJsZW5ndGgiXV1dXV1dLFszNixbMTUsIngiXV1dLFs1MCwidCIsWzQ2LCJ3Il0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbNTIsIngiLFsyLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXSwidG9Mb3dlckNhc2UiLFs3XV1dLFsyMixbMjgsWzE1LCJ4Il1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNDEsInkiXSxbMywieSIsWzIsWyJzIixbIm8iLFsibiJdXV0sInRvTG93ZXJDYXNlIixbN11dXSxbNDEsInoiXSxbMywieiIsWzM3LFsxNyxbMTUsIngiXSwibGVuZ3RoIl0sWzE3LFsxNSwieSJdLCJsZW5ndGgiXV1dLFsyMixbMSxbMTgsWzE1LCJ6Il0sMF0sWzI5LFsyLFsxNSwieSJdLCJjaGFyQXQiLFs3LDBdXSwiLiJdXSxbNDYsWzUzLFszMixbMTUsInoiXSxbMywieiIsWzM3LFsxNSwieiJdLDFdXV0sWzMsInkiLFswLCIuIixbMTUsInkiXV1dXV1dLFsyMixbMSxbMTksWzE1LCJ6Il0sMF0sWzEyLFsyLFsxNSwieCJdLCJpbmRleE9mIixbNyxbMTUsInkiXSxbMTUsInoiXV1dLFsxNSwieiJdXV0sWzQ2LFs1MyxbMzYsZmFsc2VdXV1dLFszNix0cnVlXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbU91dGJvdW5kQ2xpY2tBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRCJdXSxbNTIsImciLCJjbGljayJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsIm4iLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsIm8iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwicCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsInEiLFsyLFsxNSwibCJdLCJBIixbNywib3V0Ym91bmRfY2xpY2siXV1dLFs1MiwidSIsWyJtIixbMTUsImkiXSwiY3Jvc3NfZG9tYWluX2NvbmRpdGlvbnMiXV0sWzUyLCJ2IixbImsiLFs4LCJhZmZpbGlhdGVEb21haW5zIixbMTUsInUiXSwiY2hlY2tWYWxpZGF0aW9uIix0cnVlLCJ3YWl0Rm9yVGFncyIsZmFsc2VdXV0sWzIyLFsyOCxbMTUsInYiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sInNldEl0ZW0iLFs3LFsxNSwiaCJdLHRydWVdXSxbImoiLCJndG0ubGlua0NsaWNrIixbNTEsIiIsWzcsInciLCJ4Il0sWzUyLCJ5IixbIm8iLFsxNixbMTUsInciXSwiZ3RtLmVsZW1lbnRVcmwiXV1dLFsyMixbMjgsWyJ0IixbMTUsInkiXV1dLFs0NixbNTMsWyJ4Il0sWzM2XV1dXSxbNTIsInoiLFs4LCJsaW5rX2lkIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50SWQiXSwibGlua19jbGFzc2VzIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50Q2xhc3NlcyJdLCJsaW5rX3VybCIsWyJyIixbMTUsInkiXV0sImxpbmtfZG9tYWluIixbInMiLFsxNSwieSJdXSwib3V0Ym91bmQiLHRydWVdXSxbNDMsWzE1LCJ6Il0sImV2ZW50X2NhbGxiYWNrIixbMTUsIngiXV0sWzUyLCJhQSIsWzgsImV2ZW50SWQiLFsxNixbMTUsInciXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXSwiZGVmZXJyYWJsZSIsdHJ1ZV1dLFsyLFsxNSwibCJdLCJCIixbNyxbMTUsImFBIl1dXSxbInAiLFsxNSwicSJdLFsxNSwiZyJdLFsxNSwieiJdLFsxNSwiYUEiXV1dLFsxNSwidiJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZW1fcGFnZV92aWV3IixbNDYsImEiXSxbMjIsWzI4LFsxNyxbMTUsImEiXSwiaGlzdG9yeUV2ZW50cyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsImQiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1QYWdlVmlld0FjdGl2aXR5Il1dLFs1MiwiZiIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImciLFsxNyxbMTUsImYiXSwiQyJdXSxbNTIsImgiLCJwYWdlX3ZpZXciXSxbNTIsImkiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaiJdLFsxNSwiZyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJqIl1dXSxbMjIsWzIsWzE1LCJkIl0sImdldEl0ZW0iLFs3LFsxNSwiaSJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25IaXN0b3J5Q2hhbmdlIl1dLFs1MiwibSIsWzE1LCJfX21vZHVsZV9lbmhhbmNlZE1lYXN1cmVtZW50Il1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibSJdLCJBIixbNywicGFnZV92aWV3Il1dXSxbNTIsInAiLFs4LCJpbnRlcnZhbCIsMTAwMCwidXNlVjJFdmVudE5hbWUiLHRydWVdXSxbNTIsInEiLFsibCIsWzE1LCJwIl1dXSxbMjIsWzI4LFsxNSwicSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImQiXSwic2V0SXRlbSIsWzcsWzE1LCJpIl0sdHJ1ZV1dLFsiayIsImd0bS5oaXN0b3J5Q2hhbmdlLXYyIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS5vbGRVcmwiXV0sWzIyLFsyMCxbMTYsWzE1LCJyIl0sImd0bS5uZXdVcmwiXSxbMTUsInQiXV0sWzQ2LFszNl1dXSxbNTIsInUiLFsxNixbMTUsInIiXSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiXV0sWzIyLFsxLFsxLFsyMSxbMTUsInUiXSwicHVzaFN0YXRlIl0sWzIxLFsxNSwidSJdLCJwb3BzdGF0ZSJdXSxbMjEsWzE1LCJ1Il0sInJlcGxhY2VTdGF0ZSJdXSxbNDYsWzUzLFszNl1dXV0sWzUyLCJ2IixbOF1dLFsyMixbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwicGFnZV9sb2NhdGlvbiIsWzE2LFsxNSwiciJdLCJndG0ubmV3VXJsIl1dLFs0MyxbMTUsInYiXSwicGFnZV9yZWZlcnJlciIsWzE1LCJ0Il1dXV1dLFs1MiwidyIsWzgsImV2ZW50SWQiLFsxNixbMTUsInIiXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXV1dLFsyMixbMjEsWzE3LFsxNSwiYSJdLCJkZWZlclBhZ2VWaWV3Il0sZmFsc2VdLFs0NixbNTMsWzQzLFsxNSwidyJdLCJkZWZlcnJhYmxlIix0cnVlXV1dXSxbMixbMTUsIm0iXSwiQiIsWzcsWzE1LCJ3Il1dXSxbIm4iLFsxNSwibyJdLFsxNSwiaCJdLFsxNSwidiJdLFsxNSwidyJdXV0sWzE1LCJxIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zY3JvbGwiLFs0NiwiYSJdLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwidGVtcGxhdGVTdG9yYWdlIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1TY3JvbGxBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbNTIsImgiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImkiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJpIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaCJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25TY3JvbGwiXV0sWzUyLCJsIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwibiIsWzIsWzE1LCJsIl0sIkEiLFs3LCJzY3JvbGwiXV1dLFs1MiwibyIsWyJrIixbOCwidmVydGljYWxUaHJlc2hvbGRVbml0cyIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbFRocmVzaG9sZHMiLDkwXV1dLFsyMixbMjgsWzE1LCJvIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImgiXSx0cnVlXV0sWyJqIiwiZ3RtLnNjcm9sbERlcHRoIixbNTEsIiIsWzcsInAiLCJxIl0sWyJxIl0sWzUyLCJyIixbOCwiZXZlbnRJZCIsWzE2LFsxNSwicCJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzUyLCJzIixbOCwicGVyY2VudF9zY3JvbGxlZCIsWzE2LFsxNSwicCJdLCJndG0uc2Nyb2xsVGhyZXNob2xkIl1dXSxbMixbMTUsImwiXSwiQiIsWzcsWzE1LCJyIl1dXSxbIm0iLFsxNSwibiJdLFsxNSwiZyJdLFsxNSwicyJdLFsxNSwiciJdXV0sWzE1LCJvIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsWzQ2LCJhIl0sWzUyLCJiIixbInJlcXVpcmUiLCJnZXRRdWVyeVBhcmFtZXRlcnMiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiZ2V0Q29udGFpbmVyVmVyc2lvbiJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIl1dLFs1MiwiZyIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImgiLFsxNSwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiXV0sWzUyLCJpIixbMixbMTUsImgiXSwiQSIsWzcsWzE3LFsxNSwiYSJdLCJzZWFyY2hRdWVyeVBhcmFtcyJdLFsxNSwiYiJdXV1dLFs1MiwiaiIsWzMwLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsiZCJdLCJjb250YWluZXJJZCJdXV0sWzUyLCJrIixbOCwiZGVmZXJyYWJsZSIsdHJ1ZSwiZXZlbnRJZCIsWzE3LFsxNSwiYSJdLCJndG1FdmVudElkIl0sImV2ZW50TWV0YWRhdGEiLFs4LCJlbV9ldmVudCIsdHJ1ZV1dXSxbMjIsWzE1LCJpIl0sWzQ2LFs1MyxbNTIsImwiLFszOSxbMjgsWzI4LFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIsWzE1LCJoIl0sIkIiLFs3LFsxNSwiaSJdLFsxNyxbMTUsImEiXSwiYWRkaXRpb25hbFF1ZXJ5UGFyYW1zIl0sWzE1LCJiIl1dXSxbOF1dXSxbNDMsWzE3LFsxNSwiayJdLCJldmVudE1ldGFkYXRhIl0sWzE3LFsxNSwiZyJdLCJaIl0sImEiXSxbImMiLFsxNSwiaiJdLCJ2aWV3X3NlYXJjaF9yZXN1bHRzIixbMTUsImwiXSxbMTUsImsiXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX3ZpZGVvIixbNDYsImEiXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2NjZEVtVmlkZW9BY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRiJdXSxbNTIsImciLCJ2aWRlb19zdGFydCJdLFs1MiwiaCIsInZpZGVvX3Byb2dyZXNzIl0sWzUyLCJpIiwidmlkZW9fY29tcGxldGUiXSxbNTIsImoiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImsiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJrIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaiJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJsIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Zb3VUdWJlQWN0aXZpdHkiXV0sWzUyLCJuIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJvIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwicCIsWzIsWzE1LCJuIl0sIkEiLFs3LCJ2aWRlbyJdXV0sWzUyLCJxIixbIm0iLFs4LCJjYXB0dXJlQ29tcGxldGUiLHRydWUsImNhcHR1cmVTdGFydCIsdHJ1ZSwicHJvZ3Jlc3NUaHJlc2hvbGRzUGVyY2VudCIsWzcsMTAsMjUsNTAsNzVdXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImoiXSx0cnVlXV0sWyJsIiwiZ3RtLnZpZGVvIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS52aWRlb1N0YXR1cyJdXSxbNDEsInUiXSxbMjIsWzIwLFsxNSwidCJdLCJzdGFydCJdLFs0NixbNTMsWzMsInUiLFsxNSwiZyJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJwcm9ncmVzcyJdLFs0NixbNTMsWzMsInUiLFsxNSwiaCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJjb21wbGV0ZSJdLFs0NixbNTMsWzMsInUiLFsxNSwiaSJdXV1dLFs0NixbNTMsWzM2XV1dXV1dXV0sWzUyLCJ2IixbOCwidmlkZW9fY3VycmVudF90aW1lIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0N1cnJlbnRUaW1lIl0sInZpZGVvX2R1cmF0aW9uIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0R1cmF0aW9uIl0sInZpZGVvX3BlcmNlbnQiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvUGVyY2VudCJdLCJ2aWRlb19wcm92aWRlciIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9Qcm92aWRlciJdLCJ2aWRlb190aXRsZSIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9UaXRsZSJdLCJ2aWRlb191cmwiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVXJsIl0sInZpc2libGUiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVmlzaWJsZSJdXV0sWzUyLCJ3IixbOCwiZXZlbnRJZCIsWzE2LFsxNSwiciJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzIsWzE1LCJuIl0sIkIiLFs3LFsxNSwidyJdXV0sWyJvIixbMTUsInAiXSxbMTUsInUiXSxbMTUsInYiXSxbMTUsInciXV1dLFsxNSwicSJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfZmlyc3QiLFs0NiwiYSJdLFs1MCwiZSIsWzQ2LCJmIl0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNSwiZiJdXV0sWzIsWzE1LCJkIl0sIkEiLFs3LFsxNSwiZiJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyJdXSxbImIiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzUxLCIiLFs3LCJmIl0sWyJlIixbMTUsImYiXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfbGFzdCIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2dhX3JlZ3Njb3BlIixbNDYsImEiXSxbNTIsImIiLFsxNSwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyJdXSxbNTIsImMiLFsyLFsxNSwiYiJdLCJCIixbNyxbMTUsImEiXV1dXSxbMixbMTUsImIiXSwiQSIsWzcsWzE1LCJhIl0sWzE1LCJjIl1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19lIixbNDYsImEiXSxbMzYsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFsicmVxdWlyZSIsImludGVybmFsLmdldEV2ZW50RGF0YSJdXSxbIiQwIiwiZXZlbnQiXV1dXQogLFs1MCwiX19nY3QiLFs0NiwiYSJdLFs1MCwiZyIsWzQ2LCJtIl0sWzUyLCJuIixbN11dLFs2NSwibyIsWzE1LCJtIl0sWzQ2LFs1MyxbNTIsInAiLFsiYiIsWzE1LCJvIl1dXSxbMjIsWzIxLFsxNSwicCJdLFs0NV1dLFs0NixbMixbMTUsIm4iXSwicHVzaCIsWzcsWzE1LCJwIl1dXV1dXV1dLFszNixbMTUsIm4iXV1dLFs1MCwiaCIsWzQ2LCJtIl0sWzUyLCJuIixbMTcsWzE1LCJtIl0sImxpbmtlciJdXSxbMjIsWzEsWzE1LCJuIl0sWzE2LFsxNSwibiJdLCJkb21haW5zIl1dLFs0NixbNTMsWzQzLFsxNSwibiJdLCJkb21haW5zIixbImciLFsxNixbMTUsIm4iXSwiZG9tYWlucyJdXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJpIixbNDYsIm0iXSxbNTIsIm4iLFsxNyxbMTUsIm0iXSwicmVmZXJyYWxFeGNsdXNpb25EZWZpbml0aW9uIl1dLFsyMixbMSxbMTUsIm4iXSxbMTYsWzE1LCJuIl0sImluY2x1ZGVfY29uZGl0aW9ucyJdXSxbNDYsWzUzLFs0MyxbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIixbImciLFsxNixbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIl1dXV1dXSxbMzYsWzE1LCJuIl1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNyZWF0ZVJlZ2V4Il1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIl1dLFs1MiwiZSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJEZXN0aW5hdGlvbiJdXSxbNTIsImYiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImoiLFszMCxbMixbMTUsImYiXSwiZ2V0SXRlbSIsWzcsInJlZ2V4Il1dLFsiYiIsIlsuKitcXC0/XiR7fSgpfFtcXF1cXFxcXSIsImciXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNywicmVnZXgiLFsxNSwiaiJdXV0sWzUyLCJrIixbOF1dLFs1MiwibCIsWzE3LFsxNSwiYSJdLCJzZXNzaW9uRHVyYXRpb24iXV0sWzIyLFsxOCxbMTUsImwiXSwwXSxbNDYsWzUzLFs0MyxbMTUsImsiXSwic2Vzc2lvbl9kdXJhdGlvbiIsWzE1LCJsIl1dXV1dLFs0MyxbMTUsImsiXSwiZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZXZlbnRTZXR0aW5ncyJdXSxbNDMsWzE1LCJrIl0sImR5bmFtaWNfZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZHluYW1pY0V2ZW50U2V0dGluZ3MiXV0sWzQzLFsxNSwiayJdLCJnb29nbGVfc2lnbmFscyIsWzIwLFsxNyxbMTUsImEiXSwiZ29vZ2xlU2lnbmFscyJdLDFdXSxbNDMsWzE1LCJrIl0sImdvb2dsZV90bGQiLFsxNyxbMTUsImEiXSwiZm9yZWlnblRsZCJdXSxbNDMsWzE1LCJrIl0sImdhX3Jlc3RyaWN0X2RvbWFpbiIsWzIwLFsxNyxbMTUsImEiXSwicmVzdHJpY3REb21haW4iXSwxXV0sWzQzLFsxNSwiayJdLCJpbnRlcm5hbF90cmFmZmljX3Jlc3VsdHMiLFsxNyxbMTUsImEiXSwiaW50ZXJuYWxUcmFmZmljUmVzdWx0cyJdXSxbNDMsWzE1LCJrIl0sImxpbmtlciIsWyJoIixbMTUsImEiXV1dLFs0MyxbMTUsImsiXSwicmVmZXJyYWxfZXhjbHVzaW9uX2RlZmluaXRpb24iLFsiaSIsWzE1LCJhIl1dXSxbImQiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdLFsxNSwiayJdXSxbImUiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19vZ3RfMXBfZGF0YV92MiIsWzQ2LCJhIl0sWzUwLCJwIixbNDYsInIiLCJzIiwidCIsInUiXSxbMjIsWzIwLFsxNixbMTUsInMiXSwidHlwZSJdLFsxNSwidCJdXSxbNDYsWzUzLFsyMixbMjgsWzE1LCJyIl1dLFs0NixbNTMsWzMsInIiLFs4XV1dXV0sWzIyLFsyOCxbMTYsWzE1LCJyIl0sWzE1LCJ0Il1dXSxbNDYsWzUzLFs0MyxbMTUsInIiXSxbMTUsInQiXSxbMTYsWzE1LCJzIl0sInVzZXJEYXRhIl1dLFs1MiwidiIsWzgsIm1vZGUiLCJhIl1dLFsyMixbMTYsWzE1LCJzIl0sInRhZ05hbWUiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwibG9jYXRpb24iLFsxNixbMTUsInMiXSwidGFnTmFtZSJdXV1dXSxbMjIsWzE2LFsxNSwicyJdLCJxdWVyeVNlbGVjdG9yIl0sWzQ2LFs1MyxbNDMsWzE1LCJ2Il0sInNlbGVjdG9yIixbMTYsWzE1LCJzIl0sInF1ZXJ5U2VsZWN0b3IiXV1dXV0sWzQzLFsxNSwidSJdLFsxNSwidCJdLFsxNSwidiJdXV1dXV1dXSxbMzYsWzE1LCJyIl1dXSxbNTAsInEiLFs0NiwiciIsInMiLCJ0Il0sWzIyLFsyOCxbMTYsWzE1LCJhIl0sWzE1LCJ0Il1dXSxbNDYsWzM2XV1dLFs0MyxbMTUsInIiXSxbMTUsInMiXSxbOCwidmFsdWUiLFsxNixbMTUsImEiXSxbMTUsInQiXV1dXV0sWzIyLFsyOCxbMTcsWzE1LCJhIl0sImlzRW5hYmxlZCJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImciLFsicmVxdWlyZSIsImludGVybmFsLmRldGVjdFVzZXJQcm92aWRlZERhdGEiXV0sWzUyLCJoIixbInJlcXVpcmUiLCJxdWVyeVBlcm1pc3Npb24iXV0sWzUyLCJpIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiayIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsIm0iLFsiYyIsWzE3LFsxNSwiZSJdLCJBVCJdXV0sWzUyLCJuIixbMzAsWyJmIl0sWzddXV0sWzUyLCJvIixbOCwiZW5hYmxlX2NvZGUiLHRydWVdXSxbMjIsWzE3LFsxNSwiYSJdLCJpc0F1dG9FbmFibGVkIl0sWzQ2LFs1MyxbNTIsInIiLFs3XV0sWzIyLFsxLFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzQ2LFs1MyxbNTMsWzQxLCJ1Il0sWzMsInUiLDBdLFs2MyxbNywidSJdLFsyMyxbMTUsInUiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzMzLFsxNSwidSJdLFszLCJ1IixbMCxbMTUsInUiXSwxXV1dLFs0NixbNTMsWzUyLCJ2IixbMTcsWzE2LFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTUsInUiXV0sImV4Y2x1c2lvblNlbGVjdG9yIl1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFsyLFsxNSwiciJdLCJwdXNoIixbNyxbMTUsInYiXV1dXV1dXV1dXV1dXSxbNTIsInMiLFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl1dLFs1MiwidCIsWzM5LFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl0sWzE3LFsxNSwiYSJdLCJhdXRvRW1haWxFbmFibGVkIl0sdHJ1ZV1dLFs0MyxbMTUsIm8iXSwiYXV0b19kZXRlY3QiLFs4LCJlbWFpbCIsWzE1LCJ0Il0sInBob25lIixbMSxbMTUsInMiXSxbMTcsWzE1LCJhIl0sImF1dG9QaG9uZUVuYWJsZWQiXV0sImFkZHJlc3MiLFsxLFsxNSwicyJdLFsxNyxbMTUsImEiXSwiYXV0b0FkZHJlc3NFbmFibGVkIl1dLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIixbMTUsInIiXV1dXV1dLFsyMixbMTcsWzE1LCJhIl0sImlzTWFudWFsRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJyIixbOF1dLFsyMixbMTcsWzE1LCJhIl0sIm1hbnVhbEVtYWlsRW5hYmxlZCJdLFs0NixbNTMsWyJxIixbMTUsInIiXSwiZW1haWwiLCJlbWFpbFZhbHVlIl1dXV0sWzIyLFsxNyxbMTUsImEiXSwibWFudWFsUGhvbmVFbmFibGVkIl0sWzQ2LFs1MyxbInEiLFsxNSwiciJdLCJwaG9uZSIsInBob25lVmFsdWUiXV1dXSxbMjIsWzE3LFsxNSwiYSJdLCJtYW51YWxBZGRyZXNzRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJzIixbOF1dLFsicSIsWzE1LCJzIl0sImZpcnN0X25hbWUiLCJmaXJzdE5hbWVWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImxhc3RfbmFtZSIsImxhc3ROYW1lVmFsdWUiXSxbInEiLFsxNSwicyJdLCJzdHJlZXQiLCJzdHJlZXRWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNpdHkiLCJjaXR5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJyZWdpb24iLCJyZWdpb25WYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNvdW50cnkiLCJjb3VudHJ5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJwb3N0YWxfY29kZSIsInBvc3RhbENvZGVWYWx1ZSJdLFs0MyxbMTUsInIiXSwibmFtZV9hbmRfYWRkcmVzcyIsWzcsWzE1LCJzIl1dXV1dXSxbNDMsWzE1LCJvIl0sInNlbGVjdG9ycyIsWzE1LCJyIl1dXV1dLFs2NSwiciIsWzE1LCJuIl0sWzQ2LFs1MyxbImkiLFsxNSwiciJdLCJ1c2VyX2RhdGFfc2V0dGluZ3MiLFsxNSwibyJdXSxbNTIsInMiLFsxNixbMTUsIm8iXSwiYXV0b19kZXRlY3QiXV0sWzIyLFsyOCxbMTUsInMiXV0sWzQ2LFs1MyxbNl1dXV0sWzUyLCJ0IixbNTEsIiIsWzcsInUiXSxbNTIsInYiLFsyLFsxNSwidSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWCJdXV1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFszNixbMTUsInYiXV1dXV0sWzUyLCJ3IixbImMiLFsxNyxbMTUsImUiXSwiQlYiXV1dLFs1MiwieCIsWyJjIixbMTcsWzE1LCJlIl0sIkNJIl1dXSxbNDEsInkiXSxbMjIsWyJoIiwiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iXSxbNDYsWzUzLFszLCJ5IixbImciLFs4LCJleGNsdWRlRWxlbWVudFNlbGVjdG9ycyIsWzE2LFsxNSwicyJdLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIl0sImZpZWxkRmlsdGVycyIsWzgsImVtYWlsIixbMTYsWzE1LCJzIl0sImVtYWlsIl0sInBob25lIixbMTYsWzE1LCJzIl0sInBob25lIl0sImFkZHJlc3MiLFsxNixbMTUsInMiXSwiYWRkcmVzcyJdXSwiaW5jbHVkZVNlbGVjdG9yIixbMTUsInciXSwicmVhZEZyb21EYXRhTGF5ZXIiLFsxNSwieCJdXV1dXV1dLFs1MiwieiIsWzEsWzE1LCJ5Il0sWzE2LFsxNSwieSJdLCJlbGVtZW50cyJdXV0sWzUyLCJhQSIsWzhdXSxbNTIsImFCIixbOF1dLFsyMixbMSxbMTUsInoiXSxbMTgsWzE3LFsxNSwieiJdLCJsZW5ndGgiXSwwXV0sWzQ2LFs1MyxbNDEsImFDIl0sWzQxLCJhRCJdLFszLCJhRCIsWzhdXSxbNTMsWzQxLCJhRSJdLFszLCJhRSIsMF0sWzYzLFs3LCJhRSJdLFsyMyxbMTUsImFFIl0sWzE3LFsxNSwieiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiYUUiXSxbMywiYUUiLFswLFsxNSwiYUUiXSwxXV1dLFs0NixbNTMsWzUyLCJhRiIsWzE2LFsxNSwieiJdLFsxNSwiYUUiXV1dLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwiZW1haWwiLFsxNSwiYUIiXV0sWzIyLFsiYyIsWzE3LFsxNSwiZSJdLCJCTyJdXSxbNDYsWzUzLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwicGhvbmVfbnVtYmVyIixbMTUsImFCIl1dLFszLCJhQyIsWyJwIixbMTUsImFDIl0sWzE1LCJhRiJdLCJmaXJzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwibGFzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwiY291bnRyeSIsWzE1LCJhRCJdXV0sWzMsImFDIixbInAiLFsxNSwiYUMiXSxbMTUsImFGIl0sInBvc3RhbF9jb2RlIixbMTUsImFEIl1dXV1dXV1dXV0sWzIyLFsxLFsxNSwiYUMiXSxbMjgsWzE2LFsxNSwiYUEiXSwiYWRkcmVzcyJdXV0sWzQ2LFs1MyxbNDMsWzE1LCJhQSJdLCJhZGRyZXNzIixbMTUsImFDIl1dLFsyMixbMTUsIm0iXSxbNDYsWzUzLFs0MyxbMTYsWzE1LCJhQSJdLCJhZGRyZXNzIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUQiXV1dXV1dXV1dXV0sWzIyLFsxLFsxNSwieSJdLFsxNSwieCJdXSxbNDYsWzUzLFs1MiwiYUMiLFsxNixbMTUsInkiXSwiZGF0YUxheWVyU2VhcmNoVGltZSJdXSxbNTIsImFEIixbMTYsWzE1LCJ5Il0sImRhdGFMYXllclNlYXJjaENvdW50Il1dLFsyLFsxNSwidSJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImwiXSwiRlQiXSxbOCwiZGxzdCIsWzE1LCJhQyJdLCJkbHNjIixbMTUsImFEIl1dXV1dXV0sWzIyLFsxNSwibSJdLFs0NixbNTMsWzIyLFszMCxbMTYsWzE1LCJhQSJdLCJlbWFpbCJdLFsxNixbMTUsImFBIl0sInBob25lX251bWJlciJdXSxbNDYsWzUzLFs0MyxbMTUsImFBIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUIiXV1dXV1dXV0sWzIsWzE1LCJ1Il0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJrIl0sIkNYIl0sWzE1LCJhQSJdXV0sWzM2LFsxNSwiYUEiXV1dXSxbImoiLFsxNSwiciJdLFs1MSwiIixbNywidSJdLFsyLFsxNSwidSJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWSJdLFsxNSwidCJdXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTIsIl9fbW9kdWxlX2Fkd29yZHNIaXRUeXBlIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiY29udmVyc2lvbiJdLFs1MiwiYyIsImZsb29kbGlnaHQiXSxbNTIsImQiLCJnYV9jb252ZXJzaW9uIl0sWzUyLCJlIiwicGFnZV92aWV3Il0sWzUyLCJmIiwicmVtYXJrZXRpbmciXSxbNTIsImciLCJ1c2VyX2RhdGFfbGVhZCJdLFs1MiwiaCIsInVzZXJfZGF0YV93ZWIiXSxbMzYsWzgsIkQiLFsxNSwiYiJdLCJFIixbMTUsImMiXSwiRiIsWzE1LCJkIl0sIkgiLFsxNSwiZSJdLCJJIixbMTUsImYiXSwiSiIsWzE1LCJnIl0sIksiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZ3RhZ1NjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFkX3BlcnNvbmFsaXphdGlvbiJdLFs1MiwiYyIsImFkX3N0b3JhZ2UiXSxbNTIsImQiLCJhZF91c2VyX2RhdGEiXSxbNTIsImUiLCJjb25zZW50X3VwZGF0ZWQiXSxbNTIsImYiLCJhcHBfcmVtb3ZlIl0sWzUyLCJnIiwiYXBwX3N0b3JlX3JlZnVuZCJdLFs1MiwiaCIsImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY2FuY2VsIl0sWzUyLCJpIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9jb252ZXJ0Il0sWzUyLCJqIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9yZW5ldyJdLFs1MiwiayIsImNvbnZlcnNpb24iXSxbNTIsImwiLCJwdXJjaGFzZSJdLFs1MiwibSIsImZpcnN0X29wZW4iXSxbNTIsIm4iLCJmaXJzdF92aXNpdCJdLFs1MiwibyIsImd0YWcuY29uZmlnIl0sWzUyLCJwIiwiaW5fYXBwX3B1cmNoYXNlIl0sWzUyLCJxIiwicGFnZV92aWV3Il0sWzUyLCJyIiwic2Vzc2lvbl9zdGFydCJdLFs1MiwicyIsInVzZXJfZW5nYWdlbWVudCJdLFs1MiwidCIsImFkc19kYXRhX3JlZGFjdGlvbiJdLFs1MiwidSIsImFsbG93X2FkX3BlcnNvbmFsaXphdGlvbl9zaWduYWxzIl0sWzUyLCJ2IiwiYWxsb3dfY3VzdG9tX3NjcmlwdHMiXSxbNTIsInciLCJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyJdLFs1MiwieCIsImFsbG93X2dvb2dsZV9zaWduYWxzIl0sWzUyLCJ5IiwiYXVpZCJdLFs1MiwieiIsImF3X3JlbWFya2V0aW5nX29ubHkiXSxbNTIsImFBIiwiZGlzY291bnQiXSxbNTIsImFCIiwiYXdfZmVlZF9jb3VudHJ5Il0sWzUyLCJhQyIsImF3X2ZlZWRfbGFuZ3VhZ2UiXSxbNTIsImFEIiwiaXRlbXMiXSxbNTIsImFFIiwiYXdfbWVyY2hhbnRfaWQiXSxbNTIsImFGIiwiYXdfYmFza2V0X3R5cGUiXSxbNTIsImFHIiwiY2xpZW50X2lkIl0sWzUyLCJhSCIsImNvbnZlcnNpb25fY29va2llX3ByZWZpeCJdLFs1MiwiYUkiLCJjb252ZXJzaW9uX2lkIl0sWzUyLCJhSiIsImNvbnZlcnNpb25fbGlua2VyIl0sWzUyLCJhSyIsImNvbnZlcnNpb25fYXBpIl0sWzUyLCJhTCIsImNvb2tpZV9kZXByZWNhdGlvbiJdLFs1MiwiYU0iLCJjb29raWVfZXhwaXJlcyJdLFs1MiwiYU4iLCJjb29raWVfcHJlZml4Il0sWzUyLCJhTyIsImNvb2tpZV91cGRhdGUiXSxbNTIsImFQIiwiY291bnRyeSJdLFs1MiwiYVEiLCJjdXJyZW5jeSJdLFs1MiwiYVIiLCJjdXN0b21lcl9saWZldGltZV92YWx1ZSJdLFs1MiwiYVMiLCJjdXN0b21lcl90eXBlIl0sWzUyLCJhVCIsImRlYnVnX21vZGUiXSxbNTIsImFVIiwic2hpcHBpbmciXSxbNTIsImFWIiwiZW5nYWdlbWVudF90aW1lX21zZWMiXSxbNTIsImFXIiwiZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGUiXSxbNTIsImFYIiwiZXZlbnRfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiYVkiLCJldmVudF9pZCJdLFs1MiwiYVoiLCJldmVudCJdLFs1MiwiYkEiLCJfJmFlIl0sWzUyLCJiQiIsImV2ZW50X3RpbWVvdXQiXSxbNTIsImJDIiwiZXh0X2NsaWVudF9pZCJdLFs1MiwiYkQiLCJmaXJzdF9wYXJ0eV9jb2xsZWN0aW9uIl0sWzUyLCJiRSIsIm1hdGNoX2lkIl0sWzUyLCJiRiIsImdkcHJfYXBwbGllcyJdLFs1MiwiYkciLCJfZ3RfbWV0YWRhdGEiXSxbNTIsImJIIiwiZ29vZ2xlX2FuYWx5c2lzX3BhcmFtcyJdLFs1MiwiYkkiLCJfZ29vZ2xlX25nIl0sWzUyLCJiSiIsIl9vbm8iXSxbNTIsImJLIiwiZ3BwX3NpZCJdLFs1MiwiYkwiLCJncHBfc3RyaW5nIl0sWzUyLCJiTSIsImdzYV9leHBlcmltZW50X2lkIl0sWzUyLCJiTiIsImd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSJdLFs1MiwiYk8iLCJpZnJhbWVfc3RhdGUiXSxbNTIsImJQIiwiaWdub3JlX3JlZmVycmVyIl0sWzUyLCJiUSIsImlzX3Bhc3N0aHJvdWdoIl0sWzUyLCJiUiIsImxhbmd1YWdlIl0sWzUyLCJiUyIsIm1lcmNoYW50X2ZlZWRfbGFiZWwiXSxbNTIsImJUIiwibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSJdLFs1MiwiYlUiLCJtZXJjaGFudF9pZCJdLFs1MiwiYlYiLCJuZXdfY3VzdG9tZXIiXSxbNTIsImJXIiwicGFnZV9ob3N0bmFtZSJdLFs1MiwiYlgiLCJwYWdlX3BhdGgiXSxbNTIsImJZIiwicGFnZV9yZWZlcnJlciJdLFs1MiwiYloiLCJwYWdlX3RpdGxlIl0sWzUyLCJjQSIsIl9wbGF0aW51bV9yZXF1ZXN0X3N0YXR1cyJdLFs1MiwiY0IiLCJxdWFudGl0eSJdLFs1MiwiY0MiLCJyZXN0cmljdGVkX2RhdGFfcHJvY2Vzc2luZyJdLFs1MiwiY0QiLCJzY3JlZW5fcmVzb2x1dGlvbiJdLFs1MiwiY0UiLCJzZW5kX3BhZ2VfdmlldyJdLFs1MiwiY0YiLCJzZXJ2ZXJfY29udGFpbmVyXzNwX2VucmljaG1lbnQiXSxbNTIsImNHIiwic2VydmVyX2NvbnRhaW5lcl91cmwiXSxbNTIsImNIIiwic2Vzc2lvbl9kdXJhdGlvbiJdLFs1MiwiY0kiLCJzZXNzaW9uX2VuZ2FnZWRfdGltZSJdLFs1MiwiY0oiLCJzZXNzaW9uX2lkIl0sWzUyLCJjSyIsIl9zaGFyZWRfdXNlcl9pZCJdLFs1MiwiY0wiLCJkZWxpdmVyeV9wb3N0YWxfY29kZSJdLFs1MiwiY00iLCJ0ZXN0b25seSJdLFs1MiwiY04iLCJ0b3Btb3N0X3VybCJdLFs1MiwiY08iLCJ0cmFuc2FjdGlvbl9pZCJdLFs1MiwiY1AiLCJ0cmFuc2FjdGlvbl9pZF9zb3VyY2UiXSxbNTIsImNRIiwidHJhbnNwb3J0X3VybCJdLFs1MiwiY1IiLCJ1cGRhdGUiXSxbNTIsImNTIiwiX3VzZXJfYWdlbnRfYXJjaGl0ZWN0dXJlIl0sWzUyLCJjVCIsIl91c2VyX2FnZW50X2JpdG5lc3MiXSxbNTIsImNVIiwiX3VzZXJfYWdlbnRfZnVsbF92ZXJzaW9uX2xpc3QiXSxbNTIsImNWIiwiX3VzZXJfYWdlbnRfbW9iaWxlIl0sWzUyLCJjVyIsIl91c2VyX2FnZW50X21vZGVsIl0sWzUyLCJjWCIsIl91c2VyX2FnZW50X3BsYXRmb3JtIl0sWzUyLCJjWSIsIl91c2VyX2FnZW50X3BsYXRmb3JtX3ZlcnNpb24iXSxbNTIsImNaIiwiX3VzZXJfYWdlbnRfd293NjQiXSxbNTIsImRBIiwidXNlcl9kYXRhIl0sWzUyLCJkQiIsInVzZXJfZGF0YV9hdXRvX2xhdGVuY3kiXSxbNTIsImRDIiwidXNlcl9kYXRhX2F1dG9fbWV0YSJdLFs1MiwiZEQiLCJ1c2VyX2RhdGFfYXV0b19tdWx0aSJdLFs1MiwiZEUiLCJ1c2VyX2RhdGFfYXV0b19zZWxlY3RvcnMiXSxbNTIsImRGIiwidXNlcl9kYXRhX2F1dG9fc3RhdHVzIl0sWzUyLCJkRyIsInVzZXJfZGF0YV9tb2RlIl0sWzUyLCJkSCIsInVzZXJfaWQiXSxbNTIsImRJIiwidXNlcl9wcm9wZXJ0aWVzIl0sWzUyLCJkSiIsInVzX3ByaXZhY3lfc3RyaW5nIl0sWzUyLCJkSyIsInZhbHVlIl0sWzUyLCJkTCIsIl9mcG1fcGFyYW1ldGVycyJdLFs1MiwiZE0iLCJfaG9zdF9uYW1lIl0sWzUyLCJkTiIsIl9pbl9wYWdlX2NvbW1hbmQiXSxbNTIsImRPIiwiX21lYXN1cmVtZW50X3R5cGUiXSxbNTIsImRQIiwibm9uX3BlcnNvbmFsaXplZF9hZHMiXSxbNTIsImRRIiwiY29udmVyc2lvbl9sYWJlbCJdLFs1MiwiZFIiLCJwYWdlX2xvY2F0aW9uIl0sWzUyLCJkUyIsIl9leHRyYWN0ZWRfZGF0YSJdLFs1MiwiZFQiLCJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiZFUiLCJ0Y19wcml2YWN5X3N0cmluZyJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJDIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkkiLFsxNSwiZiJdLCJKIixbMTUsImciXSwiSyIsWzE1LCJoIl0sIkwiLFsxNSwiaSJdLCJNIixbMTUsImoiXSwiTyIsWzE1LCJrIl0sIkFBIixbMTUsImwiXSwiQUYiLFsxNSwibSJdLCJBRyIsWzE1LCJuIl0sIkFIIixbMTUsIm8iXSwiQUoiLFsxNSwicCJdLCJBSyIsWzE1LCJxIl0sIkFNIixbMTUsInIiXSwiQVEiLFsxNSwicyJdLCJCQyIsWzE1LCJ0Il0sIkJKIixbMTUsInUiXSwiQksiLFsxNSwidiJdLCJCTSIsWzE1LCJ3Il0sIkJOIixbMTUsIngiXSwiQlQiLFsxNSwieSJdLCJCWCIsWzE1LCJ6Il0sIkJZIixbMTUsImFBIl0sIkJaIixbMTUsImFCIl0sIkNBIixbMTUsImFDIl0sIkNCIixbMTUsImFEIl0sIkNDIixbMTUsImFFIl0sIkNEIixbMTUsImFGIl0sIkNMIixbMTUsImFHIl0sIkNRIixbMTUsImFIIl0sIkNSIixbMTUsImFJIl0sIktHIixbMTUsImRRIl0sIkNTIixbMTUsImFKIl0sIkNVIixbMTUsImFLIl0sIkNXIixbMTUsImFMIl0sIkNZIixbMTUsImFNIl0sIkRDIixbMTUsImFOIl0sIkREIixbMTUsImFPIl0sIkRFIixbMTUsImFQIl0sIkRGIixbMTUsImFRIl0sIkRHIixbMTUsImFSIl0sIkRIIixbMTUsImFTIl0sIkROIixbMTUsImFUIl0sIkVBIixbMTUsImFVIl0sIkVDIixbMTUsImFWIl0sIkVHIixbMTUsImFXIl0sIkVKIixbMTUsImFYIl0sIkVLIixbMTUsImFZIl0sIkVOIixbMTUsImFaIl0sIkVPIixbMTUsImJBIl0sIkVRIixbMTUsImJCIl0sIktJIixbMTUsImRTIl0sIkVVIixbMTUsImJDIl0sIkVXIixbMTUsImJEIl0sIkZFIixbMTUsImJFIl0sIkZPIixbMTUsImJGIl0sIkZQIixbMTUsImJHIl0sIktKIixbMTUsImRUIl0sIkZUIixbMTUsImJIIl0sIkZVIixbMTUsImJJIl0sIkZWIixbMTUsImJKIl0sIkZZIixbMTUsImJLIl0sIkZaIixbMTUsImJMIl0sIkdCIixbMTUsImJNIl0sIkdDIixbMTUsImJOIl0sIkdFIixbMTUsImJPIl0sIkdGIixbMTUsImJQIl0sIkdLIixbMTUsImJRIl0sIkdNIixbMTUsImJSIl0sIkdUIixbMTUsImJTIl0sIkdVIixbMTUsImJUIl0sIkdWIixbMTUsImJVIl0sIkdaIixbMTUsImJWIl0sIkhDIixbMTUsImJXIl0sIktIIixbMTUsImRSIl0sIkhEIixbMTUsImJYIl0sIkhFIixbMTUsImJZIl0sIkhGIixbMTUsImJaIl0sIkhOIixbMTUsImNBIl0sIkhQIixbMTUsImNCIl0sIkhUIixbMTUsImNDIl0sIkhYIixbMTUsImNEIl0sIklBIixbMTUsImNFIl0sIklDIixbMTUsImNGIl0sIklEIixbMTUsImNHIl0sIklGIixbMTUsImNIIl0sIklIIixbMTUsImNJIl0sIklJIixbMTUsImNKIl0sIklLIixbMTUsImNLIl0sIklMIixbMTUsImNMIl0sIktLIixbMTUsImRVIl0sIklQIixbMTUsImNNIl0sIklSIixbMTUsImNOIl0sIklVIixbMTUsImNPIl0sIklWIixbMTUsImNQIl0sIklXIixbMTUsImNRIl0sIklZIixbMTUsImNSIl0sIkpCIixbMTUsImNTIl0sIkpDIixbMTUsImNUIl0sIkpEIixbMTUsImNVIl0sIkpFIixbMTUsImNWIl0sIkpGIixbMTUsImNXIl0sIkpHIixbMTUsImNYIl0sIkpIIixbMTUsImNZIl0sIkpJIixbMTUsImNaIl0sIkpKIixbMTUsImRBIl0sIkpLIixbMTUsImRCIl0sIkpMIixbMTUsImRDIl0sIkpNIixbMTUsImREIl0sIkpOIixbMTUsImRFIl0sIkpPIixbMTUsImRGIl0sIkpQIixbMTUsImRHIl0sIkpSIixbMTUsImRIIl0sIkpTIixbMTUsImRJIl0sIkpVIixbMTUsImRKIl0sIkpWIixbMTUsImRLIl0sIkpYIixbMTUsImRMIl0sIkpZIixbMTUsImRNIl0sIkpaIixbMTUsImROIl0sIktDIixbMTUsImRPIl0sIktEIixbMTUsImRQIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFib3J0X3dpdGhvdXRfZmFpbCJdLFs1MiwiYyIsImFjY2VwdF9ieV9kZWZhdWx0Il0sWzUyLCJkIiwiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIl0sWzUyLCJlIiwiY29uc2VudF9zdGF0ZSJdLFs1MiwiZiIsImNvbnNlbnRfdXBkYXRlZCJdLFs1MiwiZyIsImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiXSxbNTIsImgiLCJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIl0sWzUyLCJpIiwiY29va2llX29wdGlvbnMiXSxbNTIsImoiLCJkZWR1cGVfaWQiXSxbNTIsImsiLCJlbV9ldmVudCJdLFs1MiwibCIsImV2ZW50X3Byb3ZlbmFuY2UiXSxbNTIsIm0iLCJldmVudF9zb3VyY2UiXSxbNTIsIm4iLCJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiXSxbNTIsIm8iLCJldmVudF91c2FnZSJdLFs1MiwicCIsImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyJdLFs1MiwicSIsImZvcm1fZXZlbnRfY2FuY2VsZWQiXSxbNTIsInIiLCJnYTRfY29sbGVjdGlvbl9zdWJkb21haW4iXSxbNTIsInMiLCJndG1fZXh0cmFjdGVkX2RhdGEiXSxbNTIsInQiLCJoYW5kbGVfaW50ZXJuYWxseSJdLFs1MiwidSIsImhhc19nYV9jb252ZXJzaW9uX2NvbnNlbnRzIl0sWzUyLCJ2IiwiaGl0X3R5cGUiXSxbNTIsInciLCJoaXRfdHlwZV9vdmVycmlkZSJdLFs1MiwieCIsImlnbm9yZV9kdXBlX2NvbmZpZyJdLFs1MiwieSIsImlzX2NvbnZlcnNpb24iXSxbNTIsInoiLCJpc19leHRlcm5hbF9ldmVudCJdLFs1MiwiYUEiLCJpc19maXJzdF92aXNpdCJdLFs1MiwiYUIiLCJpc19maXJzdF92aXNpdF9jb252ZXJzaW9uIl0sWzUyLCJhQyIsImlzX2ZwbV9lbmNyeXB0aW9uIl0sWzUyLCJhRCIsImlzX2ZwbV9zcGxpdCJdLFs1MiwiYUUiLCJpc19nY3BfYnJvd3NlciJdLFs1MiwiYUYiLCJpc19nb29nbGVfbWVhc3VyZW1lbnRfYWxsb3dlZCJdLFs1MiwiYUciLCJpc19zZXJ2ZXJfc2lkZV9kZXN0aW5hdGlvbiJdLFs1MiwiYUgiLCJpc19zZXNzaW9uX3N0YXJ0Il0sWzUyLCJhSSIsImlzX3Nlc3Npb25fc3RhcnRfY29udmVyc2lvbiJdLFs1MiwiYUoiLCJpc19zZ3RtX2dhX2Fkc19jb252ZXJzaW9uX3N0dWR5X2NvbnRyb2xfZ3JvdXAiXSxbNTIsImFLIiwiaXNfc2d0bV9wcmVoaXQiXSxbNTIsImFMIiwiaXNfc3BsaXRfY29udmVyc2lvbiJdLFs1MiwiYU0iLCJpc19zeW4iXSxbNTIsImFOIiwiaXNfdGVzdF9ldmVudCJdLFs1MiwiYU8iLCJwcmVoaXRfZm9yX3JldHJ5Il0sWzUyLCJhUCIsInJlZGFjdF9hZHNfZGF0YSJdLFs1MiwiYVEiLCJyZWRhY3RfY2xpY2tfaWRzIl0sWzUyLCJhUiIsInNlbmRfY2NtX3BhcmFsbGVsX3BpbmciXSxbNTIsImFTIiwic2VuZF91c2VyX2RhdGFfaGl0Il0sWzUyLCJhVCIsInNwZWN1bGF0aXZlIl0sWzUyLCJhVSIsInN5bl9vcl9tb2QiXSxbNTIsImFWIiwidHJhbnNpZW50X2Vjc2lkIl0sWzUyLCJhVyIsInVzZXJfZGF0YSJdLFs1MiwiYVgiLCJ1c2VyX2RhdGFfZnJvbV9hdXRvbWF0aWMiXSxbNTIsImFZIiwidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciJdLFs1MiwiYVoiLCJ1c2VyX2RhdGFfZnJvbV9jb2RlIl0sWzUyLCJiQSIsInVzZXJfZGF0YV9mcm9tX21hbnVhbCJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJGIixbMTUsImQiXSwiTSIsWzE1LCJlIl0sIk4iLFsxNSwiZiJdLCJPIixbMTUsImciXSwiUCIsWzE1LCJoIl0sIlEiLFsxNSwiaSJdLCJTIixbMTUsImoiXSwiVCIsWzE1LCJrIl0sIloiLFsxNSwibCJdLCJBQSIsWzE1LCJtIl0sIkFCIixbMTUsIm4iXSwiQUMiLFsxNSwibyJdLCJBRCIsWzE1LCJwIl0sIkFKIixbMTUsInEiXSwiQUsiLFsxNSwiciJdLCJBTiIsWzE1LCJzIl0sIkFPIixbMTUsInQiXSwiQVAiLFsxNSwidSJdLCJBUSIsWzE1LCJ2Il0sIkFSIixbMTUsInciXSwiQVMiLFsxNSwieCJdLCJBViIsWzE1LCJ5Il0sIkFZIixbMTUsInoiXSwiQVoiLFsxNSwiYUEiXSwiQkEiLFsxNSwiYUIiXSwiQkMiLFsxNSwiYUMiXSwiQkQiLFsxNSwiYUQiXSwiQkUiLFsxNSwiYUUiXSwiQkYiLFsxNSwiYUYiXSwiQksiLFsxNSwiYUciXSwiQkwiLFsxNSwiYUgiXSwiQk0iLFsxNSwiYUkiXSwiQk4iLFsxNSwiYUoiXSwiQk8iLFsxNSwiYUsiXSwiQlEiLFsxNSwiYUwiXSwiQlIiLFsxNSwiYU0iXSwiQlMiLFsxNSwiYU4iXSwiQlkiLFsxNSwiYU8iXSwiQ0IiLFsxNSwiYVAiXSwiQ0MiLFsxNSwiYVEiXSwiQ0UiLFsxNSwiYVIiXSwiQ04iLFsxNSwiYVMiXSwiQ1EiLFsxNSwiYVQiXSwiQ1QiLFsxNSwiYVUiXSwiQ1UiLFsxNSwiYVYiXSwiQ1ciLFsxNSwiYVciXSwiQ1giLFsxNSwiYVgiXSwiQ1kiLFsxNSwiYVkiXSwiQ1oiLFsxNSwiYVoiXSwiREEiLFsxNSwiYkEiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsNDVdLFs1MiwiYyIsNDZdLFs1MiwiZCIsNDddLFs1MiwiZSIsMTc0XSxbNTIsImYiLDI3Nl0sWzM2LFs4LCJGIixbMTUsImIiXSwiRyIsWzE1LCJjIl0sIkgiLFsxNSwiZCJdLCJWIixbMTUsImUiXSwiQUQiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZWNUeXBlcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImZzcmMiXSxbNTIsImMiLCJmZWlkIl0sWzUyLCJkIiwiMCJdLFs1MiwiZSIsIjEiXSxbNTIsImYiLCIyIl0sWzUyLCJnIiwiMyJdLFs1MiwiaCIsIjQiXSxbMzYsWzgsIkIiLFsxNSwiYyJdLCJGIixbMTUsImciXSwiRCIsWzE1LCJlIl0sIkUiLFsxNSwiZiJdLCJDIixbMTUsImQiXSwiRyIsWzE1LCJoIl0sIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZmVhdHVyZXMiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDQyNV0sWzUyLCJjIiw0MzVdLFs1MiwiZCIsNDg4XSxbNTIsImUiLDQ4OV0sWzUyLCJmIiw0OThdLFs1MiwiZyIsNTAzXSxbNTIsImgiLDUwNF0sWzUyLCJpIiw1MDZdLFs1MiwiaiIsNTIzXSxbNTIsImsiLDUzMl0sWzUyLCJsIiw1NTNdLFs1MiwibSIsNTY4XSxbNTIsIm4iLDU3N10sWzUyLCJvIiw1ODFdLFs1MiwicCIsNTgzXSxbNTIsInEiLDU5Ml0sWzUyLCJyIiw1OTRdLFs1MiwicyIsNTk5XSxbMzYsWzgsIkFWIixbMTUsImsiXSwiQUQiLFsxNSwiZCJdLCJDSSIsWzE1LCJxIl0sIkJWIixbMTUsIm4iXSwiQk8iLFsxNSwibSJdLCJDSyIsWzE1LCJyIl0sIkNQIixbMTUsInMiXSwiQU0iLFsxNSwiZyJdLCJCWiIsWzE1LCJvIl0sIkFUIixbMTUsImoiXSwiQUUiLFsxNSwiZSJdLCJBTiIsWzE1LCJoIl0sIkwiLFsxNSwiYyJdLCJCQyIsWzE1LCJsIl0sIkFPIixbMTUsImkiXSwiQ0IiLFsxNSwicCJdLCJBSSIsWzE1LCJmIl0sIkkiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLCJjb29raWVfZGVwcmVjYXRpb25fbGFiZWwiXSxbNTIsImMiLCJwbGQiXSxbNTIsImQiLCJzaGFyZWRfdXNlcl9pZCJdLFs1MiwiZSIsInNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCJdLFs1MiwiZiIsInNoYXJlZF91c2VyX2lkX3NvdXJjZSJdLFszNixbOCwiQiIsWzE1LCJiIl0sIk4iLFsxNSwiYyJdLCJTIixbMTUsImQiXSwiVCIsWzE1LCJlIl0sIlUiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1TY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDFdLFs1MiwiYyIsMl0sWzUyLCJkIiwzXSxbNTIsImUiLDRdLFs1MiwiZiIsNV0sWzUyLCJnIiw2XSxbMzYsWzgsIkEiLFsxNSwiYiJdLCJGIixbMTUsImciXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9nb2xkRXZlbnRVc2FnZUlkIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwxXSxbNTIsImMiLDJdLFs1MiwiZCIsNV0sWzUyLCJlIiw2XSxbNTIsImYiLDddLFs1MiwiZyIsOF0sWzUyLCJoIiw5XSxbNTIsImkiLDExXSxbNTIsImoiLDE1XSxbNTIsImsiLDE2XSxbNTIsImwiLDIwXSxbNTIsIm0iLDIxXSxbNTIsIm4iLDIzXSxbNTIsIm8iLDI0XSxbNTIsInAiLDI3XSxbNTIsInEiLDQwXSxbNTIsInIiLDQxXSxbMzYsWzgsIk8iLFsxNSwiaiJdLCJXIixbMTUsIm4iXSwiUCIsWzE1LCJrIl0sIlgiLFsxNSwibyJdLCJLIixbMTUsImkiXSwiQSIsWzE1LCJiIl0sIlQiLFsxNSwibCJdLCJFIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkIiLFsxNSwiYyJdLCJIIixbMTUsImciXSwiQU4iLFsxNSwicSJdLCJJIixbMTUsImgiXSwiRyIsWzE1LCJmIl0sIlUiLFsxNSwibSJdLCJBTyIsWzE1LCJyIl0sIkFBIixbMTUsInAiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiYWVfYmxvY2tfZG93bmxvYWRzIl0sWzUyLCJjIiwiYWVfYmxvY2tfZm9ybSJdLFs1MiwiZCIsImFlX2Jsb2NrX2hpc3RvcnkiXSxbNTIsImUiLCJhZV9ibG9ja19vdXRib3VuZF9jbGljayJdLFs1MiwiZiIsImFlX2Jsb2NrX3Njcm9sbCJdLFs1MiwiZyIsImFlX2Jsb2NrX3ZpZGVvIl0sWzM2LFs4LCJBIixbMTUsImIiXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl0sIkYiLFsxNSwiZyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImIiLFs0NiwiZCIsImUiXSxbNTIsImYiLFsyLFszMCxbMTUsImQiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiZyJdLFszLCJnIiwwXSxbNjMsWzcsImciXSxbMjMsWzE1LCJnIl0sWzE3LFsxNSwiZiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiZyJdLFszLCJnIixbMCxbMTUsImciXSwxXV1dLFs0NixbNTMsWzUyLCJoIixbImUiLFsyLFsxNixbMTUsImYiXSxbMTUsImciXV0sInRyaW0iLFs3XV1dXSxbMjIsWzIxLFsxNSwiaCJdLFs0NF1dLFs0NixbNTMsWzM2LFsxNSwiaCJdXV1dXV1dXV1dLFs1MCwiYyIsWzQ2LCJkIiwiZSIsImYiXSxbNTIsImciLFs4LCJzZWFyY2hfdGVybSIsWzE1LCJkIl1dXSxbNTIsImgiLFsyLFszMCxbMTUsImUiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiaSJdLFszLCJpIiwwXSxbNjMsWzcsImkiXSxbMjMsWzE1LCJpIl0sWzE3LFsxNSwiaCJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiaSJdLFszLCJpIixbMCxbMTUsImkiXSwxXV1dLFs0NixbNTMsWzUyLCJqIixbMixbMTYsWzE1LCJoIl0sWzE1LCJpIl1dLCJ0cmltIixbN11dXSxbNTIsImsiLFsiZiIsWzE1LCJqIl1dXSxbMjIsWzIxLFsxNSwiayJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiZyJdLFswLCJxXyIsWzE1LCJqIl1dLFsxNSwiayJdXV1dXV1dXV0sWzM2LFsxNSwiZyJdXV0sWzM2LFs4LCJCIixbMTUsImMiXSwiQSIsWzE1LCJiIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9hY3Rpdml0aWVzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJiIixbNDYsImMiLCJkIl0sWzM2LFszOSxbMTUsImQiXSxbImQiLFsxNSwiYyJdXSxbMTUsImMiXV1dXSxbMzYsWzgsIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1EZXRlY3Rpb24iLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm8iLFs0Nl0sWzY4LCJ3IixbNTMsWzIyLFsxLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiQUkiXV1dLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiSSJdXV1dLFs0NixbNTMsWzM2LFs3XV1dXV0sWzUyLCJ3IixbImIiLFsxNyxbMTUsImciXSwiTiJdXV0sWzIyLFsibiIsWzE1LCJ3Il1dLFs0NixbNTMsWzM2LFsxNSwidyJdXV1dXSxbNTIsIngiLFs3XV0sWzIyLFsicCJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJBIl1dXV1dLFsyMixbInEiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiQiJdXV1dXSxbMjIsWyJyIl0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkYiXV1dXV0sWzIyLFsidSJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJEIl1dXV1dLFsyMixbInMiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiRSJdXV1dXSxbMjIsWyJ0Il0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkMiXV1dXV0sWzIyLFsibCJdLFs0NixbNTMsWyJmIixbMTcsWzE1LCJnIl0sIk4iXSxbMTUsIngiXSx0cnVlXV1dXSxbMzYsWzE1LCJ4Il1dXSxbNDZdXSxbMzYsWzddXV0sWzUwLCJwIixbNDZdLFs2OCwidyIsWzUzLFszNixbMjgsWzI4LFsiYyIsInNjcmlwdFtkYXRhLXJlcXVpcmVtb2R1bGVePVwibWFnZS9cIl0iXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJxIixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWyJtIiwiWVhOelpYUnpMbk54ZFdGeVpYTndZV05sTG1OdmJTOD0iXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjXj1cIi8vIixbMTUsInciXV0sIlwiXSJdXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJyIixbNDZdLFsyMixbMjgsWyJlIixbMTcsWzE1LCJoIl0sIkkiXV1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNjgsInciLFs1MyxbNTIsInciLFsibSIsImMyaHZjR2xtZVM1amIyMD0iXV0sWzUyLCJ4IixbIm0iLCJjMmh2Y0dsbWVXTmtiaTVqYjIwPSJdXSxbMjIsWzMwLFsyOCxbMTUsInciXV0sWzI4LFsxNSwieCJdXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLCJzY3JpcHRbc3JjKj1cImNkbi4iLFsxNSwidyJdXSwiXCJdLCJdLCJtZXRhW3Byb3BlcnR5PVwib2c6aW1hZ2VcIl1bY29udGVudCo9XCJjZG4uIl0sWzE1LCJ3Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cImNkbi4iXSxbMTUsInciXV0sIlwiXSwiXSwibGlua1tyZWw9XCJwcmVjb25uZWN0XCJdW2hyZWYqPVwiZm9udHMuIl0sWzE1LCJ4Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cIml0ZXJhYmxlLXNob3BpZnlcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cInYuIl0sWzE1LCJ3Il1dLCJcIl0iXV1dXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwicyIsWzQ2XSxbNjgsInciLFs1MyxbNTIsInciLFsiZCIsInByb3RvY29sIl1dLFs1MiwieCIsWyJkIiwiaG9zdCJdXSxbNTIsInkiLFszOSxbMSxbMTUsInciXSxbMTUsIngiXV0sWzAsWzAsWzAsWzAsIltzcmNePVwiIixbMTUsInciXV0sIjovLyJdLFsxNSwieCJdXSwiL3dwLWNvbnRlbnRcIl0sIl0sIiJdXSxbNTIsInoiLFsibSIsIkxuZHZjbVJ3Y21WemN5NWpiMjA9Il1dLFs1MiwiYUEiLFsibSIsIkx5OXpMbmN1YjNKbiJdXSxbMjIsWzMwLFsyOCxbMTUsInoiXV0sWzI4LFsxNSwiYUEiXV1dLFs0NixbMzYsZmFsc2VdXV0sWzM2LFszMCxbInYiLFsxNSwieCJdLFsxNSwieiJdXSxbMjgsWzI4LFsiYyIsWzAsWzAsWzAsWzAsWzE1LCJ5Il0sIm1ldGFbbmFtZT1cImdlbmVyYXRvclwiXVtjb250ZW50Xj1cIldvcmRQcmVzcyBcIl0sIl0sImxpbmtbcmVsPVwiZG5zLXByZWZldGNoXCJdW2hyZWY9XCIiXSxbMTUsImFBIl1dLCJcIl0iXV1dXV1dXSxbNDZdXSxbMzYsZmFsc2VdXSxbNTAsInQiLFs0Nl0sWzY4LCJ3IixbNTMsWzUyLCJ3IixbMjgsWzI4LFsiYyIsWzAsIltjbGFzcyo9XCJ3b29jb21tZXJjZVwiXSwiLCJtZXRhW25hbWU9XCJnZW5lcmF0b3JcIl1bY29udGVudF49XCJXb29Db21tZXJjZSBcIl0iXV1dXV0sWzIyLFsxNSwidyJdLFs0NixbNTNdXV0sWzM2LFsxNSwidyJdXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJ1IixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjKj1cIndvb2NvbW1lcmNlXCJdLCIsImxpbmtbaHJlZio9XCJ3b29jb21tZXJjZVwiXSwiXSwiW2NsYXNzfD1cIndvb2NvbW1lcmNlXCJdIl1dXV1dLFsyMixbMTUsInciXSxbNDYsWzUzXV1dLFszNixbMTUsInciXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwidiIsWzQ2LCJ3IiwieCJdLFszNixbMSxbMTksWzE3LFsxNSwidyJdLCJsZW5ndGgiXSxbMTcsWzE1LCJ4Il0sImxlbmd0aCJdXSxbMjAsWzIsWzE1LCJ3Il0sInN1YnN0cmluZyIsWzcsWzM3LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sWzE3LFsxNSwieCJdLCJsZW5ndGgiXV0sWzE3LFsxNSwidyJdLCJsZW5ndGgiXV1dLFsxNSwieCJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciJdXSxbNTIsImQiLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRJbkNyb3NzQ29udGFpbmVyRGF0YSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9mZWF0dXJlRmxhZ3MiXV0sWzUyLCJqIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtU2NoZW1hIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImwiLFsicmVxdWlyZSIsImludGVybmFsLmlzRG9tUmVhZHkiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJmcm9tQmFzZTY0Il1dLFs1MiwibiIsWzUxLCIiLFs3LCJ3Il0sWzM2LFsyMCxbImsiLFsxNSwidyJdXSwiYXJyYXkiXV1dXSxbMzYsWzgsIkEiLFsxNSwibyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Eb3dubG9hZEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfdXJsIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJsaW5rX3RleHQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImZpbGVfbmFtZSIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywiZmlsZV9leHRlbnNpb24iLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiQSJdXSxbNTIsImciLCJmaWxlX2Rvd25sb2FkIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImUiLFs0NiwiZyJdLFs1MiwiaCIsWyJiIl1dLFs1MiwiaSIsWzddXSxbNTMsWzQxLCJqIl0sWzMsImoiLDBdLFs2MyxbNywiaiJdLFsyMyxbMTUsImoiXSxbMTcsWzE1LCJoIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJqIl0sWzMsImoiLFswLFsxNSwiaiJdLDFdXV0sWzQ2LFs1MyxbNTIsImsiLFsxNixbMTUsImgiXSxbMTUsImoiXV1dLFsyMixbImQiLFsxNSwiZyJdLFsxNSwiayJdXSxbNDYsWzUzLFsyLFsxNSwiaSJdLCJwdXNoIixbNyxbMTUsImsiXV1dXV1dXV1dXSxbMzYsWzE1LCJpIl1dXSxbNTAsImYiLFs0NiwiZyIsImgiXSxbNTIsImkiLFszMCxbMTUsImgiXSxbOF1dXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJUIl0sdHJ1ZV0sWzQzLFsxNSwiaSJdLFsxNyxbMTUsImMiXSwiQ1EiXSx0cnVlXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJaIl0sImEiXSxbNDMsWzE1LCJnIl0sImV2ZW50TWV0YWRhdGEiLFsxNSwiaSJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5jbGFpbURlc3RpbmF0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJlIl0sIkIiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Gb3JtQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm4iLFs0NiwibyIsInAiLCJxIl0sWzUyLCJyIixbMjAsWzIsWzE1LCJvIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dLFsyMixbMjAsWzE1LCJwIl0sWzQ0XV0sWzQ2LFs1MyxbMywicCIsWzE1LCJyIl1dXV1dLFsiYyIsWzE1LCJvIl0sWzUxLCIiLFs3LCJzIl0sWzUyLCJ0IixbMixbMTUsInMiXSwiZ2V0RXZlbnROYW1lIixbN11dXSxbNTIsInUiLFszMCxbMjAsWzE1LCJ0Il0sWzE1LCJsIl1dLFsyMCxbMTUsInQiXSxbMTUsImsiXV1dXSxbMjIsWzMwLFsyOCxbMTUsInUiXV0sWzI4LFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsIm8iXSxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzEsWzI4LFsxNSwicCJdXSxbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQUoiXV1dXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFs1MiwidiIsWzIsWzE1LCJzIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIkFBIl1dXV0sWzIyLFsxLFsyOCxbMTUsInIiXV0sWzIwLFsxNSwidiJdLFsxNSwibSJdXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzI4LFsiaCIsWzE3LFsxNSwiaSJdLCJCWiJdXV0sWzQ2LFs1MyxbMjIsWzIwLFsxNSwidiJdLFsxNSwibSJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV0sWzQ2LFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJrIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlMiXSxbNDRdXV1dXV1dXV1dXSxbMixbMTUsInMiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMSxbMTUsInYiXSxbMTUsInIiXV0sWzQ2LFs1MyxbNDEsInciXSxbMywidyIsWzE3LFsxNSwiZyJdLCJDIl1dLFs0MSwieCJdLFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJsIl1dLFs0NixbNTMsWzMsInciLFsxNyxbMTUsImciXSwiRCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidiJdLFsxNSwiayJdXSxbNDYsWzUzLFszLCJ3IixbMTcsWzE1LCJnIl0sIkUiXV0sWzMsIngiLFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJTIl1dXV1dXSxbNDYsWzIyLFsyMCxbMTUsInYiXSxbMTUsIm0iXV0sWzQ2LFs1MyxbMywidyIsWzE3LFsxNSwiZyJdLCJGIl1dLFszLCJ4IixbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiUyJdXV1dXV1dXV1dXSxbNTIsInkiLFs4XV0sWzQzLFsxNSwieSJdLFsxNyxbMTUsImciXSwiQSJdLFsxNSwidyJdXSxbMjIsWzE1LCJ4Il0sWzQ2LFs1MyxbNDMsWzE1LCJ5Il0sWzE3LFsxNSwiZyJdLCJCIl0sWzE1LCJ4Il1dXV1dLFsyLFsxNSwicyJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImYiXSwiRlQiXSxbMTUsInkiXV1dXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX2lkIixbNDRdXV0sWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fZGVzdGluYXRpb24iLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fbGVuZ3RoIixbNDRdXV0sWzIyLFsyMCxbMTUsInQiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fc3VibWl0X3RleHQiLFs0NF1dXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLFsxNSwibCJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJzZXRIaXREYXRhIixbNywiZmlyc3RfZmllbGRfaWQiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3R5cGUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3Bvc2l0aW9uIixbNDRdXV1dXV1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfZWNUeXBlcyJdXSxbNTIsImgiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJpIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaiIsWzE3LFsxNSwiZSJdLCJCIl1dLFs1MiwiayIsImZvcm1fc3VibWl0Il0sWzUyLCJsIiwiZm9ybV9zdGFydCJdLFs1MiwibSIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsIm4iXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtT3V0Ym91bmRDbGlja0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfY2xhc3NlcyIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywibGlua191cmwiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfZG9tYWluIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJvdXRib3VuZCIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJEIl1dLFs1MiwiZyIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtUGFnZVZpZXdBY3Rpdml0eSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJrIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsImwiXSxbMjIsWzMwLFsyMSxbMixbMTUsImwiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiaSJdXSxbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiaCJdXSxbNDYsWzUzLFsyLFsxNSwibCJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyMixbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIkJPIl1dXV0sWzQ2LFs1MyxbImQiLFsxNSwiayJdLFsxNyxbMTUsImYiXSwiSEUiXSxbMixbMTUsImwiXSwiZ2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZiJdLCJIRSJdXV1dXV1dLFsyLFsxNSwibCJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJDUSJdLGZhbHNlXV1dXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2V0UmVtb3RlQ29uZmlnUGFyYW1ldGVyIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkMiXV0sWzUyLCJpIixbMTcsWzE1LCJmIl0sIkFLIl1dLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9jY2RFbVNjcm9sbEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsInBlcmNlbnRfc2Nyb2xsZWQiLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbMzYsWzgsIkEiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1WaWRlb0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJqIixbNDYsImsiLCJsIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsIm0iXSxbNTIsIm4iLFsyLFsxNSwibSJdLCJnZXRFdmVudE5hbWUiLFs3XV1dLFs1MiwibyIsWzMwLFszMCxbMjAsWzE1LCJuIl0sWzE1LCJnIl1dLFsyMCxbMTUsIm4iXSxbMTUsImgiXV1dLFsyMCxbMTUsIm4iXSxbMTUsImkiXV1dXSxbMjIsWzMwLFsyOCxbMTUsIm8iXV0sWzI4LFsyLFsxNSwibSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsImsiXSxbMTUsImYiXV0sWzQ2LFs1MyxbMixbMTUsIm0iXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMixbMTUsIm0iXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMjgsWzE1LCJsIl1dLFs0NixbNTMsWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19jdXJyZW50X3RpbWUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX2R1cmF0aW9uIixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wZXJjZW50IixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wcm92aWRlciIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlkZW9fdGl0bGUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX3VybCIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlzaWJsZSIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJGIl1dLFs1MiwiZyIsInZpZGVvX3N0YXJ0Il0sWzUyLCJoIiwidmlkZW9fcHJvZ3Jlc3MiXSxbNTIsImkiLCJ2aWRlb19jb21wbGV0ZSJdLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiZiIsWzQ2LCJnIl0sWzIyLFsyLFsxNSwiZyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJCUyJdXV0sWzQ2LFs1MyxbMixbMTUsImciXSwic2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJJUCJdLCIxIl1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9ndGFnU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbMzYsWzgsIkEiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJtIiwibiIsIm8iXSxbNTAsInQiLFs0NiwidiJdLFs1MiwidyIsWzE2LFsxNSwiaSJdLFsxNSwidiJdXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNl1dXSxbNTMsWzQxLCJ4Il0sWzMsIngiLDBdLFs2MyxbNywieCJdLFsyMyxbMTUsIngiXSxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdXSxbMzMsWzE1LCJ4Il0sWzMsIngiLFswLFsxNSwieCJdLDFdXV0sWzQ2LFs1MyxbNTIsInkiLFsxNixbMTUsInciXSxbMTUsIngiXV1dLFsicSIsWzE1LCJwIl0sWzE3LFsxNSwieSJdLCJuYW1lIl0sWzE3LFsxNSwieSJdLCJ2YWx1ZSJdXV1dXV1dLFs1MCwidSIsWzQ2LCJ2Il0sWzIyLFszMCxbMjgsWzE1LCJyIl1dLFsyMSxbMTcsWzE1LCJyIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFszNixmYWxzZV1dXV0sWzQxLCJ3Il0sWzMsInciLFsxNixbMTUsInYiXSxbMTUsInMiXV1dLFsyMixbMjAsWzE1LCJ3Il0sWzQ0XV0sWzQ2LFs1MyxbMywidyIsWzE2LFsxNSwidiJdLFsxNSwiciJdXV1dXV0sWzM2LFsyOCxbMjgsWzE1LCJ3Il1dXV1dLFsyMixbMjgsWzE1LCJuIl1dLFs0NixbMzZdXV0sWzUyLCJwIixbMzAsWzE3LFsxNSwibSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXSxbMTcsWyJjIl0sImNvbnRhaW5lcklkIl1dXSxbNTIsInEiLFsiaCIsWzE1LCJmIl0sWzE1LCJvIl1dXSxbNTIsInIiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbImgiLFsxNSwiZCJdLFsxNSwibyJdXV0sWyIkMCJdXV0sWzUyLCJzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWyJoIixbMTUsImUiXSxbMTUsIm8iXV1dLFsiJDAiXV1dLFs1MyxbNDEsInYiXSxbMywidiIsMF0sWzYzLFs3LCJ2Il0sWzIzLFsxNSwidiJdLFsxNyxbMTUsIm4iXSwibGVuZ3RoIl1dLFszMyxbMTUsInYiXSxbMywidiIsWzAsWzE1LCJ2Il0sMV1dXSxbNDYsWzUzLFs1MiwidyIsWzE2LFsxNSwibiJdLFsxNSwidiJdXV0sWzIyLFszMCxbMTcsWzE1LCJ3Il0sImRpc2FsbG93QWxsUmVnaW9ucyJdLFsidSIsWzE3LFsxNSwidyJdLCJkaXNhbGxvd2VkUmVnaW9ucyJdXV0sWzQ2LFs1MyxbInQiLFsxNyxbMTUsInciXSwicmVkYWN0RmllbGRHcm91cCJdXV1dXV1dXV1dLFs1MCwiayIsWzQ2LCJtIl0sWzUyLCJuIixbOF1dLFsyMixbMjgsWzE1LCJtIl1dLFs0NixbMzYsWzE1LCJuIl1dXV0sWzUyLCJvIixbMixbMTUsIm0iXSwic3BsaXQiLFs3LCIsIl1dXSxbNTMsWzQxLCJwIl0sWzMsInAiLDBdLFs2MyxbNywicCJdLFsyMyxbMTUsInAiXSxbMTcsWzE1LCJvIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJwIl0sWzMsInAiLFswLFsxNSwicCJdLDFdXV0sWzQ2LFs1MyxbNTIsInEiLFsyLFsxNixbMTUsIm8iXSxbMTUsInAiXV0sInRyaW0iLFs3XV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNl1dXSxbNTIsInIiLFsyLFsxNSwicSJdLCJzcGxpdCIsWzcsIi0iXV1dLFs1MiwicyIsWzE2LFsxNSwiciJdLDBdXSxbNTIsInQiLFszOSxbMjAsWzE3LFsxNSwiciJdLCJsZW5ndGgiXSwyXSxbMTUsInEiXSxbNDRdXV0sWzIyLFszMCxbMjgsWzE1LCJzIl1dLFsyMSxbMTcsWzE1LCJzIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFs2XV1dXSxbMjIsWzEsWzIxLFsxNSwidCJdLFs0NF1dLFszMCxbMjMsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw0XSxbMTgsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw2XV1dLFs0NixbNTMsWzZdXV1dLFs0MyxbMTUsIm4iXSxbMTUsInEiXSx0cnVlXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJsIixbNDYsIm0iXSxbMjIsWzI4LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdXSxbNDYsWzM2LFs3XV1dXSxbNTIsIm4iLFs4XV0sWzUzLFs0MSwibyJdLFszLCJvIiwwXSxbNjMsWzcsIm8iXSxbMjMsWzE1LCJvIl0sWzE3LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdLCJsZW5ndGgiXV0sWzMzLFsxNSwibyJdLFszLCJvIixbMCxbMTUsIm8iXSwxXV1dLFs0NixbNTMsWzUyLCJwIixbMTYsWzE3LFsxNSwibSJdLCJzZXR0aW5nc1RhYmxlIl0sWzE1LCJvIl1dXSxbNTIsInEiLFsxNyxbMTUsInAiXSwicmVkYWN0RmllbGRHcm91cCJdXSxbMjIsWzI4LFsxNixbMTUsImkiXSxbMTUsInEiXV1dLFs0NixbNl1dXSxbNDMsWzE1LCJuIl0sWzE1LCJxIl0sWzgsInJlZGFjdEZpZWxkR3JvdXAiLFsxNSwicSJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiLGZhbHNlLCJkaXNhbGxvd2VkUmVnaW9ucyIsWzhdXV0sWzUyLCJyIixbMTYsWzE1LCJuIl0sWzE1LCJxIl1dXSxbMjIsWzE3LFsxNSwicCJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiXSxbNDYsWzUzLFs0MyxbMTUsInIiXSwiZGlzYWxsb3dBbGxSZWdpb25zIix0cnVlXSxbNl1dXV0sWzQzLFsxNSwiciJdLCJkaXNhbGxvd2VkUmVnaW9ucyIsWyJrIixbMTcsWzE1LCJwIl0sImRpc2FsbG93ZWRSZWdpb25zIl1dXV1dXV0sWzM2LFsyLFsxNSwiYiJdLCJ2YWx1ZXMiLFs3LFsxNSwibiJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImdldENvbnRhaW5lclZlcnNpb24iXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRDb3VudHJ5Q29kZSJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlZ2lvbkNvZGUiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2FjdGl2aXRpZXMiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkEiXV0sWzUyLCJpIixbOCwiR09PR0xFX1NJR05BTFMiLFs3LFs4LCJuYW1lIiwiYWxsb3dfZ29vZ2xlX3NpZ25hbHMiLCJ2YWx1ZSIsZmFsc2VdXSwiREVWSUNFX0FORF9HRU8iLFs3LFs4LCJuYW1lIiwiZ2VvX2dyYW51bGFyaXR5IiwidmFsdWUiLHRydWVdLFs4LCJuYW1lIiwicmVkYWN0X2RldmljZV9pbmZvIiwidmFsdWUiLHRydWVdXV1dLFszNixbOCwiQSIsWzE1LCJqIl0sIkIiLFsxNSwibCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJkIixbNDYsImUiXSxbNTIsImYiLFsyLFsxNSwiYyJdLCJBIixbN11dXSxbMjIsWzEsWzE1LCJmIl0sWzE4LFsxNyxbMTUsImYiXSwibGVuZ3RoIl0sMF1dLFs0NixbNTMsWzIsWzE1LCJlIl0sIm1lcmdlSGl0RGF0YUZvcktleSIsWzcsWzE3LFsxNSwiYiJdLCJGVCJdLFs4LCJwbGYiLFsyLFsxNSwiZiJdLCJqb2luIixbNywiLiJdXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2d0YWdTY2hlbWEiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtRGV0ZWN0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJkIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAKXQosImVudGl0aWVzIjp7CiJfX2MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfYXV0b19yZWRhY3QiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Zvcm0iOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fcGFnZV92aWV3Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX3Njcm9sbCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV92aWRlbyI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9maXJzdCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9sYXN0Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2dhX3JlZ3Njb3BlIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fZSI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2djdCI6eyI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX29ndF8xcF9kYXRhX3YyIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fc2V0X3Byb2R1Y3Rfc2V0dGluZ3MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KCgp9CiwiYmxvYiI6eyIxIjoiMSIsIjEwIjoiRy1WODRYUDhXR1hZfEdULVROR1hSNlE4IiwiMTEiOnRydWUsIjE0IjoiNjdtMCIsIjE1IjoiMCIsIjE2IjoiQ2hBSThPQ1cwd1lRcjVEZ2tKK2U4YU45RWgwQWgrZ0dmdmQrM09Bdi8wOU42aFdpc0VIZFJFZUxIb2hGaFNIU1hCb0NaSmM9IiwiMTciOiIiLCIxOSI6ImRhdGFMYXllciIsIjIiOnRydWUsIjIwIjoiIiwiMjEiOiJ3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20iLCIyMiI6ImV5SXdJam9pVGs4aUxDSXhJam9pVGs4dE1ETWlMQ0l5SWpwbVlXeHpaU3dpTXlJNkltZHZiMmRzWlM1dWJ5SXNJalFpT2lKeVpXZHBiMjR4SWl3aU5TSTZabUZzYzJVc0lqWWlPblJ5ZFdVc0lqY2lPaUpoWkY5emRHOXlZV2RsZkdGdVlXeDVkR2xqYzE5emRHOXlZV2RsZkdGa1gzVnpaWEpmWkdGMFlYeGhaRjl3WlhKemIyNWhiR2w2WVhScGIyNGlMQ0k1SWpwMGNuVmxmUSIsIjIzIjoiZ29vZ2xlLnRhZ21hbmFnZXIuZGVidWd1aTIucXVldWUiLCIyNCI6InRhZ2Fzc2lzdGFudC5nb29nbGUuY29tIiwiMjciOjAuMDA1LCIzIjoid3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIiwiMzAiOiJOTyIsIjMxIjoiTk8tMDMiLCIzMiI6ZmFsc2UsIjMzIjoicmVnaW9uMSIsIjM0IjoiRy1WODRYUDhXR1hZIiwiMzUiOiJHIiwiMzYiOiJodHRwczovL2Fkc2VydmljZS5nb29nbGUuY29tL3BhZ2VhZC9yZWdjbGsiLCIzNyI6Il9fVEFHR1lfSU5TVEFMTEVEIiwiMzgiOiJjY3QuZ29vZ2xlIiwiMzkiOiJnb29nVGFnZ3lSZWZlcnJlciIsIjQwIjoiaHR0cHM6Ly9jY3QuZ29vZ2xlL3RhZ2d5L2FnZW50LmpzIiwiNDEiOiJnb29nbGUudGFnbWFuYWdlci50YS5wcm9kcXVldWUiLCI0MiI6MC4wMSwiNDMiOiJ7XCJrZXlzXCI6W3tcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCS2x5VFgyanlvYnBRQ21mVXlCYmhCeVFIazlaMkhkTjVsSHhwQkF0SUtHTWNtencwZ0UrZWJsWUNtbTFHYTdiWWVUZHlkb0ptZTZJcGFTb0NVMElVVW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiZGVlNGIzNTEtYjBmNS00YzI3LWE4YzgtZWQ2NjA0NzdhNDRjXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRHRZQlJuUEJTMWc2bWVYTzFyUTVhNTJCNUZibmg3REM1anF2MDJpeEpzc24wazFKOXJjSENhVmMvenpSc25zSEJ6U29GS3M2SjhwSDdDY25RUDNFanc9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiYWQxOTNiMmEtNGE5MC00YzFhLWI3OWUtZGUzN2FjMzkxYmQyXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCTVowVU11ZEFlNFBvYWZTVHBVeFB0SWtmQmVDTWJGQlh2dHlSWXZITENTUS9FVXZFSnNtc1Y0dDZOQi9CRVZwcUwzSHY4Z05TUWg3SytTVW9vZjI1YW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDhjNGVmZTEtZmRkMC00MzZhLWFjOGYtOTIzZjExOTE4Nzg3XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRmZsdlVsK3hwSGFGVkNJWU8xS1BMeGt2K0FqZGw0ZDhydnJYaEk2emZwbmJCRHFJNTFERGt0SEhiM1pXSVM1N29EaDBLaXI5QXVDT29uMk1PeE5WOVk9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDMyYmMyNzAtOTllYS00MjIwLWI1NjItZTJjNWFlNzdkNGQ5XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCQVE4VGt5NERMV09KYkhPSGJWWURiUVpFZkVlbGI0RlRCOEVZTVFlUlFpTDFtMUx0QWQwcjN6ZXlMamdaMy9XMjRSOFZmYjIyelkyaXg2Vy9UZkNqakE9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiMDUwYTZlMTEtMzhhYi00ZjgwLTg5Y2ItN2IzMTliOTcwNGMwXCJ9XX0iLCI0NCI6IjExODg5NzkyMH4xMTg4OTc5MzAiLCI0NSI6dHJ1ZSwiNDYiOnsiMSI6IjEwMDAiLCIxMCI6IjY2dTAiLCIxMSI6IjY2ZzAiLCIxNCI6IjEwMDAiLCIxNiI6IlVTLUNPflVTLUNUflVTLU1UflVTLU5FflVTLU5IflVTLVRYflVTLU1OflVTLU5KflVTLU1EflVTLU9SflVTLURFIiwiMTciOiJVUy1DT35VUy1DVH5VUy1NVH5VUy1ORX5VUy1OSH5VUy1UWH5VUy1NTn5VUy1OSn5VUy1NRH5VUy1PUn5VUy1ERSIsIjIiOiI5IiwiMjAiOiI1MDAwIiwiMjEiOiI1MDAwIiwiMjIiOiI0LjQuMCIsIjIzIjoiMC4wLjAiLCIyNSI6IjEiLCIyNiI6IjQwMDAiLCIyNyI6IjEwMCIsIjMiOiI1IiwiNCI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhfGFkX3BlcnNvbmFsaXphdGlvbiIsIjQ0IjoiMTUwMDAiLCI0OCI6IjMwMDAwIiwiNSI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhIiwiNiI6IjEiLCI2MSI6IjEwMDAiLCI2MiI6IkE2T05IUlk3L2J2QnJvK0lNWmQvYTZMTmpuN1NTdjk5OVNrTi9oRkFFOUw2dk1yMzRkTmdmZFNWZFltdjRVK05IWmcxc3hkMzhSdGNpUnBSVXRJUlBnUUFBQUNDZXlKdmNtbG5hVzRpT2lKb2RIUndjem92TDNkM2R5NW5iMjluYkdWMFlXZHRZVzVoWjJWeUxtTnZiVG8wTkRNaUxDSm1aV0YwZFhKbElqb2lVMmhoY21Wa1YyOXlhMlZ5UlhoMFpXNWtaV1JNYVdabGRHbHRaU0lzSW1WNGNHbHllU0k2TVRjM05qY3lPVFl3TUN3aWFYTlVhR2x5WkZCaGNuUjVJanAwY25WbGZRPT0iLCI2MyI6IjEwMDAiLCI2NiI6IjEwMCIsIjciOiIxMCJ9LCI0OCI6dHJ1ZSwiNSI6IkctVjg0WFA4V0dYWSIsIjU1IjpbIkctVjg0WFA4V0dYWSJdLCI1NiI6W3siMSI6NDAzLCIzIjowLjUsIjQiOjExNTkzODQ2NSwiNSI6MTE1OTM4NDY2LCI2IjowLCI3IjoyfSx7IjEiOjQwNCwiMyI6MC41LCI0IjoxMTU5Mzg0NjgsIjUiOjExNTkzODQ2OSwiNiI6MCwiNyI6MX0seyIxIjo2MDIsIjMiOjAuMDEsIjQiOjEyMDEyNDQ1NSwiNSI6MTIwMTI0NDUzLCI2IjoxMjAxMjQ0NTQsIjciOjN9LHsiMSI6NTY5LCIyIjp0cnVlfSx7IjEiOjQ3NSwiMiI6dHJ1ZX0seyIxIjo1MDIsIjIiOnRydWV9LHsiMSI6NTc3LCIyIjp0cnVlfSx7IjEiOjU2OCwiMyI6MC4wMSwiNCI6MTE5NzkxNzQ5LCI1IjoxMTk3OTE3NDgsIjYiOjAsIjciOjF9LHsiMSI6NDkwLCIyIjp0cnVlfSx7IjEiOjQ5MSwiMyI6MC4wMSwiNCI6MTE4MDEyMDA3LCI1IjoxMTgwMTIwMDgsIjYiOjExODAxMjAwOSwiNyI6MX0seyIxIjo0ODAsIjIiOnRydWV9LHsiMSI6NTk0LCIzIjowLjAxLCI0IjoxMTk3OTM5NzQsIjUiOjExOTc5Mzk3MiwiNiI6MTE5NzkzOTczLCI3IjoxfSx7IjEiOjU5OSwiMiI6dHJ1ZX0seyIxIjo1ODAsIjMiOjAuMSwiNCI6MTE5NTI3MDIwLCI1IjoxMTk1MjcwMTksIjYiOjAsIjciOjF9LHsiMSI6NTIzLCIyIjp0cnVlfSx7IjEiOjU4MSwiMyI6MC4wMSwiNCI6MTE5OTQ4ODU0LCI1IjoxMTk5NDg4NTIsIjYiOjExOTk0ODg1MywiNyI6M30seyIxIjo1NTUsIjMiOjAuMDEsIjQiOjExOTI1OTYwNiwiNSI6MTE5MjU5NjA1LCI2IjowLCI3IjoyfSx7IjEiOjUwNCwiMiI6dHJ1ZX0seyIxIjo0NjIsIjMiOjAuMDUsIjQiOjExODgwNjUyNCwiNSI6MTE4ODA2NTI1LCI2IjoxMTg4MDY1MjYsIjciOjF9LHsiMSI6NDEzLCIyIjp0cnVlfSx7IjEiOjU5MywiMiI6dHJ1ZX0seyIxIjo1MDYsIjIiOnRydWV9LHsiMSI6NTAwLCIyIjp0cnVlfSx7IjEiOjU2MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMywiNSI6MTE5NDA0NzAyLCI2IjowLCI3IjoxfSx7IjEiOjQ4MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMSwiNSI6MTE5NDA0NzAwLCI2IjowLCI3IjoxfSx7IjEiOjQ1MCwiMyI6MC4wMSwiNCI6MTE3MjI3NzE0LCI1IjoxMTcyMjc3MTUsIjYiOjExNzIyNzcxNiwiNyI6M30seyIxIjo1ODMsIjMiOjAuNSwiNCI6MTE5ODk2ODAzLCI1IjoxMTk4OTY4MDIsIjYiOjAsIjciOjF9LHsiMSI6NDU4LCIyIjp0cnVlfSx7IjEiOjU4MiwiMyI6MC4wMSwiNCI6MTE5MzgxNjY0LCI1IjoxMTkzODE2NjIsIjYiOjExOTM4MTY2MywiNyI6MX0seyIxIjo1NzAsIjIiOnRydWV9LHsiMSI6NDk4LCIzIjowLjIsIjQiOjExNTYxNjk4NSwiNSI6MTE1NjE2OTg2LCI2IjowLCI3IjoxfSx7IjEiOjU5NSwiMiI6dHJ1ZX0seyIxIjo1ODksIjMiOjAuMDEsIjQiOjEyMDA4NDIxNSwiNSI6MTIwMDg0MjE0LCI2IjowLCI3IjoxfSx7IjEiOjQ5NSwiMyI6MC4wNSwiNCI6MTE4MTMxODEwLCI1IjoxMTgxMzE4MDgsIjYiOjExODEzMTgwOSwiNyI6M30seyIxIjo1ODcsIjMiOjAuMSwiNCI6MTE5NzMyMTcxLCI1IjoxMTk3MzIxNzAsIjYiOjAsIjciOjN9LHsiMSI6NTg0LCIyIjp0cnVlfSx7IjEiOjU2NCwiMyI6MC4wMDAxLCI0IjoxMTkyMDUzMTcsIjUiOjExOTIwNTMxNSwiNiI6MTE5MjA1MzE2LCI3IjoxfSx7IjEiOjU1NywiMiI6dHJ1ZX0seyIxIjo0MjcsIjMiOjAuMSwiNCI6MTE5NzI0MzIyLCI1IjoxMTk3MjQzMjAsIjYiOjExOTcyNDMyMSwiNyI6Mn0seyIxIjo1NzYsIjMiOjAuMDEsIjQiOjExOTMxNzgxMCwiNSI6MTE5MzE3ODExLCI2IjoxMTkzMTgxNzcsIjciOjN9LHsiMSI6NTczLCIyIjp0cnVlfSx7IjEiOjQ5OSwiMiI6dHJ1ZX0seyIxIjo1MTYsIjMiOjAuMSwiNCI6MTE4Mzk1MzM1LCI1IjoxMTgzOTUzMzMsIjYiOjExODM5NTMzNCwiNyI6MX0seyIxIjo1MjQsIjIiOnRydWV9XSwiNTkiOlsiRy1WODRYUDhXR1hZIl0sIjYiOiIyNTAwOTM2MDIiLCI2MiI6dHJ1ZSwiNjMiOjAuMDA1fQosInBlcm1pc3Npb25zIjp7CiJfX2MiOnt9CiwKIl9fY2NkX2F1dG9fcmVkYWN0Ijp7fQosCiJfX2NjZF9jb252ZXJzaW9uX21hcmtpbmciOnt9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9mb3JtIjp7ImFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlIjp7fSwibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uZm9ybUludGVyYWN0IiwiZ3RtLmZvcm1TdWJtaXQiLCJndG0uY2xpY2stdjIiXX0sImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9LCJkZXRlY3RfY2xpY2tfZXZlbnRzIjp7fSwiZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sImxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9wYWdlX3ZpZXciOnsibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uaGlzdG9yeUNoYW5nZS12MiJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2Nyb2xsIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLnNjcm9sbERlcHRoIl19LCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSI6e30sImRldGVjdF9zY3JvbGxfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2l0ZV9zZWFyY2giOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sInJlYWRfY29udGFpbmVyX2RhdGEiOnt9fQosCiJfX2NjZF9lbV92aWRlbyI6eyJsaXN0ZW5fZGF0YV9sYXllciI6eyJhY2Nlc3NUeXBlIjoic3BlY2lmaWMiLCJhbGxvd2VkRXZlbnRzIjpbImd0bS52aWRlbyJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiOnsiYWxsb3dGaXhNaXNzaW5nSmF2YVNjcmlwdEFwaSI6ZmFsc2V9fQosCiJfX2NjZF9nYV9maXJzdCI6eyJyZWFkX2RvbV9lbGVtZW50cyI6eyJhbGxvd2VkQ3NzU2VsZWN0b3JzIjoiYW55In0sImdldF91cmwiOnsidXJsUGFydHMiOiJzcGVjaWZpYyIsInByb3RvY29sIjp0cnVlLCJob3N0Ijp0cnVlfX0KLAoiX19jY2RfZ2FfbGFzdCI6e30KLAoiX19jY2RfZ2FfcmVnc2NvcGUiOnsicmVhZF9jb250YWluZXJfZGF0YSI6e319CiwKIl9fZSI6eyJyZWFkX2V2ZW50X2RhdGEiOnsiZXZlbnREYXRhQWNjZXNzIjoic3BlY2lmaWMiLCJrZXlQYXR0ZXJucyI6WyJldmVudCJdfX0KLAoiX19nY3QiOnsiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9fQosCiJfX29ndF8xcF9kYXRhX3YyIjp7ImRldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEiOnsibGltaXREYXRhU291cmNlcyI6dHJ1ZSwiYWxsb3dBdXRvRGF0YVNvdXJjZXMiOnRydWUsImFsbG93TWFudWFsRGF0YVNvdXJjZXMiOmZhbHNlLCJhbGxvd0NvZGVEYXRhU291cmNlcyI6ZmFsc2V9fQosCiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIjp7fQoKCn0KCgoKLCJzZWN1cml0eV9ncm91cHMiOnsKImdvb2dsZSI6WwoiX19jIgosCiJfX2NjZF9hdXRvX3JlZGFjdCIKLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIgosCiJfX2NjZF9lbV9kb3dubG9hZCIKLAoiX19jY2RfZW1fZm9ybSIKLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siCiwKIl9fY2NkX2VtX3BhZ2VfdmlldyIKLAoiX19jY2RfZW1fc2Nyb2xsIgosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIKLAoiX19jY2RfZW1fdmlkZW8iCiwKIl9fY2NkX2dhX2ZpcnN0IgosCiJfX2NjZF9nYV9sYXN0IgosCiJfX2NjZF9nYV9yZWdzY29wZSIKLAoiX19lIgosCiJfX2djdCIKLAoiX19vZ3RfMXBfZGF0YV92MiIKLAoiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIKCl0KCgp9CgoKCgoKfTsKCgoKCnZhciBrLGFhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/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":151,"timings":{"blocked":0,"dns":3,"connect":15,"send":0,"wait":39,"receive":59,"ssl":34},"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.981Z","timestamp":1785120761981,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 2249377\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 02:52:41 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=TvOIxnKfeV7JWWt73xjI6Pbc42EJIVIaysnuaM%2B5Z6Y5FLPjUpUCWKaLOYdWtTT0DjkWdU3E2bImWyUH%2FKiDkMiNfcgEqS38G%2BjvrrwwdvmEGtKMVoTerHWL24jH\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a6bee0daa-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":"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"]}],"data":{"size":27443,"size_decoded":11047,"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-07-27T05:24:59.882777Z","times_seen":1456,"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":"s2.coinmarketcap.com/static/img/coins/64x64/36148.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.215Z","timestamp":1785120762215,"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=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\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: 6826\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 2_JTDIWmisLYTgN8hoHca_UmpHx8hibBZWCQ7BaUT1p9yPEgJemydQ==\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":2840,"size_decoded":3411,"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-07-27T05:24:59.90522Z","times_seen":1021,"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.083Z","timestamp":1785120763083,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 3c0e2c7aa862f563f145f0a49102d595\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-07-27T05:26:55.704138Z","times_seen":932,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaUE5STp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LnR2LWNvbnRyb2wtZmllbGRzZXR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjMwcHg7bWluLXdpZHRoOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWNvbnRyb2wtZmllbGRzZXQtLXNwYWNpbmdfeHNtYWxse21hcmdpbi1ib3R0b206MTBweH0udHYtY29udHJvbC1maWVsZHNldC0tZmlyc3R7bWFyZ2luLXRvcDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtY29udHJvbC1maWVsZHNldHttYXJnaW4tYm90dG9tOjIwcHh9fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtc3RhcnR9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS12ZXJ0aWNhbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse2Zsb2F0Om5vbmV9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jaGVja2JveCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLWNoZWNrYm94e3BhZGRpbmctdG9wOjJweCFpbXBvcnRhbnR9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWV7ZmxvYXQ6bm9uZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVse2NsZWFyOmlubGluZS1zdGFydDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1ibG9jazoxMHB4IDA7cGFkZGluZy1pbmxpbmU6MCAyMHB4O3dpZHRoOjMwJX0udHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXRvcHtwYWRkaW5nLXRvcDowfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tdmVydGljYWx7cGFkZGluZzowIDAgNHB4O3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jb2xvcl9kYXJre2NvbG9yOnZhcigtLV8wLWlBOUkpfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0td2lkdGhfc21hbGx7d2lkdGg6MjYlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXdpZHRoX3NtYWxse3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tc2l6ZV9zbWFsbHtwYWRkaW5nLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHtwYWRkaW5nOjAgMCAxMHB4O3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxMnB4O2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246c3VwZXJ9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLWljb24gc3Zne2hlaWdodDoxMDAlO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle3dpZHRoOjcwJX0udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6NzQlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUsLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6YXV0b319LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RleHR7bWFyZ2luLWJvdHRvbToxMnB4fS50di1jb250cm9sLWZpZWxkc2V0X190ZXh0Omxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldC0tYmxvY2sgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle2Zsb2F0Om5vbmU7cGFkZGluZzowO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHttYXJnaW4tYm90dG9tOjEwcHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2x7ZGlzcGxheTpibG9ja30udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtY29udHJvbC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2wubGluazpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2lucHV0LXZhbHVle2ZsZXg6MTttYXJnaW4taW5saW5lLWVuZDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG57cGFkZGluZzowfS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG4gc3Zne21hcmdpbi1ib3R0b206MXB4fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1lbmQ6NXB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19zaW5nbGUtaWNvbi1idG57cGFkZGluZzowIDEycHh9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3NpbmdsZS1pY29uLWJ0biBzdmd7bWFyZ2luLWJvdHRvbTo0cHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RyYXNoLWljb24gc3Zne2NvbG9yOnJlZH0udHYtY29udHJvbC1maWVsZHNldF9faGludHtjb2xvcjp2YXIoLS1fMS1pQTlJKTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDoxMHB4fS50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1udW1iZXItaW5wdXRfX2lucHV0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLW51bWJlci1pbnB1dF9faW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sW2Rpc2FibGVkXTo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWljb25zKX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1FWFJ4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtRVhSeDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0udHYtY29udHJvbC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEzcHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowIDEycHg7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZSxiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO29wYWNpdHk6MX0udHYtY29udHJvbC1pbnB1dDotd2Via2l0LWF1dG9maWxsey13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApIWltcG9ydGFudDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDEwMDBweCAjZmZmIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC0tc2l6ZV94c21hbGx7aGVpZ2h0OjE5cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfc21hbGx7aGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfbGFyZ2V7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjQ4cHh9LnR2LWNvbnRyb2wtaW5wdXQtLWNvbm5lY3R7Ym9yZGVyLWlubGluZS1lbmQ6MDtib3JkZXItaW5saW5lLXN0YXJ0OjA7Ym9yZGVyLXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X2xlZnR7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MDtib3JkZXItaW5saW5lLXN0YXJ0Om5vbmU7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1pbmxpbmUtZW5kOm5vbmU7Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0udHYtY29udHJvbC1pbnB1dC0tY29ubmVjdF9yaWdodCNpZF91c2VybmFtZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWNvbnRyb2wtaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtib3JkZXItY29sb3I6dmFyKC0tXzAtRVhSeCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWNvbnRyb2wtaW5wdXRbcmVhZG9ubHldOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkLC50di1jb250cm9sLWlucHV0W2Rpc2FibGVkXXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50O2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDpob3ZlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtaW5wdXQuaS1lcnJvcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0LmktZXJyb3I6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWVycm9yOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKSFpbXBvcnRhbnR9fS50di1jb250cm9sLWlucHV0Lmktc3VjY2VzczphY3RpdmUsLnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWFjdGl2ZSkhaW1wb3J0YW50fS50di1jb250cm9sLWlucHV0LS1waG9uZXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246c3RhcnR9"}},"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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.433Z","timestamp":1785120763433,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: 5de641171379c6f0794a40ae33dd13ea\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/56999.40625ab5294b3ee623fd.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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.507Z","timestamp":1785120763507,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/56999.40625ab5294b3ee623fd.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/market-overview/?locale=en\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 02:52:43 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-1bfe\"\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:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 23749b2fb0cc8853f67934f331b5719d\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/13502.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.271Z","timestamp":1785120762271,"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=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\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: Sun, 26 Jul 2026 04:10:00 GMT\r\netag: \"0c8f6da4c5d03b754a4df9ebea16f241\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 81782\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: LHqEy05uOx3PXWEbNr4un2EwQyAMozDerboaZLFBiBm-EMBsnf94iQ==\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":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-07-27T05:24:59.870455Z","times_seen":875,"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":"s2.coinmarketcap.com/static/img/coins/64x64/2.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.220Z","timestamp":1785120762220,"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=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\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: Sun, 26 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: 80094\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: _thOSF0eeIs_3fNcAtCpYx8jwtQr-1dVHK_9FTVtOGGOQyMCdK8TKw==\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":2456,"size_decoded":2982,"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-07-27T05:24:59.934499Z","times_seen":19246,"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.079Z","timestamp":1785120763079,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: c70ce1d5bd88084939ad7382b770b832\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-07-27T05:29:38.636475Z","times_seen":1804,"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/94708.73d2bca37207c67a41f4.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.544Z","timestamp":1785120763544,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/94708.73d2bca37207c67a41f4.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/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.607Z","timestamp":1785120761607,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.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://360trustwealthavenue.stglen.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.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: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 394947\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":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-27T05:13:02.326236Z","times_seen":247289,"resource_available":false,"data":"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"}},"time_used":81,"timings":{"blocked":21,"dns":0,"connect":0,"send":0,"wait":33,"receive":27,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.817Z","timestamp":1785120761817,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 3808278\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 02:52:41 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=ETJl8mT9JTlbHx2GkQCtyytySo3GihtZTaTW1ZS1ULMBnZSYB3LgLbxLAGopKY0%2FhgsnLyRRD5%2FYY1OJr%2BHKlKkXKV8ZnrzgGem5jlPJuppDJbnMGamj3KkdqDr5\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859795bd70daa-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":3649,"size_decoded":3724,"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-07-27T05:24:59.926271Z","times_seen":1196,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQyMDkyLGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDc1MjAxKSxyPShlLHQscixuLHMsYSxvLGwpPT57bGV0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG09WyJsaWdodCIsImRhcmsiXTtmdW5jdGlvbiBjKHQpe3ZhciByOyhBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mb3JFYWNoKGU9PntsZXQgcj0iY2xhc3MiPT09ZSxuPXImJmE/cy5tYXAoZT0+YVtlXXx8ZSk6cztyPyhpLmNsYXNzTGlzdC5yZW1vdmUoLi4ubiksaS5jbGFzc0xpc3QuYWRkKGEmJmFbdF0/YVt0XTp0KSk6aS5zZXRBdHRyaWJ1dGUoZSx0KX0pLHI9dCxsJiZtLmluY2x1ZGVzKHIpJiYoaS5zdHlsZS5jb2xvclNjaGVtZT1yKX1pZihuKWMobik7ZWxzZSB0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0odCl8fHIsbj1vJiYic3lzdGVtIj09PWU/d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOmU7YyhuKX1jYXRjaChlKXt9fSxuPVsibGlnaHQiLCJkYXJrIl0scz0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIsYT0idSI8dHlwZW9mIHdpbmRvdyxvPXQuY3JlYXRlQ29udGV4dCh2b2lkIDApLGw9e3NldFRoZW1lOmU9Pnt9LHRoZW1lczpbXX0saT0oKT0+e3ZhciBlO3JldHVybiBudWxsIT0oZT10LnVzZUNvbnRleHQobykpP2U6bH0sbT1lPT50LnVzZUNvbnRleHQobyk/dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxlLmNoaWxkcmVuKTp0LmNyZWF0ZUVsZW1lbnQoZCx7Li4uZX0pLGM9WyJsaWdodCIsImRhcmsiXSxkPSh7Zm9yY2VkVGhlbWU6ZSxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOnI9ITEsZW5hYmxlU3lzdGVtOmE9ITAsZW5hYmxlQ29sb3JTY2hlbWU6bD0hMCxzdG9yYWdlS2V5Omk9InRoZW1lIix0aGVtZXM6bT1jLGRlZmF1bHRUaGVtZTpkPWE/InN5c3RlbSI6ImxpZ2h0IixhdHRyaWJ1dGU6cD0iZGF0YS10aGVtZSIsdmFsdWU6YixjaGlsZHJlbjp2LG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pPT57bGV0W3csU109dC51c2VTdGF0ZSgoKT0+aChpLGQpKSxbQyxFXT10LnVzZVN0YXRlKCgpPT4ic3lzdGVtIj09PXc/ZigpOncpLGs9Yj9PYmplY3QudmFsdWVzKGIpOm0sQT10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD1lO2lmKCF0KXJldHVybjsic3lzdGVtIj09PWUmJmEmJih0PWYoKSk7bGV0IHM9Yj9iW3RdOnQsbz1yP3koZyk6bnVsbCxpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxtPWU9PnsiY2xhc3MiPT09ZT8oaS5jbGFzc0xpc3QucmVtb3ZlKC4uLmspLHMmJmkuY2xhc3NMaXN0LmFkZChzKSk6ZS5zdGFydHNXaXRoKCJkYXRhLSIpJiYocz9pLnNldEF0dHJpYnV0ZShlLHMpOmkucmVtb3ZlQXR0cmlidXRlKGUpKX07aWYoQXJyYXkuaXNBcnJheShwKT9wLmZvckVhY2gobSk6bShwKSxsKXtsZXQgZT1uLmluY2x1ZGVzKGQpP2Q6bnVsbCxyPW4uaW5jbHVkZXModCk/dDplO2kuc3R5bGUuY29sb3JTY2hlbWU9cn1udWxsPT1vfHxvKCl9LFtnXSksTD10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lKHcpOmU7Uyh0KTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaSx0KX1jYXRjaChlKXt9fSxbd10pLFA9dC51c2VDYWxsYmFjayh0PT57RShmKHQpKSwic3lzdGVtIj09PXcmJmEmJiFlJiZBKCJzeXN0ZW0iKX0sW3csZV0pO3QudXNlRWZmZWN0KCgpPT57bGV0IGU9d2luZG93Lm1hdGNoTWVkaWEocyk7cmV0dXJuIGUuYWRkTGlzdGVuZXIoUCksUChlKSwoKT0+ZS5yZW1vdmVMaXN0ZW5lcihQKX0sW1BdKSx0LnVzZUVmZmVjdCgoKT0+e2xldCBlPWU9PntlLmtleT09PWkmJihlLm5ld1ZhbHVlP1MoZS5uZXdWYWx1ZSk6TChkKSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsZSksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdG9yYWdlIixlKX0sW0xdKSx0LnVzZUVmZmVjdCgoKT0+e0EobnVsbCE9ZT9lOncpfSxbZSx3XSk7bGV0IE89dC51c2VNZW1vKCgpPT4oe3RoZW1lOncsc2V0VGhlbWU6TCxmb3JjZWRUaGVtZTplLHJlc29sdmVkVGhlbWU6InN5c3RlbSI9PT13P0M6dyx0aGVtZXM6YT9bLi4ubSwic3lzdGVtIl06bSxzeXN0ZW1UaGVtZTphP0M6dm9pZCAwfSksW3csTCxlLEMsYSxtXSk7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLlByb3ZpZGVyLHt2YWx1ZTpPfSx0LmNyZWF0ZUVsZW1lbnQodSx7Zm9yY2VkVGhlbWU6ZSxzdG9yYWdlS2V5OmksYXR0cmlidXRlOnAsZW5hYmxlU3lzdGVtOmEsZW5hYmxlQ29sb3JTY2hlbWU6bCxkZWZhdWx0VGhlbWU6ZCx2YWx1ZTpiLHRoZW1lczptLG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pLHYpfSx1PXQubWVtbygoe2ZvcmNlZFRoZW1lOmUsc3RvcmFnZUtleTpuLGF0dHJpYnV0ZTpzLGVuYWJsZVN5c3RlbTphLGVuYWJsZUNvbG9yU2NoZW1lOm8sZGVmYXVsdFRoZW1lOmwsdmFsdWU6aSx0aGVtZXM6bSxub25jZTpjLHNjcmlwdFByb3BzOmR9KT0+e2xldCB1PUpTT04uc3RyaW5naWZ5KFtzLG4sbCxlLG0saSxhLG9dKS5zbGljZSgxLC0xKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiLHsuLi5kLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxub25jZToidSI8dHlwZW9mIHdpbmRvdz9jOiIiLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6YCgke3IudG9TdHJpbmcoKX0pKCR7dX0pYH19KX0pLGg9KGUsdCk9PntsZXQgcjtpZighYSl7dHJ5e3I9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSl8fHZvaWQgMH1jYXRjaChlKXt9cmV0dXJuIHJ8fHR9fSx5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBlJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiosKjo6YmVmb3JlLCo6OmFmdGVyey13ZWJraXQtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbW96LXRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7LW8tdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbXMtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fSIpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpLCgpPT57d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSksc2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQodCl9LDEpfX0sZj1lPT4oZXx8KGU9d2luZG93Lm1hdGNoTWVkaWEocykpLGUubWF0Y2hlcz8iZGFyayI6ImxpZ2h0Iik7ZS5zKFsiVGhlbWVQcm92aWRlciIsKCk9Pm0sInVzZVRoZW1lIiwoKT0+aV0pfSw4MzY2MSxlPT57InVzZSBzdHJpY3QiO3ZhciB0PWUuaSg5ODEzNCkscj1lLmkoNDIwOTIpO2Z1bmN0aW9uIG4oe2NoaWxkcmVuOmV9KXtyZXR1cm4oMCx0LmpzeCkoci5UaGVtZVByb3ZpZGVyLHthdHRyaWJ1dGU6ImNsYXNzIixkZWZhdWx0VGhlbWU6ImRhcmsiLGVuYWJsZVN5c3RlbTohMCxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOiEwLGNoaWxkcmVuOmV9KX1lLnMoWyJUaGVtZVByb3ZpZGVyIiwoKT0+bl0pfV0pOw=="}},"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/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%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://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.953Z","timestamp":1785120762953,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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/ticker-tape/?locale=en 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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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/2 200 \r\ndate: Mon, 27 Jul 2026 02:52:42 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 02:52:46 GMT\r\ncontent-security-policy: base-uri 'none'; 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-mijOFLKMMQsoQ40wYNl0Dw=='; default-src 'self' https: data: blob: wss: 'unsafe-inline'; object-src '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 02:52:34\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 66d1f899c23bed1bc8b1859bfe1fc3b1\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":"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":"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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":52009,"size_decoded":17382,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"58556de997f77bc8e5ab39d9dd021bf3","sha1":"4a37272cb7a27414a023f125eb0e1167b9a8f8d7","sha256":"9169d29d9f0f116c67df0e45a89f5373e63abcfe1e6c727ead97427d7c74a0ca","sha512":"6cec99d7225adbfc47fee170dbc95788c80d8b4cf158411f2f678790ee6becf1f6341872c823819077055ba1bf31bc984ccc46f0ba71175007828768a26c4785","ssdeep":"1536:Dp8RteetNzfMO53tCqNogd73eWn+66ceuvRMY:Dp8RteetNzfMO53tCqNlqWe4MY","tlshash":"fe33e75788098b05ead64a057c33b203f92903a89552689479acdcdc159ffc2f1a7bfe","first_seen":"2026-07-27T02:53:32.299831Z","last_seen":"2026-07-27T02:54:36.80208Z","times_seen":3,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UaWNrZXIgVGFwZSBXaWRnZXQ8L3RpdGxlPgoKCTxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KCgk8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM5MDcwLjU1Y2JjN2ExZGE5NjNiMzgyOWIzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NjkwNy5jNWFmOGFhN2I1MDgyYjE4NzVhNS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjgxNi4zNTVkNzViMjFhZTRiNTM0YTg0OS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80MzMyNS4yNTZmYTVhNTIxM2I5Y2I3MGY1Yy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA1LjY4MmU4OWVmMmRjNGM3MDQyM2M2LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzE1OTMyLjJhNzBkMzk3YzM0ZjJlOWRlOTRmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxNTA4Ljc2NzIxOTI4M2M2NWY0ZDRjYTZlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg0MDguZGU1MzQ2NjNlMDUyMDc1YmExMmYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODAwOTcuMGEzY2ZkYzI4MDI4Nzk1MjJhZWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cgo8c2NyaXB0IG5vbmNlPSJtaWpPRkxLTU1Rc29RNDB3WU5sMER3PT0iPgoJd2luZG93LmxvY2FsZSA9ICdlbic7Cgl3aW5kb3cubGFuZ3VhZ2UgPSAnZW4nOwo8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9Im1pak9GTEtNTVFzb1E0MHdZTmwwRHc9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7PC9zY3JpcHQ+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjJmNzc3YzIzYjY2MGQ4MzBhNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM1Mi4zMzAxMWYyNDRiOTJlYTBiNjQyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc5MjA3LjZhNjJmYzgwM2QzZDA3ODk4OTM2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83Mjc4LjczODc1OWVmMGFjMzM0NjkyNTNiLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODc5MjYuOGFiOWNmZWRlMTYyOTUxMDcwMTcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjVjOTBkYzZkNDEzMTlmMTMyZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+PHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF90aWNrZXJfdGFwZV93aWRnZXQuOTYyZjc3N2MyM2I2NjBkODMwYTUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjkzNTIuMzMwMTFmMjQ0YjkyZWEwYjY0MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQ3MDguNzNkMmJjYTM3MjA3YzY3YTQxZjQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83OTIwNy42YTYyZmM4MDNkM2QwNzg5ODkzNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzcyNzguNzM4NzU5ZWYwYWMzMzQ2OTI1M2IuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg3OTI2LjhhYjljZmVkZTE2Mjk1MTA3MDE3LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfdGlja2VyX3RhcGVfd2lkZ2V0Ljk2NWM5MGRjNmQ0MTMxOWYxMzJkLmpzIiBkZWZlcj48L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJtaWpPRkxLTU1Rc29RNDB3WU5sMER3PT0iPndpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjMsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC4zfTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwiZGlzcGxheU1vZGUiOiJhZGFwdGl2ZSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZSwic3ltYm9scyI6W3sicHJvTmFtZSI6IkZPUkVYQ09NOlNQWFVTRCIsInRpdGxlIjoiUyZQIDUwMCBJbmRleCJ9LHsicHJvTmFtZSI6IkZPUkVYQ09NOk5TWFVTRCIsInRpdGxlIjoiVVMgMTAwIENhc2ggQ0ZEIn0seyJwcm9OYW1lIjoiRlhfSURDOkVVUlVTRCIsInRpdGxlIjoiRVVSIHRvIFVTRCJ9LHsicHJvTmFtZSI6IkJJVFNUQU1QOkJUQ1VTRCIsInRpdGxlIjoiQml0Y29pbiJ9LHsicHJvTmFtZSI6IkJJVFNUQU1QOkVUSFVTRCIsInRpdGxlIjoiRXRoZXJldW0ifV0sImNvbG9yVGhlbWUiOiJsaWdodCIsImxvY2FsZSI6ImVuIn19OwoJCXdpbmRvdy5pbml0RGF0YS5jdXJyZW50TG9jYWxlSW5mbyA9IHsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9OwoJCXdpbmRvdy5pbml0RGF0YS5zZXR0aW5ncyA9IHsnUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLycsICdTM19ORVdTX0lNQUdFX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vbmV3cy8nLCAnV0VCUEFDS19TVEFUSUNfUEFUSCc6ICdodHRwczovL3N0YXRpYy50cmFkaW5ndmlldy5jb20vc3RhdGljL2J1bmRsZXMvJywgJ1RSQURJTkdfVVJMUyc6IHsnZnJlZSc6ICdodHRwczovL3BhcGVydHJhZGluZy1mcmVlLnRyYWRpbmd2aWV3LmNvbScsICdwcm8nOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmcudHJhZGluZ3ZpZXcuY29tJ30sICdDT05URVNUU19VUkwnOiAnL3BhcGVyLXRyYWRpbmcnLCAnQ1JVRF9TVE9SQUdFX1VSTCc6ICdodHRwczovL2NydWQtc3RvcmFnZS50cmFkaW5ndmlldy5jb20nfTs8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJtaWpPRkxLTU1Rc29RNDB3WU5sMER3PT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBlPXt3aGl0ZWxhYmVsOiEwLHBlcm1pc3Npb25PdmVycmlkZXM6ITAsbGlua0NhcHR1cmluZ0FsbG93ZWQ6ITAsc3ltYm9sX3NlYXJjaF9kZWZhdWx0X2V4Y2hhbmdlOiEwLHN5bWJvbF9zZWFyY2hfYWxsb3dlZF9leGNoYW5nZXM6ITB9O2NvbnN0IHQ9d2luZG93O3QuaW5pdERhdGE9dC5pbml0RGF0YXx8e307Y29uc3QgYT0vXCsvZyxuPS88XC8/W14+XSsoPnwkKS9nLHM9ZT0+ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShhLCIgIikpLnJlcGxhY2UobiwiIiksbz10LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSksYz0vKFteJj1dKyk9PyhbXiZdKikvZyxpPXt9O2xldCBsLHI9Yy5leGVjKG8pO2Zvcig7bnVsbCE9PXI7KWlbcyhyWzFdKV09cyhyWzJdKSxyPWMuZXhlYyhvKTt0cnl7bD1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh0LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSksIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bHx8KGw9e30pfWNhdGNoKGUpe2w9e319dmFyIGg7dC5pbml0RGF0YS5xdWVyeVNldHRpbmdzPWksdC5pbml0RGF0YS5oYXNoU2V0dGluZ3M9KGg9bCxPYmplY3Qua2V5cyhoKS5mb3JFYWNoKCh0PT57ZVt0XSYmZGVsZXRlIGhbdF19KSksaCl9KSgpOwoJPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0ibWlqT0ZMS01NUXNvUTQwd1lObDBEdz09Ij53aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCQl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0ibWlqT0ZMS01NUXNvUTQwd1lObDBEdz09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjsKCQl3aW5kb3cuQlVJTERfVElNRSA9ICIyMDI2LTA3LTI0VDExOjQwOjA4IjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1QgPSAid2lkZ2V0ZGF0YS50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNUID0gIndpZGdldGRhdGEtYmFja3VwLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LnVzZXIgPSB7J3VzZXJuYW1lJzogJ0d1ZXN0JywgJ2ZvbGxvd2luZyc6ICcwJywgJ2ZvbGxvd2Vycyc6ICcwJywgJ2lnbm9yZV9saXN0Jzoge30sICdkb19ub3RfdHJhY2snOiB0cnVlfTs8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9Im1pak9GTEtNTVFzb1E0MHdZTmwwRHc9PSI+bGV0IHBhcmFtcyA9IHt9OwoJCQljb25zdCBodHRwUmVnID0gbmV3IFJlZ0V4cCgnXmh0dHAocyk/Oi8vJyk7CgoJCQl0cnkgewoJCQkJcGFyYW1zID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKTsKCQkJfSBjYXRjaCAoZSkgewoJCQkJcGFyYW1zID0ge307CgkJCX0KCgkJCXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyA9IHsKCQkJCSd3c19hbmNlc3Rvcl9vcmlnaW4nOiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zICYmIHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoID8gd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1t3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCAtIDFdLnJlcGxhY2UoaHR0cFJlZywgJycpIDogbnVsbCwKCQkJCSd3c19wYWdlX3VyaSc6IHBhcmFtc1sncGFnZS11cmknXSwKCQkJfTsoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpufT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBzPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHBfbmV3Iiksbz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lKyI9IixuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtsZXQgcz1uW2VdO2Zvcig7IiAiPT09cy5jaGFyQXQoMCk7KXM9cy5zdWJzdHJpbmcoMSxzLmxlbmd0aCk7aWYoMD09PXMuaW5kZXhPZih0KSlyZXR1cm4gcy5zdWJzdHJpbmcodC5sZW5ndGgscy5sZW5ndGgpfXJldHVybiBudWxsfSgidHZfYXBwIil8fCIiO3N8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IXMpfHwhKCJuZXciPT09ZXx8IW8pfWNvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yLG49dCYmIm9udG91Y2hzdGFydCJpbiB3aW5kb3cscz0odCYmbiYmd2luZG93LHQmJihufHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpLHQmJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSx0JiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImZpcmVmb3giKSx0JiYvXHNFZGdlXC9cZFxkXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdCYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJGeGlPUyIpLHQmJi9tYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL1dpbjMyfFdpbjY0L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9MaW51eC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpLG89dCYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGk9dCYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyPXQmJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxjPXQmJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksYT1zfHxvfHxpfHxyO2NvbnN0IF89bmV3IE1hcDtmdW5jdGlvbiBkKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxuPWAke3R9JHtlfWA7cmV0dXJuIF8uaGFzKG4pfHxfLnNldChuLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG4paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHM9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxvPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IGk7Zm9yKGxldCBlPXMubGVuZ3RoLTE7ZT49MDtlLS0paWYoaT1uZXcgUmVnRXhwKHNbZV0pLGkudGVzdChvKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksXy5nZXQobik/PyExfWNvbnN0IGg9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbD17QW5kcm9pZDooKT0+cyxCbGFja0JlcnJ5OigpPT5vLGlPUzooKT0+aSxPcGVyYTooKT0+cixpc0lQYWQ6KCk9PmMsYW55OigpPT5hfTtoLmlzTW9iaWxlPWwsaC5vbldpZGdldD1kO2NvbnN0IHU9KCk9Pnt9LGc9In5tfiI7Y2xhc3MgbXtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuc2Vzc2lvbmlkPW51bGwsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2Jhc2U9ZSx0aGlzLl9vcHRpb25zPXt0aW1lb3V0OnQudGltZW91dHx8MmU0LGNvbm5lY3Rpb25UeXBlOnQuY29ubmVjdGlvblR5cGUsYXBpS2V5OnQuYXBpS2V5fX1jb25uZWN0KCl7dGhpcy5fc29ja2V0PW5ldyBXZWJTb2NrZXQodGhpcy5fcHJlcGFyZVVybCgpKSwKdGhpcy5fc29ja2V0Lm9ubWVzc2FnZT1lPT57aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIFdlYlNvY2tldCBtZXNzYWdlIHNob3VsZCBiZSBhIHN0cmluZy4gUmVjaWV2ZWQgJHtPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZS5kYXRhKX1gKTt0aGlzLl9vbkRhdGEoZS5kYXRhKX0sdGhpcy5fc29ja2V0Lm9uY2xvc2U9dGhpcy5fb25DbG9zZS5iaW5kKHRoaXMpLHRoaXMuX3NvY2tldC5vbmVycm9yPXRoaXMuX29uRXJyb3IuYmluZCh0aGlzKX1zZW5kKGUpe3RoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnNlbmQodGhpcy5fZW5jb2RlKGUpKX1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9dSx0aGlzLl9zb2NrZXQub25jbG9zZT11LHRoaXMuX3NvY2tldC5vbmVycm9yPXUsdGhpcy5fc29ja2V0LmNsb3NlKCkpfV9jbGVhcklkbGVUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsKX1fZW5jb2RlKGUpe2xldCB0LG49IiI7Y29uc3Qgcz1BcnJheS5pc0FycmF5KGUpP2U6W2VdLG89cy5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxvO2UrKyl0PW51bGw9PT1zW2VdfHx2b2lkIDA9PT1zW2VdPyIiOm0uX3N0cmluZ2lmeShzW2VdKSxuKz1nK3QubGVuZ3RoK2crdDtyZXR1cm4gbn1fZGVjb2RlKGUpe2NvbnN0IHQ9W107bGV0IG4scztkb3tpZihlLnN1YnN0cmluZygwLDMpIT09ZylyZXR1cm4gdDtuPSIiLHM9IiI7Y29uc3Qgbz0oZT1lLnN1YnN0cmluZygzKSkubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8bzt0Kyspe2lmKHM9TnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSksTnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSkhPT1zKXtlPWUuc3Vic3RyaW5nKG4ubGVuZ3RoKzMpLG49TnVtYmVyKG4pO2JyZWFrfW4rPXN9dC5wdXNoKGUuc3Vic3RyaW5nKDAsbikpLGU9ZS5zdWJzdHJpbmcobil9d2hpbGUoIiIhPT1lKTtyZXR1cm4gdH1fb25EYXRhKGUpe3RoaXMuX3NldFRpbWVvdXQoKTtjb25zdCB0PXRoaXMuX2RlY29kZShlKSxuPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5fb25NZXNzYWdlKHRbZV0pfV9zZXRUaW1lb3V0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9vblRpbWVvdXQuYmluZCh0aGlzKSx0aGlzLl9vcHRpb25zLnRpbWVvdXQpfV9vblRpbWVvdXQoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9vbkRpc2Nvbm5lY3Qoe2NvZGU6NGUzLHJlYXNvbjoic29ja2V0LmlvIHRpbWVvdXQiLHdhc0NsZWFuOiExfSl9X29uTWVzc2FnZShlKXt0aGlzLnNlc3Npb25pZD90aGlzLl9jaGVja0lmSGVhcnRiZWF0KGUpP3RoaXMuX29uSGVhcnRiZWF0KGUuc2xpY2UoMykpOnRoaXMuX2NoZWNrSWZKc29uKGUpP3RoaXMuX2Jhc2Uub25NZXNzYWdlKEpTT04ucGFyc2UoZS5zbGljZSgzKSkpOnRoaXMuX2Jhc2Uub25NZXNzYWdlKGUpOih0aGlzLnNlc3Npb25pZD1lLHRoaXMuX29uQ29ubmVjdCgpKX1fY2hlY2tJZkhlYXJ0YmVhdChlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJoIil9X2NoZWNrSWZKc29uKGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImoiKX1fY2hlY2tNZXNzYWdlVHlwZShlLHQpe3JldHVybiBlLnN1YnN0cmluZygwLDMpPT09In4iK3QrIn4ifV9vbkhlYXJ0YmVhdChlKXt0aGlzLnNlbmQoIn5ofiIrZSl9X29uQ29ubmVjdCgpe3RoaXMuY29ubmVjdGVkPSEwLHRoaXMuX2Jhc2Uub25Db25uZWN0KCl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2Uub25EaXNjb25uZWN0KGUpLHRoaXMuc2Vzc2lvbmlkPW51bGx9X2NsZWFyKCl7dGhpcy5jb25uZWN0ZWQ9ITF9X3ByZXBhcmVVcmwoKXtjb25zdCB0PWsodGhpcy5fYmFzZS5ob3N0KTtpZih0LnBhdGhuYW1lKz0ic29ja2V0LmlvL3dlYnNvY2tldCIsdC5wcm90b2NvbD0id3NzOiIsdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJmcm9tIix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSw1MCkpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZGF0ZSIsd2luZG93LkJVSUxEX1RJTUV8fCIiKSxlKCJhbnkiKSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjbGllbnQiLCJtb2JpbGUiKSx0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInR5cGUiLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUpLHdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyl7Y29uc3R7d3NfcGFnZV91cmk6ZSx3c19hbmNlc3Rvcl9vcmlnaW46bn09d2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTO2UmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgicGFnZS11cmkiLGUpLG4mJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYW5jZXN0b3Itb3JpZ2luIixuKX1jb25zdCBuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpfHx3aW5kb3cubG9jYXRpb24uaGFzaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIik7cmV0dXJuIGQoKXx8bnx8dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhdXRoIiwic2Vzc2lvbmlkIiksdm9pZCAwIT09dGhpcy5fb3B0aW9ucy5hcGlLZXkmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXBpX2tleSIsdGhpcy5fb3B0aW9ucy5hcGlLZXkpLHQuaHJlZn1fb25DbG9zZShlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fb25EaXNjb25uZWN0KGUpfV9vbkVycm9yKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2UuZW1pdCgiZXJyb3IiLFtlXSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1zdGF0aWMgX3N0cmluZ2lmeShlKXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT8ifmp+IitKU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSl9fWNsYXNzIHd7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhvc3Q9ZSwKdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl9ldmVudHM9e30sdGhpcy50cmFuc3BvcnQ9dGhpcy5fZ2V0VHJhbnNwb3J0KHQpfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkfWlzQ29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfWNvbm5lY3QoKXt0aGlzLmlzQ29ubmVjdGVkKCl8fCh0aGlzLl9jb25uZWN0aW5nJiZ0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMudHJhbnNwb3J0LmNvbm5lY3QoKSl9c2VuZChlKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkJiZ0aGlzLnRyYW5zcG9ydC5zZW5kKGUpfWRpc2Nvbm5lY3QoKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuZGlzY29ubmVjdCgpfW9uKGUsdCl7ZSBpbiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHNbZV09W10pLHRoaXMuX2V2ZW50c1tlXS5wdXNoKHQpfW9mZkFsbCgpe3RoaXMuX2V2ZW50cz17fX1vbk1lc3NhZ2UoZSl7dGhpcy5lbWl0KCJtZXNzYWdlIixbZV0pfWVtaXQoZSx0PVtdKXtpZihlIGluIHRoaXMuX2V2ZW50cyl7Y29uc3Qgbj10aGlzLl9ldmVudHNbZV0uY29uY2F0KCkscz1uLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bZV0uYXBwbHkodGhpcyx0KX19b25Db25uZWN0KCl7dGhpcy5jbGVhcigpLHRoaXMuZW1pdCgiY29ubmVjdCIpfW9uRGlzY29ubmVjdChlKXt0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLFtlXSl9Y2xlYXIoKXt0aGlzLl9jb25uZWN0aW5nPSExfV9nZXRUcmFuc3BvcnQoZSl7cmV0dXJuIG5ldyBtKHRoaXMsZSl9fWZ1bmN0aW9uIGsoZSl7Y29uc3QgdD0tMSE9PWUuaW5kZXhPZigiLyIpP25ldyBVUkwoZSk6bmV3IFVSTCgid3NzOi8vIitlKTtpZigid3NzOiIhPT10LnByb3RvY29sJiYiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHdlYnNvY2tldCBiYXNlICIrZSk7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdC5zZWFyY2g9IiIsdC51c2VybmFtZT0iIix0LnBhc3N3b3JkPSIiLHR9dmFyIHAsYjshZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0zMDBdPSJOb3JtYWwiLGVbZS5BZnRlckNsb3NlRXZlbnQ9NWUzXT0iQWZ0ZXJDbG9zZUV2ZW50In0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlW2UuSW5mbz0wXT0iSW5mbyIsZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuRGVidWc9Ml09IkRlYnVnIixlW2UuRXJyb3I9M109IkVycm9yIn0oYnx8KGI9e30pKTtjb25zdCBmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZOdW1iZXIod2luZG93LlRFTEVNRVRSWV9XU19FUlJPUl9MT0dTX1RIUkVTSE9MRCl8fDA7dmFyIHk7IWZ1bmN0aW9uKGUpe2VbZS5QaW5nSW50ZXJ2YWw9MWU0XT0iUGluZ0ludGVydmFsIixlW2UuTWF4UGluZ3NDb3VudD0xMF09Ik1heFBpbmdzQ291bnQiLGVbZS5NYXhSZWRpcmVjdHM9MjBdPSJNYXhSZWRpcmVjdHMiLGVbZS5NYXhSZWNvbm5lY3RzPTIwXT0iTWF4UmVjb25uZWN0cyJ9KHl8fCh5PXt9KSk7Y2xhc3MgVHtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuX3F1ZXVlU3RhY2s9W10sdGhpcy5fbG9nc1F1ZXVlPVtdLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXSx0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MCx0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLl9pbml0aWFsSG9zdD10LmluaXRpYWxIb3N0fHxudWxsLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9ZSx0aGlzLl9wcm9Ib3N0PXQucHJvSG9zdCx0aGlzLl9yZWNvbm5lY3RIb3N0PXQucmVjb25uZWN0SG9zdCx0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dD0hMD09PXQubm9SZWNvbm5lY3RBZnRlclRpbWVvdXQsdGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0PXQuZGF0YVJlcXVlc3RUaW1lb3V0LHRoaXMuX2Nvbm5lY3Rpb25UeXBlPXQuY29ubmVjdGlvblR5cGUsdGhpcy5fYXBpS2V5PXQuYXBpS2V5LHRoaXMuX2RvQ29ubmVjdCgpLHQucGluZ1JlcXVpcmVkJiYtMT09PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigibm9waW5nIikmJnRoaXMuX3N0YXJ0UGluZygpfWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCl9cmVzZXRDb3VudGVycygpe3RoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wfXNldExvZ2dlcihlLHQpe3RoaXMuX2xvZ2dlcj1lLHRoaXMuX2dldExvZ0hpc3Rvcnk9dCx0aGlzLl9mbHVzaExvZ3MoKX1zZXRUZWxlbWV0cnkoZSl7dGhpcy5fdGVsZW1ldHJ5PWUsdGhpcy5fdGVsZW1ldHJ5LnJlcG9ydFNlbnQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25UZWxlbWV0cnlTZW50KSx0aGlzLl9mbHVzaFRlbGVtZXRyeSgpfW9uUmVjb25uZWN0KGUpe3RoaXMuX29uUmVjb25uZWN0PWV9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl9aXNDb25uZWN0aW5nKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKX1vbihlLHQpe3JldHVybiEhdGhpcy5fc29ja2V0JiYoImNvbm5lY3QiPT09ZSYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCk/dCgpOiJkaXNjb25uZWN0Ij09PWU/dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpOnRoaXMuX3NvY2tldC5vbihlLHQpLCEwKX1nZXRTZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQudHJhbnNwb3J0P3RoaXMuX3NvY2tldC50cmFuc3BvcnQuc2Vzc2lvbmlkOm51bGx9c2VuZChlKXtyZXR1cm4gdGhpcy5pc0Nvbm5lY3RlZCgpPyh0aGlzLl9zb2NrZXQuc2VuZChlKSwhMCk6KHRoaXMuX3F1ZXVlTWVzc2FnZShlKSwhMSl9CmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWR9Z2V0SG9zdCgpe2NvbnN0IGU9dGhpcy5fdHJ5R2V0UHJvSG9zdCgpO3JldHVybiBudWxsIT09ZT9lOnRoaXMuX3JlY29ubmVjdEhvc3QmJnRoaXMuX3JlY29ubmVjdENvdW50PjM/dGhpcy5fcmVjb25uZWN0SG9zdDp0aGlzLl9zdWdnZXN0ZWRIb3N0fWdldFJlY29ubmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50fWdldFJlZGlyZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudH1nZXRDb25uZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvblN0YXJ0fWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSwodGhpcy5pc0Nvbm5lY3RlZCgpfHx0aGlzLmlzQ29ubmVjdGluZygpKSYmKHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nsb3NlU29ja2V0KCkpfWZvcmJpZENvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITAsdGhpcy5kaXNjb25uZWN0KCl9YWxsb3dDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuY29ubmVjdCgpfWlzTWF4UmVkaXJlY3RzKCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQ+PTIwfWlzTWF4UmVjb25uZWN0cygpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudD49MjB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fcGluZ0luZm98fG51bGx9Z2V0QXBpS2V5KCl7cmV0dXJuIHRoaXMuX2FwaUtleX1fdHJ5R2V0UHJvSG9zdCgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmImJhdHRsZSI9PT13aW5kb3cuZW52aXJvbm1lbnQmJiF0aGlzLl9yZWRpcmVjdENvdW50JiYtMT09PXdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoIndzX2hvc3QiKT90aGlzLl9pbml0aWFsSG9zdD90aGlzLl9pbml0aWFsSG9zdDp2b2lkIDAhPT13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW4/dGhpcy5fcHJvSG9zdHx8dGhpcy5fc3VnZ2VzdGVkSG9zdDpudWxsOm51bGx9X3F1ZXVlTWVzc2FnZShlKXswPT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJnRoaXMuX2xvZ01lc3NhZ2UoMCwiU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQuIFF1ZXVlZCBhIG1lc3NhZ2UiKSx0aGlzLl9xdWV1ZVN0YWNrLnB1c2goZSl9X3Byb2Nlc3NNZXNzYWdlUXVldWUoKXswIT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJih0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NpbmcgcXVldWVkIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjay5mb3JFYWNoKHRoaXMuc2VuZC5iaW5kKHRoaXMpKSx0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NlZCAiK3RoaXMuX3F1ZXVlU3RhY2subGVuZ3RoKyIgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrPVtdKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0fHxudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dHx8KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl90cnlSZWNvbm5lY3QuYmluZCh0aGlzKSw1ZTMpKSx0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCk7bGV0IHQ9ImRpc2Nvbm5lY3Qgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCk7ZSYmKHQrPSIsIGNvZGU6IitlLmNvZGUrIiwgcmVhc29uOiIrZS5yZWFzb24sMTAwNT09PWUuY29kZSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2NvZGVfMTAwNSIpKSx0aGlzLl9sb2dNZXNzYWdlKDAsdCksdGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdChlKSx0aGlzLl9jbG9zZVNvY2tldCgpLHRoaXMuX3F1ZXVlU3RhY2s9W119X2Nsb3NlU29ja2V0KCl7bnVsbCE9PXRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vZmZBbGwoKSx0aGlzLl9zb2NrZXQuZGlzY29ubmVjdCgpLHRoaXMuX3NvY2tldD1udWxsKX1fbG9nTWVzc2FnZShlLHQpe2NvbnN0IG49e21ldGhvZDplLG1lc3NhZ2U6dH07dGhpcy5fbG9nZ2VyP3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShuKToobi5tZXNzYWdlPWBbJHsobmV3IERhdGUpLnRvSVNPU3RyaW5nKCl9XSAke24ubWVzc2FnZX1gLHRoaXMuX2xvZ3NRdWV1ZS5wdXNoKG4pKX1fZmx1c2hMb2dNZXNzYWdlKGUpe3N3aXRjaChlLm1ldGhvZCl7Y2FzZSAyOnRoaXMuX2xvZ2dlci5sb2dEZWJ1ZyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMzp0aGlzLl9sb2dnZXIubG9nRXJyb3IoZS5tZXNzYWdlKTticmVhaztjYXNlIDA6dGhpcy5fbG9nZ2VyLmxvZ0luZm8oZS5tZXNzYWdlKTticmVhaztjYXNlIDE6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChlLm1lc3NhZ2UpfX1fZmx1c2hMb2dzKCl7dGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBTdGFydC4ifSksdGhpcy5fbG9nc1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaExvZ01lc3NhZ2UoZSl9KSksdGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBFbmQuIn0pLHRoaXMuX2xvZ3NRdWV1ZT1bXX1fc2VuZFRlbGVtZXRyeShlLHQpe2NvbnN0IG49e2V2ZW50OmUscGFyYW1zOnR9O3RoaXMuX3RlbGVtZXRyeT90aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChuKTp0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUucHVzaChuKX1fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl7dGhpcy5fdGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLmV2ZW50LGUucGFyYW1zLCExKX1fZmx1c2hUZWxlbWV0cnkoKXt0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpfSkpLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXX1fZG9Db25uZWN0KCl7CnRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfHx0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCkpfHwodGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX2hvc3Q9dGhpcy5nZXRIb3N0KCksdGhpcy5fc29ja2V0PW5ldyB3KHRoaXMuX2hvc3Qse3RpbWVvdXQ6dGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0LGNvbm5lY3Rpb25UeXBlOnRoaXMuX2Nvbm5lY3Rpb25UeXBlLGFwaUtleTp0aGlzLl9hcGlLZXl9KSx0aGlzLl9sb2dNZXNzYWdlKDAsIkNvbm5lY3RpbmcgdG8gIit0aGlzLl9ob3N0KSx0aGlzLl9iaW5kRXZlbnRzKCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fc29ja2V0LmNvbm5lY3QoKSxwZXJmb3JtYW5jZS5tYXJrKCJTV1NDIix7ZGV0YWlsOiJTdGFydCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSx0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e3BlcmZvcm1hbmNlLm1hcmsoIkVXU0MiLHtkZXRhaWw6IkVuZCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSxwZXJmb3JtYW5jZS5tZWFzdXJlKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBkZWxheSIsIlNXU0MiLCJFV1NDIil9KSkpfV9wcm9wYWdhdGVEaXNjb25uZWN0KGUpe2NvbnN0IHQ9dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5sZW5ndGg7Zm9yKGxldCBuPTA7bjx0O24rKyl0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzW25dKGV8fHt9KX1fYmluZEV2ZW50cygpe3RoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57Y29uc3QgZT10aGlzLmdldFNlc3Npb25JZCgpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO2lmKHQucmVkaXJlY3QpcmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQrPTEsdGhpcy5fc3VnZ2VzdGVkSG9zdD10LnJlZGlyZWN0LHRoaXMuaXNNYXhSZWRpcmVjdHMoKSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgicmVkaXJlY3RfYmFpbG91dCIpLHZvaWQgdGhpcy5fcmVkaXJlY3QoKX10aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiY29ubmVjdCBzZXNzaW9uOiIrZSl9KSksdGhpcy5fc29ja2V0Lm9uKCJkaXNjb25uZWN0Iix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJjbG9zZSIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiZXJyb3IiLChlPT57dGhpcy5fbG9nTWVzc2FnZSgwLG5ldyBEYXRlKyIgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCkrIiB3ZWJzb2NrZXQgZXJyb3I6IitKU09OLnN0cmluZ2lmeShlKSksdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yIiksdGhpcy5fZXJyb3JzQ291bnQrKywhdGhpcy5fZXJyb3JzSW5mb1NlbnQmJnRoaXMuX2Vycm9yc0NvdW50Pj1mJiYodm9pZCAwIT09dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2smJih0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfY29ubmVjdF9zdGFjayIse3RleHQ6dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2t9KSxkZWxldGUgdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2spLHZvaWQgMCE9PXRoaXMuX2dldExvZ0hpc3RvcnkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9sb2ciLHt0ZXh0OnRoaXMuX2dldExvZ0hpc3RvcnkoNTApLmpvaW4oIlxuIil9KSx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMCl9KSkpfV9yZWRpcmVjdCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKX1fdHJ5UmVjb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpJiYodGhpcy5fcmVjb25uZWN0Q291bnQrPTEpfV90cnlDb25uZWN0KCl7cmV0dXJuIXRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbiYmKHRoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrPW5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Qgc3RhY2suIElzIGNvbm5lY3RlZDogJHt0aGlzLmlzQ29ubmVjdGVkKCl9LmApLnN0YWNrfHwiIiwhdGhpcy5pc0Nvbm5lY3RlZCgpJiYodGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpLCEwKSl9X2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKXt0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbiYmKHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCl9X2NsZWFyUmVjb25uZWN0VGltZW91dCgpe251bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCl9X3JlY29ubmVjdFdoZW5PbmxpbmUoKXtpZihuYXZpZ2F0b3Iub25MaW5lKXJldHVybiB0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHZvaWQodGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCkpO3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPWZ1bmN0aW9uKGUpe2xldCB0PWU7Y29uc3Qgbj0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLCgpPT57dD1udWxsfX0oKCgpPT57dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1cyBjaGFuZ2VkIHRvIG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCl9KSl9Cl9vblRlbGVtZXRyeVNlbnQoZSl7IndlYnNvY2tldF9lcnJvciJpbiBlJiYodGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSl9X3N0YXJ0UGluZygpe2lmKHRoaXMuX3BpbmdJbnRlcnZhbElkKXJldHVybjtjb25zdCBlPWsodGhpcy5nZXRIb3N0KCkpO2UucGF0aG5hbWUrPSJwaW5nIixlLnByb3RvY29sPSJodHRwczoiO2xldCB0PTAsbj0wO2NvbnN0IHM9ZT0+e3RoaXMuX3BpbmdJbmZvPXRoaXMuX3BpbmdJbmZvfHx7bWF4OjAsbWluOjEvMCxhdmc6MH07Y29uc3Qgcz0obmV3IERhdGUpLmdldFRpbWUoKS1lO3M+dGhpcy5fcGluZ0luZm8ubWF4JiYodGhpcy5fcGluZ0luZm8ubWF4PXMpLHM8dGhpcy5fcGluZ0luZm8ubWluJiYodGhpcy5fcGluZ0luZm8ubWluPXMpLHQrPXMsbisrLHRoaXMuX3BpbmdJbmZvLmF2Zz10L24sbj49MTAmJnRoaXMuX3BpbmdJbnRlcnZhbElkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9waW5nSW50ZXJ2YWxJZCksZGVsZXRlIHRoaXMuX3BpbmdJbnRlcnZhbElkKX07dGhpcy5fcGluZ0ludGVydmFsSWQ9c2V0SW50ZXJ2YWwoKCgpPT57Y29uc3QgdD0obmV3IERhdGUpLmdldFRpbWUoKSxuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oIkdFVCIsZSwhMCksbi5zZW5kKCksbi5vbnJlYWR5c3RhdGVjaGFuZ2U9KCk9PntuLnJlYWR5U3RhdGU9PT1YTUxIdHRwUmVxdWVzdC5ET05FJiYyMDA9PT1uLnN0YXR1cyYmcyh0KX19KSwxZTQpfX0KY29uc3QgQz0id2lkZ2V0X3VzZXJfdG9rZW4tIix2PUpTT04ucGFyc2UoJ3siYWR4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4IiwiYWR4RCI6IndpZGdldF91c2VyX3Rva2VuLWFkeEQiLCJhZ2VuY2lhbGJtY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZ2VuY2lhbGJtY29tYnIiLCJhbGphemlyYWNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsRCIsImFsamF6aXJhY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsUlQiLCJhbHJhamhpY2FwaXRhbGNvbUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbUQiLCJhbHJhamhpY2FwaXRhbGNvbVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21SVCIsImFtYml0byI6IndpZGdldF91c2VyX3Rva2VuLWFtYml0byIsImFyZW5heHRybyI6IndpZGdldF91c2VyX3Rva2VuLWFyZW5heHRybyIsImFydGVjaGVjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1BcnRlY2hlRCIsImF0bGNhcGl0YWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1hdGxjYXBpdGFsIiwiYmFua2lyb3NydSI6IndpZGdldF91c2VyX3Rva2VuLWJhbmtpcm9zcnUiLCJiYnZhY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1iYnZhY2giLCJiZWVrc2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmVla3Nncm91cCIsImJlbHVnYWdyb3VwcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWx1Z2Fncm91cHJ1IiwiYml2YWNvbSI6IndpZGdldF91c2VyX3Rva2VuLWJpdmFjb20iLCJibHVlZmllbGQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlZmllbGQiLCJibHVlbGluZWZ1dHVyZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlbGluZWZ1dHVyZXMiLCJib3Zlc3BhIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm1mYm92ZXNwYWNvbWJyIiwiYnZicm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1idmJybyIsImJ5dGV0cmF2ZWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1ieXRldHJhdmVsIiwiY2JvZWNhbmFkYSI6IndpZGdldF91c2VyX3Rva2VuLWNib2VjYW5hZGEiLCJjaGFtcGlvbm5hdGJvdXJzZSI6IndpZGdldF91c2VyX3Rva2VuLWNoYW1waW9ubmF0Ym91cnNlIiwiY2luY29kaWFzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2luY29kaWFzIiwiY2VvY2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FEIiwiY2VvY2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhUlQiLCJjbWNtYXJrZXRzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY21jbWFya2V0cyIsImNvcGVlcyI6IndpZGdldF91c2VyX3Rva2VuLWNvcGVlcyIsImNzZWxrIjoid2lkZ2V0X3VzZXJfdG9rZW4tY3NlbGsiLCJkYWlseWZ4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZGFpbHlmeCIsImRlZXBzZWFyY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1kZWVwc2VhcmNoIiwiZGVyYXlhaGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWRlcmF5YWhjb20iLCJkZm1hZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZUQiLCJkZm1hZVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVSVCIsImRpbmFyc2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYUQiLCJkaW5hcnNhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhUlQiLCJkb2xhcmhveSI6IndpZGdldF91c2VyX3Rva2VuLWRvbGFyaG95IiwiZWFzeW52ZXN0Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1lYXN5bnZlc3Rjb21iciIsImVkYWlseSI6IndpZGdldF91c2VyX3Rva2VuLWVkYWlseSIsImVsZXNwYW5vbGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWVsZXNwYW5vbGNvbSIsImVsb2JyZXJvZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbG9icmVyb2VzIiwiZWxuYWNpb25hbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1FbE5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBhaXNmaW5hbmNpZXJvIiwiZWxwZXJpb2RpY29kZWxhZW5lcmdpYSI6IndpZGdldF91c2VyX3Rva2VuLWVscGVyaW9kaWNvZGVsYWVuZXJnaWEiLCJldXF1ZXJvaW52ZXN0aXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXF1ZXJvaW52ZXN0aXJjb20iLCJldXJleCI6IndpZGdldF91c2VyX3Rva2VuLWV1cmV4IiwiZXVyb2ZpbnMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvZmlucyIsImVwZSI6IndpZGdldF91c2VyX3Rva2VuLWVwZSIsImV1cm9wYXByZXNzZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvcGFwcmVzc2VzIiwiZmluYW56YXNEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRmluYW56YXNEIiwiZm9yYmVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1mb3JiZXNjb21iciIsImdlbmlhbGludmVzdGltZW50b3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1nZW5pYWxpbnZlc3RpbWVudG9zIiwiaGVhbHRoaXRhbGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVhbHRoaXRhbGlhIiwiaGVnbmFybm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWduYXJubyIsImhpcG90ZWNhcmlvY29tYXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1oaXBvdGVjYXJpb2NvbWFyIiwiaWdjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1pZ2NvbSIsImludmVzdGVnYXRlY291ayI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdGVnYXRlY291ayIsImludmVzdG9wZWRpYSI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdG9wZWRpYSIsImludGVncmFseWF0aXJpbSI6IndpZGdldF91c2VyX3Rva2VuLWludGVncmFseWF0aXJpbSIsIml2c2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4taXZzZ3JvdXAiLCJqc2Vjb3phIjoid2lkZ2V0X3VzZXJfdG9rZW4tanNlY296YSIsImJvZXJzZW56ZWl0dW5nIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm9lcnNlbnplaXR1bmciLCJsYWluZm9ybWFjaW9uY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbGFpbmZvcm1hY2lvbmNvbSIsIm1hcmNvcG9sb2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWFyY29wb2xvY29tYnIiLCJtZXJjYWRvZmluYW5jaWVyb2NvbSI6IndpZGdldF91c2VyX3Rva2VuLW1lcmNhZG9maW5hbmNpZXJvY29tIiwibW9leCI6IndpZGdldF91c2VyX3Rva2VuLW1vZXgiLCJtb25leXRpbWVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25leXRpbWVzY29tYnIiLCJtb25pdG9yZG9tZXJjYWRvRCI6IndpZGdldF91c2VyX3Rva2VuLW1vbml0b3Jkb21lcmNhZG9EIiwibXluZXRjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1teW5ldGNvbSIsIm5lZ29jaW9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tbmVnb2Npb3MiLCJOR1giOiJ3aWRnZXRfdXNlcl90b2tlbi1OR1giLCJOb3RpY2lhc2Fncmljb2xhRCI6IndpZGdldF91c2VyX3Rva2VuLW5vdGljaWFzYWdyaWNvbGFEIiwibm9tbW9tYSI6IndpZGdldF91c2VyX3Rva2VuLW5vbW1vbWEiLCJuc2Vjb2tyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbnNlY29rciIsIm9rZGlhcmlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tb2tkaWFyaW8iLCJwYW5hZnJpY2FucmVzb3VyY2VzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tcGFuYWZyaWNhbnJlc291cmNlc2NvbSIsInBzZSI6IndpZGdldF91c2VyX3Rva2VuLXBzZSIsInBvZGVyMzYwIjoid2lkZ2V0X3VzZXJfdG9rZW4tcG9kZXIzNjAiLCJwc2VEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlRCIsInJpeWFkaGNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbEQiLCJyaXlhZGhjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsUlQiLCJxZWNvbXFhIjoid2lkZ2V0X3VzZXJfdG9rZW4tcWVjb21xYSIsInNhbW9sZXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zYW1vbGV0Iiwic2VlaW5nbWFjaGluZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZWVpbmdtYWNoaW5lc2NvbSIsInNldWRpbmhlaXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2V1ZGluaGVpcm8iLCJzb2Z0d2FyZWFnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29mdHdhcmVhZyIsInNvZ2VjbGFpciI6IndpZGdldF91c2VyX3Rva2VuLXNvZ2VjbGFpciIsInNnY29tcGFueWl0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2djb21wYW55aXQiLCJzaGFyZWp1bmN0aW9uIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2hhcmVqdW5jdGlvbiIsInNtYXJ0bGFiLWN1c3RvbSI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic21hcnRsYWIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNwYWNlbW9uZXljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXNwYWNlbW9uZXljb21iciIsInN0b25leHdkZyI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leMKjLSF3d3cuc3RvbmV4LmNvbSIsInN0b3hpbyI6IndpZGdldF91c2VyX3Rva2VuLXN0b3hpbyIsInN0b25leCI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leCIsInRvcm9pbnZlc3RpbWVudG9zY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdG9yb2ludmVzdGltZW50b3Njb20iLCJ0aGVjc2Vjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10aGVjc2Vjb20iLCJ0cmFkZXJzY2x1YmJyYXNpbCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsIiwidHJhZGVyc2NsdWJicmFzaWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWxEIiwidHJhZGluZ3ZpZXciOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkaW5ndmlldyIsInh0b29scyI6IndpZGdldF91c2VyX3Rva2VuLXh0b29scyIsInR3aXR0ZXIiOiJ3aWRnZXRfdXNlcl90b2tlbi10d2l0dGVyIiwidmVsb2NpdHljb21wb3NpdGVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdmVsb2NpdHljb21wb3NpdGVzY29tIiwidm9jZXNhYWJyaWxjb21iciI6IndpZGdldF91c2VyX3Rva2VuLXZvY2VzYWFicmlsY29tYnIiLCJ3ZWFsdGhzaW1wbGUiOiJ3aWRnZXRfdXNlcl90b2tlbi13ZWFsdGhzaW1wbGXCoy0hbXkud2VhbHRoc2ltcGxlLmNvbSIsIndvcmxkY2hlc3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi13b3JsZGNoZXNzY29tIiwieENydHlKa3NwIjoid2lkZ2V0X3VzZXJfdG9rZW4teENydHlKa3NwIiwieHBpY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi14cGljb21iciJ9Jylbd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiXXx8IiIsUz12LnN0YXJ0c1dpdGgoQyk/di5zdWJzdHJpbmcoMTgpOiJ0cmFkaW5ndmlldyIKO3dpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uPW5ldyBUKHdpbmRvdy5XRUJTT0NLRVRfSE9TVCx7cGluZ1JlcXVpcmVkOndpbmRvdy5XU19IT1NUX1BJTkdfUkVRVUlSRUQscHJvSG9zdDp3aW5kb3cuV0VCU09DS0VUX1BST19IT1NULHJlY29ubmVjdEhvc3Q6d2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QsaW5pdGlhbEhvc3Q6d2luZG93LldFQlNPQ0tFVF9JTklUSUFMX0hPU1QsY29ubmVjdGlvblR5cGU6d2luZG93LldFQlNPQ0tFVF9DT05ORUNUSU9OX1RZUEUsYXBpS2V5OlN9KSx3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbkN0b3I9VH0pKCk7Cgk8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KCTxzY3JpcHQgbm9uY2U9Im1pak9GTEtNTVFzb1E0MHdZTmwwRHc9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IHQ9MTAxOTt2YXIgZSxzLG8sYSxkOyFmdW5jdGlvbih0KXt0LkFkYXB0aXZlPSJhZGFwdGl2ZSIsdC5SZWd1bGFyPSJyZWd1bGFyIix0LkNvbXBhY3Q9ImNvbXBhY3QifShlfHwoZT17fSkpLGZ1bmN0aW9uKHQpe3QuQWxsU3ltYm9scz0iYWxsX3N5bWJvbHMiLHQuTWFya2V0PSJtYXJrZXQiLHQuU3ltYm9sPSJzeW1ib2wifShzfHwocz17fSkpLGZ1bmN0aW9uKHQpe3QuQ3J5cHRvY3VycmVuY2llcz0iY3J5cHRvIix0LkN1cnJlbmNpZXM9ImZvcmV4Iix0LlN0b2Nrcz0ic3RvY2siLHQuSW5kaWNlcz0iaW5kZXgiLHQuRnV0dXJlcz0iZnV0dXJlcyIsdC5Cb25kcz0iY2ZkIn0ob3x8KG89e30pKSxmdW5jdGlvbih0KXt0LkhUTUw9Imh0bWwiLHQuUmVhY3Q9InJlYWN0In0oYXx8KGE9e30pKSxmdW5jdGlvbih0KXt0LlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGR8fChkPXt9KSk7Y29uc3QgYz13aW5kb3c7Yy5pbml0RGF0YT1jLmluaXREYXRhfHx7fTtsZXQgaT1jLmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihjLmluaXREYXRhLndpZGdldERlZmF1bHRzJiYoaT17Li4uYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cywuLi5pfSksdm9pZCAwIT09aSl7aWYodm9pZCAwIT09aS5jb2xvclRoZW1lJiZmdW5jdGlvbih0LGU9d2luZG93KXtjb25zdCBzPSJ0aGVtZS0iK3Qsbz1lLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbShvKSl0LnN0YXJ0c1dpdGgoInRoZW1lLSIpJiZ0IT09cyYmby5yZW1vdmUodCk7by5hZGQocyksZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT10fShpLmNvbG9yVGhlbWUpLChpLmlzVHJhbnNwYXJlbnR8fGkudHJhbnNwYXJlbmN5KSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXRyYW5zcGFyZW50Iiksdm9pZCAwIT09aS5kaXNwbGF5TW9kZSYmZnVuY3Rpb24ocyxvKXtpZihvPT09ZS5BZGFwdGl2ZSl7Y29uc3QgZT13aW5kb3cubWF0Y2hNZWRpYShgKG1heC13aWR0aDogJHt0fXB4KWApLG89KCk9PntzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIiwhZS5tYXRjaGVzKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixlLm1hdGNoZXMpfTtvKCksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG8pfWVsc2Ugcy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsbz09PWUuUmVndWxhcikscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsbz09PWUuQ29tcGFjdCl9KGRvY3VtZW50LmJvZHksaS5kaXNwbGF5TW9kZSksaS5ib2R5Q2xhc3Nlcylmb3IoY29uc3QgdCBvZiBpLmJvZHlDbGFzc2VzKWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0KTtpLmJvZHlfY2xhc3MmJmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChpLmJvZHlfY2xhc3MpLGkuYm9keUlkJiYoZG9jdW1lbnQuYm9keS5pZD1pLmJvZHlJZCl9fSkoKTsKCTwvc2NyaXB0PgoKCTxkaXYgaWQ9IndpZGdldC10aWNrZXItdGFwZS1jb250YWluZXIiPjwvZGl2PgoKPHNjcmlwdCBub25jZT0ibWlqT0ZMS01NUXNvUTQwd1lObDBEdz09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"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":"360trustwealthavenue.stglen.com/temp/custom/img/doge.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.006Z","timestamp":1785120761006,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/img/doge.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 22098\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":22098,"size_decoded":22509,"mime_type":"image/png","magic":"PNG image data, 130 x 112, 8-bit/color RGBA, non-interlaced","md5":"c733070c46a0ec071d25ea1dc6ff516f","sha1":"0df7d5f1968b9507e4bba4e75cdd556ae1e586e5","sha256":"b2a8ec06d78e17daf7b5297db138e4c576459ca6a9695002ba0379e85241fb19","sha512":"ea620ecc0b122b89f8ac6ba7540b3b50bb4ba6bc9842320c6893536187d7f95fdce27e3c4c936ab8b70e485ad5356c5bb9f7c27b0601f0d5e48d5a39b73f508c","ssdeep":"384:OJXE05Fy9sBLDp+TftmF4XD0QwJDXXq9yWHBJ06joCyl56QB/tr:O35oILwTfK6wXq9yWHBi6NyD6Ytr","tlshash":"b2a2e1f7000c98bdb6649a20acb57252db6c52b95dbfa03de25012ec25f5b3f05e3ac5","first_seen":"2024-08-04T01:29:35Z","last_seen":"2026-07-27T05:24:59.945818Z","times_seen":926,"resource_available":false,"data":"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"}},"time_used":518,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":514,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.063Z","timestamp":1785120763063,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: f41c1d4c374074e186ec63b621e417a2\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":2695,"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-07-27T05:15:36.983636Z","times_seen":5779,"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":"www.tradingview-widget.com/static/bundles/embed/80706.a5913aa6ad62d9dbf031.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.749Z","timestamp":1785120763749,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/80706.a5913aa6ad62d9dbf031.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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"cdn.tailwindcss.com/","fqdn":"cdn.tailwindcss.com","domain":"tailwindcss.com","tld":"com"},"ip":{"addr":"104.26.2.143","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.946Z","timestamp":1785120760946,"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":"tailwindcss.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 17 Jul 2026 20:38:38 GMT","end":"Thu, 15 Oct 2026 21:38:35 GMT"},"fingerprint":{"sha1":"AF:4F:AD:59:FA:ED:77:04:0D:32:56:48:B0:E5:1B:38:67:6D:7D:02","sha256":"E7:FC:CF:2D:6A:CC:F5:3C:4C:1E:9D:CD:21:8A:72:A3:DB:7C:B1:50:0F:83:D1:DC:E4:AD:25:90:8F:98:37:0F"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: cdn.tailwindcss.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://360trustwealthavenue.stglen.com/\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\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 302 \r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncache-control: max-age=14400\r\nlocation: /3.4.17\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: MISS\r\nx-vercel-id: fra1::iad1::w5j6b-1785120050373-ffb7d84948df\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nage: 710\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=3M6t6FTSL3WstTFRaWsHpMBF34OGCdQg47tCuziJE8Il3LduAtaUhgakA8ur7VDE8PEJAwKBqOP5zWvX%2BtzykVNiVSJX6WzVAJ11ZLeMivYG%2B04NdUZdD7gIdLmjlFXsZRPmP2I%3D\"}]}\r\ncf-ray: a21859754e395687-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"302","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":0,"size_decoded":0,"mime_type":"text/javascript","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":null}},"time_used":228,"timings":{"blocked":-1,"dns":3,"connect":1,"send":0,"wait":7,"receive":0,"ssl":217},"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.979Z","timestamp":1785120761979,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 4099118\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 02:52:41 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=VOWKA20gbUhbx3yIGkzW8ELUfM2XHuciP2SY%2BVBXlvmVnVbz%2BpEzLyF9jrssV1OgphLSq4IKvcwzVfcGDmNxiOBJOTeB9Lk75CKDAhj2d9SVtpVa3VzhtyBYW0Xb\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a6bed0daa-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":"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"]}],"data":{"size":19477,"size_decoded":7480,"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-07-27T05:24:59.830153Z","times_seen":1210,"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":"s2.coinmarketcap.com/static/img/coins/64x64/6535.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.243Z","timestamp":1785120762243,"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=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\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: 36749\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: BdbxFFmiZmGquk8uazPHFf0hUIuCRB2gLdVCtVJ-skyWA0TAzSJ6tw==\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":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-07-27T05:24:59.940651Z","times_seen":1024,"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":"s3.tradingview.com/tv.js","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":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.958Z","timestamp":1785120760958,"http_version":"HTTP/2","security_state":"secure","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 /tv.js 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://360trustwealthavenue.stglen.com/\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\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"fd560649121156073923ce51d3f04348\"\r\nlast-modified: Fri, 24 Jul 2026 10:30:09 GMT\r\nx-amz-id-2: rVi82EHTOtiBXmhecv4lVPjaa4euCv7I6Hy/VP4YJq/TW6en+8hec8Qava0ldDZRNVal/kvBHw/gS3XR//yCqod+j5FwhXqQ\r\nx-amz-request-id: BCWZ9DFHJHF6G7GM\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: 7TroqDUvH0VSiO5OBFo4gpyelwzMKfa9\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:31:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6d448d79026abbb1c6755b3d00aaf061\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":21309,"size_decoded":8248,"mime_type":"text/javascript","magic":"data","md5":"fd560649121156073923ce51d3f04348","sha1":"bf3bf0105aa9e01a4f453898da7131486e2d583b","sha256":"e6d5c0aef4b2cfe736dd64b0761aa2807a25f6f84018c33f02c00cf654e110ac","sha512":"127a919f82388dd09f1042abf42efe6108ccf2f63ba3527bdc84ab7d9692ce3e83fa7db3dcbe6f538c9ec159031aa8ff2c4b5f119a5ac104abe8be23b85db550","ssdeep":"384:EqhCtUi8k0pwkp8EpXWpvS2rfVujtkl2okhIuWea1pYp4t6YJjlWm0yoVymbLP:EqZi8k0pwkp8EpXWpvS2rYj9okhfWeWa","tlshash":"48a2d76db5807a3c028700ee306f320c753765a4e10149a4fa78abe59558e8ea277fbd","first_seen":"2026-02-24T18:19:55.948124Z","last_seen":"2026-07-27T05:27:24.555885Z","times_seen":1071,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyFmdW5jdGlvbigpe2lmKHdpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3Lmhvc3QmJiF3aW5kb3cuVHJhZGluZ1ZpZXcucmVvbG9hZFR2anMpcmV0dXJuO3ZhciBlPXsiY29sb3ItY29sZC1ncmF5LTMwMCI6IiNCMkI1QkUiLCJjb2xvci1icmFuZCI6IiMyOTYyRkYiLCJjb2xvci1icmFuZC1ob3ZlciI6IiMxRTUzRTUiLCJjb2xvci1icmFuZC1hY3RpdmUiOiIjMTg0OENDIn07Y29uc3QgdD1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTt2YXIgbyxpLHIsbixhLHMsZCxsPSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiIsYz17aG9zdDpudWxsPT13aW5kb3cubG9jYXRpb24uaG9zdC5tYXRjaCgvdHJhZGluZ3ZpZXdcLmNvbXxweXJyb3NpbnZlc3RtZW50XC5jb20vaSk/Imh0dHBzOi8vcy50cmFkaW5ndmlldy5jb20iOiJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20iLGlkZWFzSG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIixjaGF0SG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIix3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixnZXRIb3N0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnVzZVdpZGdldEhvc3Q/Yy53aWRnZXRIb3N0OmMuaG9zdH0sZW1iZWRTdHlsZXNGb3JDb3B5cmlnaHQ6ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD0iLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQge2ZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyBmb250LWZhbWlseTogIitsKyIgIWltcG9ydGFudDsgY29sb3I6ICIrZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdKyIgIWltcG9ydGFudDt9IC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGNvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOnZpc2l0ZWQge2NvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kLWhvdmVyIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTphY3RpdmUgLmJsdWUtdGV4dCB7Y29sb3I6ICIrZVsiY29sb3ItYnJhbmQtYWN0aXZlIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30iLHR9LGVtYmVkU3R5bGVzRm9yRnVsbEhlaWdodDpmdW5jdGlvbihlLHQsbyl7dmFyIGk9dD8iY2FsYygiK2UrIiAtIDMycHgpIjplLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiIyIrbyk7ci5wYXJlbnRFbGVtZW50LnN0eWxlLmhlaWdodD1pLHIuc3R5bGUuaGVpZ2h0PSIxMDAlIn0sZ0lkOmZ1bmN0aW9uKCl7cmV0dXJuInRyYWRpbmd2aWV3XyIrKDEwNDg1NzYqKDErTWF0aC5yYW5kb20oKSl8MCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKX0saXNQZXJzZW50SGVpZ2h0OmZ1bmN0aW9uKGUpe3JldHVybiIlIj09PWV9LGdldFN1ZmZpeDpmdW5jdGlvbihlKXt2YXIgdD1lLnRvU3RyaW5nKCkubWF0Y2goLyglfHB4fGVtfGV4KS8pO3JldHVybiB0P3RbMF06InB4In0saGFzQ29weXJpZ2h0OmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpLG89dCYmdC5wYXJlbnRFbGVtZW50O3JldHVybiEhbyYmISFvLnF1ZXJ5U2VsZWN0b3IoIi50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0Iil9LGNhbGN1bGF0ZVdpZGdldEhlaWdodDpmdW5jdGlvbihlLHQpe3ZhciBvPXBhcnNlSW50KGUpLGk9dGhpcy5nZXRTdWZmaXgoZSkscj10aGlzLmlzUGVyc2VudEhlaWdodChpKSxuPXQmJnRoaXMuaGFzQ29weXJpZ2h0KHQpO3JldHVybiByJiZ0JiYodGhpcy5lbWJlZFN0eWxlc0ZvckZ1bGxIZWlnaHQobytpLG4sdCksbik/MTAwK2k6bj8iY2FsYygiK28raSsiIC0gMzJweCkiOm8raX0sb25yZWFkeTpmdW5jdGlvbihlKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSwhMSk6d2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGUpfSxiaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIodCxvLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbiIrdCxvKX0sdW5iaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcj9lLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxvLCExKTplLmRldGFjaEV2ZW50JiZlLmRldGFjaEV2ZW50KCJvbiIrdCxvKX0sY2xvbmVTaW1wbGVPYmplY3Q6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZXx8Im9iamVjdCIhPXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PWUuY29uc3RydWN0b3IoKTtmb3IodmFyIG8gaW4gZSllLmhhc093blByb3BlcnR5KG8pJiYodFtvXT1lW29dKTtyZXR1cm4gdH0saXNBcnJheTpmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSxnZW5lcmF0ZVV0bUZvclVybFBhcmFtczpmdW5jdGlvbihlKXt2YXIgdD17dXRtX3NvdXJjZTp3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsdXRtX21lZGl1bTpjLmhhc0NvcHlyaWdodChlLmNvbnRhaW5lcik/IndpZGdldF9uZXciOiJ3aWRnZXQifTtyZXR1cm4gZS50eXBlJiYodC51dG1fY2FtcGFpZ249ZS50eXBlLCJjaGFydCI9PT1lLnR5cGUmJih0LnV0bV90ZXJtPWUuc3ltYm9sKSksdH0sZ2V0UGFnZVVyaVN0cmluZzpmdW5jdGlvbigpe2NvbnN0IGU9bG9jYXRpb24uaHJlZixvPXRoaXMuaW52YWxpZFVybChlKTtyZXR1cm4gb3x8ZS5yZXBsYWNlKHQsIiIpfSxpbnZhbGlkVXJsOmZ1bmN0aW9uKGUpe3RyeXtjb25zdCBvPW5ldyBVUkwoZSk7cmV0dXJuIHQudGVzdChvLnByb3RvY29sKT9udWxsOiJfX05IVFRQX18ifWNhdGNoKGUpe3JldHVybiJfX0ZBSUxfXyJ9fSxnZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZTpmdW5jdGlvbihlLHQpe3JldHVybiBlfHxgJHt0LnJlcGxhY2UoIi0iLCIgIil9IFRyYWRpbmdWaWV3IHdpZGdldGB9LFdpZGdldEFic3RyYWN0OmZ1bmN0aW9uKCl7fSxNZWRpdW1XaWRnZXQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpO2NvbnN0IHQ9Yy5jYWxjdWxhdGVXaWRnZXRIZWlnaHQoZS5oZWlnaHR8fDQwMCxlLmNvbnRhaW5lcl9pZCk7bGV0IG87c3dpdGNoKGUuY2hhcnRUeXBlKXtjYXNlImNhbmRsZXN0aWNrcyI6e2NvbnN0e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cixib3JkZXJVcENvbG9yOm4sYm9yZGVyRG93bkNvbG9yOmEsd2lja1VwQ29sb3I6cyx3aWNrRG93bkNvbG9yOmR9PWU7bz17Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyLGJvcmRlclVwQ29sb3I6bixib3JkZXJEb3duQ29sb3I6YSx3aWNrVXBDb2xvcjpzLHdpY2tEb3duQ29sb3I6ZH07YnJlYWt9Y2FzZSJiYXJzIjp7Y29uc3R7Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyfT1lO289e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cn07YnJlYWt9Y2FzZSJsaW5lIjp7Y29uc3R7Y2hhcnRUeXBlOnQsY29sb3I6aSxjb2xvckdyb3dpbmc6cixjb2xvckZhbGxpbmc6bixsaW5lV2lkdGg6YX09ZTtvPXtjaGFydFR5cGU6dCxjb2xvcjppLGNvbG9yR3Jvd2luZzpyLGNvbG9yRmFsbGluZzpuLGxpbmVXaWR0aDphfTticmVha31kZWZhdWx0Ontjb25zdHtjaGFydFR5cGU6dD0iYXJlYSIsbGluZUNvbG9yOmk9ZS50cmVuZExpbmVDb2xvcnx8IiIsbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphPWUudW5kZXJMaW5lQ29sb3J8fCIiLGJvdHRvbUNvbG9yOnM9ZS51bmRlckxpbmVCb3R0b21Db2xvcnx8IiIsbGluZVdpZHRoOmR9PWU7bz17Y2hhcnRUeXBlOnQsbGluZUNvbG9yOmksbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphLGJvdHRvbUNvbG9yOnMsbGluZVdpZHRoOmR9O2JyZWFrfX10aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuZml4U2l6ZShlLndpZHRoKXx8IiIsaGVpZ2h0OmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodCl8fCIiLHN5bWJvbHM6ZS5zeW1ib2xzLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLHN5bWJvbHNfZGVzY3JpcHRpb246ZS5zeW1ib2xzX2Rlc2NyaXB0aW9ufHwiIixsYXJnZV9jaGFydF91cmw6ZS5sYXJnZV9jaGFydF91cmx8fCIiLGN1c3RvbWVyOmUuY3VzdG9tZXJ8fCIiLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcnx8IiIsZ3JpZExpbmVDb2xvcjplLmdyaWRMaW5lQ29sb3J8fCIiLGZvbnRDb2xvcjplLmZvbnRDb2xvcnx8IiIsZm9udFNpemU6ZS5mb250U2l6ZXx8IiIsd2lkZ2V0Rm9udENvbG9yOmUud2lkZ2V0Rm9udENvbG9yfHwiIix0aW1lQXhpc0JhY2tncm91bmRDb2xvcjplLnRpbWVBeGlzQmFja2dyb3VuZENvbG9yfHwiIixjaGFydE9ubHk6ISFlLmNoYXJ0T25seSxsb2NhbGU6ZS5sb2NhbGUsY29sb3JUaGVtZTplLmNvbG9yVGhlbWUsaXNUcmFuc3BhcmVudDplLmlzVHJhbnNwYXJlbnQsdXNlV2lkZ2V0SG9zdDpCb29sZWFuKGUudXNlV2lkZ2V0SG9zdCksc2hvd0Zsb2F0aW5nVG9vbHRpcDplLnNob3dGbG9hdGluZ1Rvb2x0aXAsdmFsdWVzVHJhY2tpbmc6ZS52YWx1ZXNUcmFja2luZyxjaGFuZ2VNb2RlOmUuY2hhbmdlTW9kZSxkYXRlRm9ybWF0OmUuZGF0ZUZvcm1hdCx0aW1lSG91cnNGb3JtYXQ6ZS50aW1lSG91cnNGb3JtYXQsc2hvd1ZvbHVtZTplLnNob3dWb2x1bWUsc2hvd01BOmUuc2hvd01BLHZvbHVtZVVwQ29sb3I6ZS52b2x1bWVVcENvbG9yLHZvbHVtZURvd25Db2xvcjplLnZvbHVtZURvd25Db2xvcixtYUxpbmVDb2xvcjplLm1hTGluZUNvbG9yLG1hTGluZVdpZHRoOmUubWFMaW5lV2lkdGgsbWFMZW5ndGg6ZS5tYUxlbmd0aCxoaWRlRGF0ZVJhbmdlczplLmhpZGVEYXRlUmFuZ2VzLGhpZGVNYXJrZXRTdGF0dXM6ZS5oaWRlTWFya2V0U3RhdHVzLGhpZGVTeW1ib2xMb2dvOmUuaGlkZVN5bWJvbExvZ28sc2NhbGVQb3NpdGlvbjplLnNjYWxlUG9zaXRpb24sc2NhbGVNb2RlOmUuc2NhbGVNb2RlLGZvbnRGYW1pbHk6ZS5mb250RmFtaWx5LG5vVGltZVNjYWxlOmUubm9UaW1lU2NhbGUsLi4ub30sdGhpcy5jcmVhdGUoKX0sd2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9ZS5pZHx8Yy5nSWQoKTt2YXIgdD1jLmdldFVybFBhcmFtcygpLG89ZS50dndpZGdldHN5bWJvbHx8dC50dndpZGdldHN5bWJvbHx8dC5zeW1ib2x8fGUuc3ltYm9sfHwiTkFTREFROkFBUEwiLGk9ZS5sb2dvfHwiIjtpLnNyYyYmKGk9aS5zcmMpLGkmJmkucmVwbGFjZSgiLnBuZyIsIiIpO3ZhciByPWMuY2FsY3VsYXRlV2lkZ2V0SGVpZ2h0KGUuaGVpZ2h0fHw1MDAsZS5jb250YWluZXJfaWQpO3RoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8ODAwLGhlaWdodDpyLHN5bWJvbDpvLGludGVydmFsOmUuaW50ZXJ2YWx8fCIxIixyYW5nZTplLnJhbmdlfHwiIix0aW1lem9uZTplLnRpbWV6b25lfHwiIixhdXRvc2l6ZTplLmF1dG9zaXplLGhpZGVfdG9wX3Rvb2xiYXI6ZS5oaWRlX3RvcF90b29sYmFyLGhpZGVfc2lkZV90b29sYmFyOmUuaGlkZV9zaWRlX3Rvb2xiYXIsaGlkZV9sZWdlbmQ6ZS5oaWRlX2xlZ2VuZCxoaWRlX3ZvbHVtZTplLmhpZGVfdm9sdW1lLGFsbG93X3N5bWJvbF9jaGFuZ2U6ZS5hbGxvd19zeW1ib2xfY2hhbmdlLHNhdmVfaW1hZ2U6dm9pZCAwPT09ZS5zYXZlX2ltYWdlfHxlLnNhdmVfaW1hZ2UsY29udGFpbmVyOmUuY29udGFpbmVyX2lkfHwiIix3YXRjaGxpc3Q6ZS53YXRjaGxpc3R8fFtdLGNvbXBhcmVTeW1ib2xzOmUuY29tcGFyZVN5bWJvbHN8fFtdLGVkaXRhYmxld2F0Y2hsaXN0OiEhZS5lZGl0YWJsZXdhdGNobGlzdCxzdHVkaWVzOmUuc3R1ZGllc3x8W10sdGhlbWU6ZS50aGVtZXx8IiIsc3R5bGU6ZS5zdHlsZXx8IiIsZXh0ZW5kZWRfaG91cnM6dm9pZCAwPT09ZS5leHRlbmRlZF9ob3Vycz92b2lkIDA6K2UuZXh0ZW5kZWRfaG91cnMsZGV0YWlsczohIWUuZGV0YWlscyxjYWxlbmRhcjohIWUuY2FsZW5kYXIsaG90bGlzdDohIWUuaG90bGlzdCxoaWRlaWRlYXNidXR0b246ISFlLmhpZGVpZGVhc2J1dHRvbix3aWRnZXRiYXJfd2lkdGg6K2Uud2lkZ2V0YmFyX3dpZHRofHx2b2lkIDAsd2l0aGRhdGVyYW5nZXM6ZS53aXRoZGF0ZXJhbmdlc3x8IiIsY3VzdG9tZXI6ZS5jdXN0b21lcnx8aXx8IiIsdmVudWU6ZS52ZW51ZSxzeW1ib2xvZ3k6ZS5zeW1ib2xvZ3ksbG9nbzppLHNob3dfcG9wdXBfYnV0dG9uOiEhZS5zaG93X3BvcHVwX2J1dHRvbixwb3B1cF9oZWlnaHQ6ZS5wb3B1cF9oZWlnaHR8fCIiLHBvcHVwX3dpZHRoOmUucG9wdXBfd2lkdGh8fCIiLHN0dWRpZXNfb3ZlcnJpZGVzOmUuc3R1ZGllc19vdmVycmlkZXMsb3ZlcnJpZGVzOmUub3ZlcnJpZGVzLGVuYWJsZWRfZmVhdHVyZXM6ZS5lbmFibGVkX2ZlYXR1cmVzLGRpc2FibGVkX2ZlYXR1cmVzOmUuZGlzYWJsZWRfZmVhdHVyZXMscHVibGlzaF9zb3VyY2U6ZS5wdWJsaXNoX3NvdXJjZXx8IiIsd2hvdHJhZGVzOmUud2hvdHJhZGVzfHx2b2lkIDAsbG9jYWxlOmUubG9jYWxlLHJlZmVycmFsX2lkOmUucmVmZXJyYWxfaWQsbm9fcmVmZXJyYWxfaWQ6ZS5ub19yZWZlcnJhbF9pZCxmdW5kYW1lbnRhbDplLmZ1bmRhbWVudGFsLHBlcmNlbnRhZ2U6ZS5wZXJjZW50YWdlLGhpZGV2b2x1bWU6ZS5oaWRldm9sdW1lLHBhZGRpbmc6ZS5wYWRkaW5nLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLGhvcnp0b3VjaGRyYWc6ZS5ob3J6dG91Y2hkcmFnLHZlcnR0b3VjaGRyYWc6ZS52ZXJ0dG91Y2hkcmFnLHVzZVdpZGdldEhvc3Q6Qm9vbGVhbihlLnVzZVdpZGdldEhvc3QpLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcixncmlkQ29sb3I6ZS5ncmlkQ29sb3IsZG9Ob3RTdG9yZVNldHRpbmdzOmUuZG9Ob3RTdG9yZVNldHRpbmdzfSxlLmNtZSYmKHRoaXMub3B0aW9ucy5jdXN0b21lcj0iY21lIiksaXNGaW5pdGUoZS53aWRnZXRiYXJfd2lkdGgpJiZlLndpZGdldGJhcl93aWR0aD4wJiYodGhpcy5vcHRpb25zLndpZGdldGJhcl93aWR0aD1lLndpZGdldGJhcl93aWR0aCksdGhpcy5fcmVhZHlfaGFuZGxlcnM9W10sdGhpcy5jcmVhdGUoKX0sY2hhcnQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpLHRoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8NjQwLGhlaWdodDplLmhlaWdodHx8NTAwLGNvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIscmVhbHRpbWU6ZS5yZWFsdGltZSxjaGFydDplLmNoYXJ0LGxvY2FsZTplLmxvY2FsZSx0eXBlOiJjaGFydCIsYXV0b3NpemU6ZS5hdXRvc2l6ZSxtb2JpbGVTdGF0aWM6ZS5tb2JpbGVTdGF0aWN9LHRoaXMuX3JlYWR5X2hhbmRsZXJzPVtdLHRoaXMuY3JlYXRlKCl9LHN0cmVhbTpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgU3RyZWFtIHdpZGdldCBpcyBkaXNjb250aW51ZWQiKX0sRXZlbnRzV2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9Yy5nSWQoKSx0aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6ZS53aWR0aHx8NDg2LGhlaWdodDplLmhlaWdodHx8NjcwLGN1cnJlbmN5OmUuY3VycmVuY3lGaWx0ZXJ8fCIiLGltcG9ydGFuY2U6ZS5pbXBvcnRhbmNlRmlsdGVyfHwiIix0eXBlOiJlY29ub21pYy1jYWxlbmRhciJ9LHRoaXMuY3JlYXRlKGUpfSxJZGVhV2lkZ2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJXZSdyZSBzb3JyeSwgdGhlIElkZWEgUHJldmlldyB3aWRnZXQgaXMgZGlzY29udGludWVkIil9LENoYXRXaWRnZXRFbWJlZDpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgQ2hhdCB3aWRnZXQgaXMgZGlzY29udGludWVkIil9fTtjLldpZGdldEFic3RyYWN0LnByb3RvdHlwZT17d2lkZ2V0SWQ6InVua25vd24iLGZpeFNpemU6ZnVuY3Rpb24oZSl7cmV0dXJuL15bMC05XSsoXC58LFswLTldKSokLy50ZXN0KGUpP2UrInB4IjplfSx3aWR0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuYXV0b3NpemU/IjEwMCUiOmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodGhpcy5vcHRpb25zLndpZHRoKX0saGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvc2l6ZT8iMTAwJSI6Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuZml4U2l6ZSh0aGlzLm9wdGlvbnMuaGVpZ2h0KX0sYWRkV3JhcHBlckZyYW1lOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuaWQ9dGhpcy5pZCsiLXdyYXBwZXIiLHQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IHJlbGF0aXZlO2JveC1zaXppbmc6IGNvbnRlbnQtYm94O21hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7cGFkZGluZzogMCAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OiAiK2wrIjsiLHQuc3R5bGUud2lkdGg9Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUud2lkdGguY2FsbCh0aGlzKSx0LnN0eWxlLmhlaWdodD1jLldpZGdldEFic3RyYWN0LnByb3RvdHlwZS5oZWlnaHQuY2FsbCh0aGlzKSx0LmFwcGVuZENoaWxkKGUpLHR9fSxjLkV2ZW50c1dpZGdldC5wcm90b3R5cGU9e3dpZGdldElkOiJldmVudHMiLGNyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMucmVuZGVyKCk7aChlLHRoaXMub3B0aW9ucyl9LHJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPW5ldyBVUkwoYy5nZXRIb3N0KHRoaXMub3B0aW9ucykpO2UucGF0aG5hbWU9Ii9ldmVudHN3aWRnZXRlbWJlZC8iLGMuYWRkVXJsUGFyYW1zKGUse2N1cnJlbmN5OnRoaXMub3B0aW9ucy5jdXJyZW5jeSxpbXBvcnRhbmNlOnRoaXMub3B0aW9ucy5pbXBvcnRhbmNlfSksdGhpcy5vcHRpb25zLnR5cGU9ImV2ZW50cyIsYy5hZGRVcmxQYXJhbXMoZSxjLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHRoaXMub3B0aW9ucykpO2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7cmV0dXJuIHQudGl0bGU9Yy5nZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZSh0aGlzLm9wdGlvbnMuaWZyYW1lVGl0bGUsdGhpcy53aWRnZXRJZCksdC5sYW5nPXRoaXMub3B0aW9ucy5pZnJhbWVMYW5nfHwiZW4iLHQud2lkdGg9dGhpcy5vcHRpb25zLndpZHRoLHRoaXMub3B0aW9ucy5oZWlnaHQmJih0LmhlaWdodD10aGlzLm9wdGlvbnMuaGVpZ2h0KSx0LnNldEF0dHJpYnV0ZSgiZnJhbWVCb3JkZXIiLCIwIiksdC5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksdC5zcmM9ZSx0fX0sYy5NZWRpdW1XaWRnZXQucHJvdG90eXBlPXt3aWRnZXRJZDoic3ltYm9sLW92ZXJ2aWV3IixjcmVhdGU6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMucmVuZGVyKCk7aChlLHRoaXMub3B0aW9ucyl9LHJlbmRlcjpmdW5jdGlvbigpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IoY29uc3QgdCBvZlsic3ltYm9scyIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3JUaGVtZSIsImJhY2tncm91bmRDb2xvciIsImdyaWRMaW5lQ29sb3IiLCJmb250Q29sb3IiLCJ3aWRnZXRGb250Q29sb3IiLCJ1bmRlckxpbmVDb2xvciIsInVuZGVyTGluZUJvdHRvbUNvbG9yIiwidHJlbmRMaW5lQ29sb3IiLCJhY3RpdmVUaWNrZXJCYWNrZ3JvdW5kQ29sb3IiLCJ0aW1lQXhpc0JhY2tncm91bmRDb2xvciIsInNjYWxlUG9zaXRpb24iLCJzY2FsZU1vZGUiLCJjaGFydFR5cGUiLCJjb2xvciIsImNvbG9yR3Jvd2luZyIsImNvbG9yRmFsbGluZyIsImxpbmVDb2xvciIsImxpbmVDb2xvckdyb3dpbmciLCJsaW5lQ29sb3JGYWxsaW5nIiwidG9wQ29sb3IiLCJib3R0b21Db2xvciIsInVwQ29sb3IiLCJkb3duQ29sb3IiLCJib3JkZXJVcENvbG9yIiwiYm9yZGVyRG93bkNvbG9yIiwid2lja1VwQ29sb3IiLCJ3aWNrRG93bkNvbG9yIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwibm9UaW1lU2NhbGUiLCJ2YWx1ZXNUcmFja2luZyIsImNoYW5nZU1vZGUiLCJkYXRlRm9ybWF0IiwidGltZUhvdXJzRm9ybWF0IiwibGluZVdpZHRoIiwidm9sdW1lVXBDb2xvciIsInZvbHVtZURvd25Db2xvciIsImNoYXJ0T25seSIsImlzVHJhbnNwYXJlbnQiLCJzaG93RmxvYXRpbmdUb29sdGlwIiwic2hvd1ZvbHVtZSIsInNob3dNQSIsIm1hTGluZUNvbG9yIiwibWFMaW5lV2lkdGgiLCJtYUxlbmd0aCIsImhpZGVEYXRlUmFuZ2VzIiwiaGlkZU1hcmtldFN0YXR1cyIsImhpZGVTeW1ib2xMb2dvIl0pdGhpcy5vcHRpb25zW3RdJiYoZVt0XT10aGlzLm9wdGlvbnNbdF0pO2VbInBhZ2UtdXJpIl09Yy5nZXRQYWdlVXJpU3RyaW5nKCksdGhpcy5vcHRpb25zLnR5cGU9InN5bWJvbC1vdmVydmlldyI7Y29uc3QgdD1jLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHRoaXMub3B0aW9ucyk7Zm9yKHZhciBvIG9mIE9iamVjdC5rZXlzKHQpKWVbb109dFtvXTtjb25zdCBpPW5ldyBVUkwoIi9lbWJlZC13aWRnZXQvc3ltYm9sLW92ZXJ2aWV3LyIsYy5nZXRIb3N0KHRoaXMub3B0aW9ucykpO3RoaXMub3B0aW9ucy5jdXN0b21lciYmKGkucGF0aG5hbWUrPXRoaXMub3B0aW9ucy5jdXN0b21lcisiLyIpLHRoaXMub3B0aW9ucy5sb2NhbGUmJmkuc2VhcmNoUGFyYW1zLmFwcGVuZCgibG9jYWxlIix0aGlzLm9wdGlvbnMubG9jYWxlKSxpLmhhc2g9ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGUpKTtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3JldHVybiByLnRpdGxlPWMuZ2V0V2lkZ2V0VGl0bGVBdHRyaWJ1dGUodGhpcy5vcHRpb25zLmlmcmFtZVRpdGxlLHRoaXMud2lkZ2V0SWQpLHIubGFuZz10aGlzLm9wdGlvbnMuaWZyYW1lTGFuZ3x8ImVuIixyLmlkPXRoaXMuaWQsci5zdHlsZS5jc3NUZXh0PSJtYXJnaW46IDAgIWltcG9ydGFudDtwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Iix0aGlzLm9wdGlvbnMud2lkdGgmJihyLnN0eWxlLndpZHRoPXRoaXMub3B0aW9ucy53aWR0aCksdGhpcy5vcHRpb25zLmhlaWdodCYmKHIuc3R5bGUuaGVpZ2h0PXRoaXMub3B0aW9ucy5oZWlnaHQpLHIuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSxyLnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksci5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksci5zcmM9aS5ocmVmLHJ9LHJlbW92ZTpmdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmFkaW5ndmlld193aWRnZXQiKTtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9fSxjLndpZGdldC5wcm90b3R5cGU9e3dpZGdldElkOiJhZHZhbmNlZC1jaGFydCIsY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnR5cGU9dGhpcy5vcHRpb25zLmZ1bmRhbWVudGFsPyJmdW5kYW1lbnRhbCI6ImNoYXJ0Iix0aGlzLmlmcmFtZT10aGlzLnJlbmRlcigpO3ZhciBlPXRoaXM7bGV0IHQ9dGhpcy5pZnJhbWU7dGhpcy5vcHRpb25zLm5vTG9nb092ZXJsYXl8fCh0PWMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmFkZFdyYXBwZXJGcmFtZS5jYWxsKHRoaXMsdCkpLGgodCx0aGlzLm9wdGlvbnMpO3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmFkaW5ndmlldy1jb3B5cmlnaHQiKTtvJiZvLnBhcmVudEVsZW1lbnQmJm8ucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChvKSx0aGlzLnBvc3RNZXNzYWdlPWMucG9zdE1lc3NhZ2VXcmFwcGVyKHRoaXMuaWZyYW1lLmNvbnRlbnRXaW5kb3csdGhpcy5pZCksYy5iaW5kRXZlbnQodGhpcy5pZnJhbWUsImxvYWQiLChmdW5jdGlvbigpe2UucG9zdE1lc3NhZ2UuZ2V0KCJ3aWRnZXRSZWFkeSIse30sKGZ1bmN0aW9uKCl7dmFyIHQ7Zm9yKGUuX3JlYWR5PSEwLHQ9ZS5fcmVhZHlfaGFuZGxlcnMubGVuZ3RoO3QtLTspZS5fcmVhZHlfaGFuZGxlcnNbdF0uY2FsbChlKX0pKX0pKSxlLnBvc3RNZXNzYWdlLm9uKCJvcGVuQ2hhcnRJblBvcHVwIiwoZnVuY3Rpb24odCl7Zm9yKHZhciBvPWMuY2xvbmVTaW1wbGVPYmplY3QoZS5vcHRpb25zKSxpPVsic3ltYm9sIiwiaW50ZXJ2YWwiXSxyPWkubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPWlbcl0sYT10W25dO2EmJihvW25dPWEpfW8uc2hvd19wb3B1cF9idXR0b249ITE7dmFyIHM9ZS5vcHRpb25zLnBvcHVwX3dpZHRofHw5MDAsZD1lLm9wdGlvbnMucG9wdXBfaGVpZ2h0fHw2MDAsbD0oc2NyZWVuLndpZHRoLXMpLzIsaD0oc2NyZWVuLmhlaWdodC1kKS8yLGc9d2luZG93Lm9wZW4oZS5nZW5lcmF0ZVVybChvKSwiX2JsYW5rIiwicmVzaXphYmxlPXllcywgdG9wPSIraCsiLCBsZWZ0PSIrbCsiLCB3aWR0aD0iK3MrIiwgaGVpZ2h0PSIrZCk7ZyYmKGcub3BlbmVyPW51bGwpfSkpfSxyZWFkeTpmdW5jdGlvbihlKXt0aGlzLl9yZWFkeT9lLmNhbGwodGhpcyk6dGhpcy5fcmVhZHlfaGFuZGxlcnMucHVzaChlKX0scmVuZGVyOmZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gZS50aXRsZT1jLmdldFdpZGdldFRpdGxlQXR0cmlidXRlKHRoaXMub3B0aW9ucy5pZnJhbWVUaXRsZSx0aGlzLndpZGdldElkKSxlLmxhbmc9dGhpcy5vcHRpb25zLmlmcmFtZUxhbmd8fCJlbiIsZS5pZD10aGlzLmlkLGUuc3R5bGUuY3NzVGV4dD0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsiLGUuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSxlLnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksZS5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksZS5zZXRBdHRyaWJ1dGUoImFsbG93ZnVsbHNjcmVlbiIsInRydWUiKSxlLnNyYz10aGlzLmdlbmVyYXRlVXJsKCksZX0sZ2VuZXJhdGVVcmw6ZnVuY3Rpb24oZSl7dmFyIHQ7ZnVuY3Rpb24gbyhlLHQsbyl7bGV0IGk9Zyh0LG8pOyJvYmplY3QiPT10eXBlb2YgaSYmKGk9SlNPTi5zdHJpbmdpZnkoaSkpLHZvaWQgMCE9PWkmJiIiIT09aSYmKGFbZV09aSl9ZnVuY3Rpb24gaShlLHQsaSl7byhlLHZvaWQgMD09PXQ/dm9pZCAwOnQ/IjEiOmkpfXQ9ImNtZSI9PT0oZT1lfHx0aGlzLm9wdGlvbnMpLmN1c3RvbWVyPyIvY21ld2lkZ2V0ZW1iZWQvIjplLmN1c3RvbWVyPyIvIitlLmN1c3RvbWVyKyIvd2lkZ2V0ZW1iZWQvIjoiL3dpZGdldGVtYmVkLyI7dmFyIHI9Yy5nZXRIb3N0KGUpO2NvbnN0IG49bmV3IFVSTChyK3QpO24uc2VhcmNoUGFyYW1zLmFwcGVuZCgiaGlkZWlkZWFzIiwiMSIpLG4uc2VhcmNoUGFyYW1zLmFwcGVuZCgib3ZlcnJpZGVzIixKU09OLnN0cmluZ2lmeShnKGUub3ZlcnJpZGVzLHt9KSkpLG4uc2VhcmNoUGFyYW1zLmFwcGVuZCgiZW5hYmxlZF9mZWF0dXJlcyIsSlNPTi5zdHJpbmdpZnkoZyhlLmVuYWJsZWRfZmVhdHVyZXMsW10pKSksbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJkaXNhYmxlZF9mZWF0dXJlcyIsSlNPTi5zdHJpbmdpZnkoZyhlLmRpc2FibGVkX2ZlYXR1cmVzLFtdKSkpLGUubG9jYWxlJiZuLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxvY2FsZSIsZS5sb2NhbGUpO2NvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gYS5zeW1ib2w9ZS5zeW1ib2wsYS5mcmFtZUVsZW1lbnRJZD10aGlzLmlkLGEuaW50ZXJ2YWw9ZS5pbnRlcnZhbCxvKCJyYW5nZSIsZS5yYW5nZSksaSgiaGlkZV90b3BfdG9vbGJhciIsZS5oaWRlX3RvcF90b29sYmFyKSxpKCJoaWRlX2xlZ2VuZCIsZS5oaWRlX2xlZ2VuZCksaSgiaGlkZV9zaWRlX3Rvb2xiYXIiLGUuaGlkZV9zaWRlX3Rvb2xiYXIsIjAiKSxpKCJhbGxvd19zeW1ib2xfY2hhbmdlIixlLmFsbG93X3N5bWJvbF9jaGFuZ2UsIjAiKSxpKCJzYXZlX2ltYWdlIixlLnNhdmVfaW1hZ2UsIjAiKSxpKCJkb05vdFN0b3JlU2V0dGluZ3MiLGUuZG9Ob3RTdG9yZVNldHRpbmdzKSxvKCJiYWNrZ3JvdW5kQ29sb3IiLGUuYmFja2dyb3VuZENvbG9yKSxvKCJncmlkQ29sb3IiLGUuZ3JpZENvbG9yKSxlLndhdGNobGlzdCYmZS53YXRjaGxpc3QubGVuZ3RoJiZlLndhdGNobGlzdC5qb2luJiZvKCJ3YXRjaGxpc3QiLGUud2F0Y2hsaXN0LmpvaW4oIh8iKSksZS5jb21wYXJlU3ltYm9scyYmZS5jb21wYXJlU3ltYm9scy5sZW5ndGgmJm8oImNvbXBhcmVTeW1ib2xzIixlLmNvbXBhcmVTeW1ib2xzKSxpKCJlZGl0YWJsZXdhdGNobGlzdCIsZS5lZGl0YWJsZXdhdGNobGlzdCksaSgiZGV0YWlscyIsZS5kZXRhaWxzKSxpKCJjYWxlbmRhciIsZS5jYWxlbmRhciksaSgiaG90bGlzdCIsZS5ob3RsaXN0KSxlLnN0dWRpZXMmJmMuaXNBcnJheShlLnN0dWRpZXMpJiYoInN0cmluZyI9PXR5cGVvZiBlLnN0dWRpZXNbMF0/bygic3R1ZGllcyIsZS5zdHVkaWVzLmpvaW4oIh8iKSk6bygic3R1ZGllcyIsZS5zdHVkaWVzKSksaSgiaG9yenRvdWNoZHJhZyIsZS5ob3J6dG91Y2hkcmFnLCIwIiksaSgidmVydHRvdWNoZHJhZyIsZS52ZXJ0dG91Y2hkcmFnLCIwIiksbygid2lkZ2V0YmFyX3dpZHRoIixlLndpZGdldGJhcl93aWR0aCksbygidGhlbWUiLGUudGhlbWUpLG8oInN0eWxlIixlLnN0eWxlKSxvKCJleHRlbmRlZF9ob3VycyIsZS5leHRlbmRlZF9ob3VycyksbygidGltZXpvbmUiLGUudGltZXpvbmUpLGkoImhpZGVpZGVhc2J1dHRvbiIsZS5oaWRlaWRlYXNidXR0b24pLGkoIndpdGhkYXRlcmFuZ2VzIixlLndpdGhkYXRlcmFuZ2VzKSxpKCJoaWRlX3ZvbHVtZSIsZS5oaWRlX3ZvbHVtZSksbygicGFkZGluZyIsZS5wYWRkaW5nKSxpKCJzaG93X3BvcHVwX2J1dHRvbiIsZS5zaG93X3BvcHVwX2J1dHRvbiksbygicGFkZGluZyIsZS5wYWRkaW5nKSxvKCJzdHVkaWVzX292ZXJyaWRlcyIsZS5zdHVkaWVzX292ZXJyaWRlcyx7fSksbygicHVibGlzaF9zb3VyY2UiLGUucHVibGlzaF9zb3VyY2UpLG8oInZlbnVlIixlLnZlbnVlKSxvKCJzeW1ib2xvZ3kiLGUuc3ltYm9sb2d5KSxvKCJ3aG90cmFkZXMiLGUud2hvdHJhZGVzKSxvKCJyZWZlcnJhbF9pZCIsZS5yZWZlcnJhbF9pZCksaSgibm9fcmVmZXJyYWxfaWQiLGUubm9fcmVmZXJyYWxfaWQpLG8oImZ1bmRhbWVudGFsIixlLmZ1bmRhbWVudGFsKSxvKCJwZXJjZW50YWdlIixlLnBlcmNlbnRhZ2UpLG8oInV0bV9zb3VyY2UiLHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSksbygidXRtX21lZGl1bSIsYy5oYXNDb3B5cmlnaHQoZS5jb250YWluZXIpPyJ3aWRnZXRfbmV3Ijoid2lkZ2V0IiksbygidXRtX2NhbXBhaWduIixlLnR5cGUpLHIhPT1jLmhvc3QmJm8oInN1cHBvcnRIb3N0IixjLmhvc3QpLGUudHlwZSYmImNoYXJ0Ij09PWUudHlwZSYmbygidXRtX3Rlcm0iLGUuc3ltYm9sKSxvKCJwYWdlLXVyaSIsYy5nZXRQYWdlVXJpU3RyaW5nKCkpLGAke259IyR7ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGEpKX1gfSxpbWFnZTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRyYWRpbmdWaWV3LndpZGdldCNpbWFnZSgpIGlzIGRlcHJlY2F0ZWQuIFVzZSB3aWRnZXQuaW1hZ2VDYW52YXMoKSBpbnN0ZWFkLiIpfSxpbWFnZUNhbnZhczphc3luYyBmdW5jdGlvbigpe2lmKCF0aGlzLnBvc3RNZXNzYWdlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHRha2UgYSBzY3JlZW5zaG90IGJlZm9yZSB3aWRnZXQgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuIik7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMucG9zdE1lc3NhZ2UuZ2V0KCJpbWFnZUNhbnZhcyIse30sKGZ1bmN0aW9uKG8pe2lmKG8mJiJvYmplY3QiPT10eXBlb2YgbyYmby5kYXRhVXJsKXt2YXIgaT1uZXcgSW1hZ2U7aS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyLndpZHRoPW8ud2lkdGh8fGkubmF0dXJhbFdpZHRofHxpLndpZHRoLHIuaGVpZ2h0PW8uaGVpZ2h0fHxpLm5hdHVyYWxIZWlnaHR8fGkuaGVpZ2h0O3ZhciBuPXIuZ2V0Q29udGV4dCgiMmQiKTtuPyhuLmRyYXdJbWFnZShpLDAsMCksZShyKSk6dChuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgMkQgY29udGV4dCBmb3Igc2NyZWVuc2hvdCBjYW52YXMuIikpfSxpLm9uZXJyb3I9ZnVuY3Rpb24oKXt0KG5ldyBFcnJvcigiRmFpbGVkIHRvIGRlc2VyaWFsaXplIHNjcmVlbnNob3QgcGF5bG9hZCBpbnRvIGFuIGltYWdlLiIpKX0saS5zcmM9by5kYXRhVXJsfWVsc2UgdChuZXcgRXJyb3IoIkZhaWxlZCB0byByZWNlaXZlIHNjcmVlbnNob3QgcGF5bG9hZCBmcm9tIHdpZGdldCBpZnJhbWUuIikpfSkpfSkpfSxzdWJzY3JpYmVUb1F1b3RlOmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO3RoaXMucG9zdE1lc3NhZ2UucG9zdCh0LmNvbnRlbnRXaW5kb3csInF1b3RlU3Vic2NyaWJlIiksdGhpcy5wb3N0TWVzc2FnZS5vbigicXVvdGVVcGRhdGUiLGUpfSxnZXRTeW1ib2xJbmZvOmZ1bmN0aW9uKGUpe3RoaXMucG9zdE1lc3NhZ2UuZ2V0KCJzeW1ib2xJbmZvIix7fSxlKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfSxyZWxvYWQ6ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHRoaXMucmVuZGVyKCksZSl9fSxjLmNoYXJ0LnByb3RvdHlwZT17d2lkZ2V0SWQ6InB1Ymxpc2hlZC1jaGFydCIsY3JlYXRlOmZ1bmN0aW9uKCl7Y29uc3QgZT10aGlzLnJlbmRlcigpLHQ9Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuYWRkV3JhcHBlckZyYW1lLmNhbGwodGhpcyxlKTt2YXIgbyxpPXRoaXM7aCh0LHRoaXMub3B0aW9ucyksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKSxjLmJpbmRFdmVudChvLCJsb2FkIiwoZnVuY3Rpb24oKXt2YXIgZTtmb3IoaS5fcmVhZHk9ITAsZT1pLl9yZWFkeV9oYW5kbGVycy5sZW5ndGg7ZS0tOylpLl9yZWFkeV9oYW5kbGVyc1tlXS5jYWxsKGkpfSkpLGMub25yZWFkeSgoZnVuY3Rpb24oKXt2YXIgZT0hMTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhW2hyZWYkPSIvdi8nK2kub3B0aW9ucy5jaGFydCsnLyJdJykmJihlPSEwKSwhZSlmb3IodmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKSxyPW5ldyBSZWdFeHAoIi92LyIraS5vcHRpb25zLmNoYXJ0KyIvJCIpLG49bmV3IFJlZ0V4cCgiL2NoYXJ0LyhbMC05YS16QS1aOisqLS8oKV0rKS8iK2kub3B0aW9ucy5jaGFydCksYT0wO2E8dC5sZW5ndGg7YSsrKWlmKHIudGVzdCh0W2FdLmhyZWYpfHxuLnRlc3QodFthXS5ocmVmKSl7ZT0hMDticmVha31lJiYoby5zcmMrPSIjbm9saW5rcyIsby5uYW1lPSJub2xpbmtzIil9KSl9LHJlYWR5OmMud2lkZ2V0LnByb3RvdHlwZS5yZWFkeSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT1uZXcgVVJMKGAke2MuaG9zdH0vZW1iZWQvJHt0aGlzLm9wdGlvbnMuY2hhcnR9YCk7Yy5hZGRVcmxQYXJhbXMoZSx7bWV0aG9kOiJzY3JpcHQiLGxvY2FsZTp0aGlzLm9wdGlvbnMubG9jYWxlfSwhMCksdGhpcy5vcHRpb25zLnR5cGU9ImNoYXJ0IixjLmFkZFVybFBhcmFtcyhlLGMuZ2VuZXJhdGVVdG1Gb3JVcmxQYXJhbXModGhpcy5vcHRpb25zKSk7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC50aXRsZT1jLmdldFdpZGdldFRpdGxlQXR0cmlidXRlKHRoaXMub3B0aW9ucy5pZnJhbWVUaXRsZSx0aGlzLndpZGdldElkKSx0Lmxhbmc9dGhpcy5vcHRpb25zLmlmcmFtZUxhbmd8fCJlbiIsdC5pZD10aGlzLmlkLHQuc3R5bGUuY3NzVGV4dD0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsiLHQuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSx0LnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksdC5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksdC5zZXRBdHRyaWJ1dGUoImFsbG93ZnVsbHNjcmVlbiIsInRydWUiKSx0LnNyYz1lLmhyZWYsdH0sdG9nZ2xlRnVsbHNjcmVlbjpmdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudD09PXQ/ZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTp0LnJlcXVlc3RGdWxsc2NyZWVuKCl9fSxjLnBvc3RNZXNzYWdlV3JhcHBlcj0oaT17fSxyPXt9LG49e30sYT0wLHM9MCxkPSJUcmFkaW5nVmlldyIsd2luZG93LmFkZEV2ZW50TGlzdGVuZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ7dHJ5e3Q9SlNPTi5wYXJzZShlLmRhdGEpfWNhdGNoKGUpe3JldHVybn1pZih0JiZ0LnByb3ZpZGVyJiZ0LnByb3ZpZGVyPT09ZClpZih0LnNvdXJjZT1lLnNvdXJjZSwiZ2V0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKGUpe3ZhciBpPXtpZDp0LmlkLHR5cGU6Im9uIixuYW1lOnQubmFtZSxjbGllbnRfaWQ6dC5jbGllbnRfaWQsZGF0YTplLHByb3ZpZGVyOmR9O28ucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX0pKX0pKX1lbHNlIGlmKCJvbiI9PT10LnR5cGUpaVt0LmNsaWVudF9pZF0mJmlbdC5jbGllbnRfaWRdW3QuaWRdJiYoaVt0LmNsaWVudF9pZF1bdC5pZF0uY2FsbCh0LHQuZGF0YSksZGVsZXRlIGlbdC5jbGllbnRfaWRdW3QuaWRdKTtlbHNlIGlmKCJwb3N0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKCl7fSkpfSkpfX0pKSxmdW5jdGlvbihlLHQpe3JldHVybiBpW3RdPXt9LG5bdF09ZSxvPWUse29uOmZ1bmN0aW9uKGUsdCxvKXtyW2VdJiZvfHwocltlXT1bXSkscltlXS5wdXNoKHQpfSxvZmY6ZnVuY3Rpb24oZSx0KXtpZighcltlXSlyZXR1cm4hMTt2YXIgbz1yW2VdLmluZGV4T2YodCk7bz4tMSYmcltlXS5zcGxpY2UobywxKX0sZ2V0OmZ1bmN0aW9uKGUsbyxyKXt2YXIgcz17aWQ6YSsrLHR5cGU6ImdldCIsbmFtZTplLGNsaWVudF9pZDp0LGRhdGE6byxwcm92aWRlcjpkfTtpW3RdW3MuaWRdPXIsblt0XS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShzKSwiKiIpfSxwb3N0OmZ1bmN0aW9uKGUsdCxvKXt2YXIgaT17aWQ6cysrLHR5cGU6InBvc3QiLG5hbWU6dCxkYXRhOm8scHJvdmlkZXI6ZH07ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUucG9zdE1lc3NhZ2UmJmUucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX19fSksYy5nZXRVcmxQYXJhbXM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9L1wrL2csdD0vKFteJj1dKyk9PyhbXiZdKikvZyxvPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGk9dC5leGVjKG8pLHI9ZnVuY3Rpb24odCl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh0LnJlcGxhY2UoZSwiICIpKX0sbj17fTtpOyluW3IoaVsxXSldPXIoaVsyXSksaT10LmV4ZWMobyk7cmV0dXJuIG59LGMuY3JlYXRlVXJsUGFyYW1zPWZ1bmN0aW9uKGUpe3ZhciB0PVtdO2Zvcih2YXIgbyBpbiBlKWUuaGFzT3duUHJvcGVydHkobykmJm51bGwhPWVbb10mJnQucHVzaChlbmNvZGVVUklDb21wb25lbnQobykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlW29dKSk7cmV0dXJuIHQuam9pbigiJiIpfSxjLmFkZFVybFBhcmFtcz1mdW5jdGlvbihlLHQsbyl7Zm9yKHZhciBpIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShpKSYmKG8/dFtpXTpudWxsIT10W2ldKSYmZS5zZWFyY2hQYXJhbXMuc2V0KGksdFtpXSk7cmV0dXJuIGV9O3ZhciBoPWZ1bmN0aW9uKGUsdCl7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodC5jb250YWluZXIpO2lmKG8pe28uaW5uZXJIVE1MPSIiLG8uYXBwZW5kQ2hpbGQoZSk7dmFyIGk9by5wYXJlbnRFbGVtZW50JiZvLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTtpZihpKXtpLnN0eWxlLndpZHRoPW8ucXVlcnlTZWxlY3RvcigiaWZyYW1lIikuc3R5bGUud2lkdGg7dmFyIHI9aS5xdWVyeVNlbGVjdG9yKCJhIik7aWYocil7dmFyIG49ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihuKXRyeXtjb25zdCBlPW5ldyBVUkwobik7Yy5hZGRVcmxQYXJhbXMoZSxjLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHQpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsZS50b1N0cmluZygpKX1jYXRjaChlKXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7bn0iYCl9fX19ZWxzZSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsZG9jdW1lbnQuY3VycmVudFNjcmlwdC5uZXh0U2libGluZyk7Y29uc3QgYT1jLmVtYmVkU3R5bGVzRm9yQ29weXJpZ2h0KCkscz1mdW5jdGlvbigpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpO3JldHVybiBlJiYoZS5ub25jZXx8ZS5nZXRBdHRyaWJ1dGUoIm5vbmNlIikpfSgpO3MmJmEuc2V0QXR0cmlidXRlKCJub25jZSIscyksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKX07ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBudWxsIT1lP2U6dH13aW5kb3cuVHJhZGluZ1ZpZXc/ZnVuY3Rpb24gZSh0LG8pe2Zvcih2YXIgaSBpbiBvKSJvYmplY3QiPT10eXBlb2Ygb1tpXSYmdC5oYXNPd25Qcm9wZXJ0eShpKT9lKHRbaV0sb1tpXSk6dFtpXT1vW2ldO3JldHVybiB0fSh3aW5kb3cuVHJhZGluZ1ZpZXcsYyk6d2luZG93LlRyYWRpbmdWaWV3PWN9KCk7"}},"time_used":227,"timings":{"blocked":-1,"dns":3,"connect":1,"send":0,"wait":3,"receive":-1,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.803Z","timestamp":1785120761803,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 3801344\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 02:52:41 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=N%2FEUVQILzkWO2UKSWP7FqDV7FrQAYtsp4LWFLpXWOoI70m9D44HffGCHvhrIBF80fv2F3W7oTgeCC49BrVbmsis1C%2FbinN2XyvIT6OlAEj3l1fEdZYofVwF5WJU5\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21859794bcd0daa-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":50501,"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-07-27T05:14:27.368197Z","times_seen":82441,"resource_available":false,"data":"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"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":3,"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.076Z","timestamp":1785120763076,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 394bf20b59cef4a65a030fc13ab04d71\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-07-27T05:15:36.987866Z","times_seen":4759,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.120Z","timestamp":1785120763120,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 8fb21d7f8873d56240fe7a85b58fdaf1\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-27T05:26:55.870422Z","times_seen":114,"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":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.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://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.460Z","timestamp":1785120763460,"http_version":"HTTP/2","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\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 02:52:43 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: a940d25947ee2e2d52539903b7d492a8\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-07-27T05:14:11.3544Z","times_seen":17556491,"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.118Z","timestamp":1785120763118,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: dc456f316511635465e90231f74ca9d9\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-27T05:26:55.928817Z","times_seen":216,"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":"code.jquery.com/jquery-3.6.0.min.js","fqdn":"code.jquery.com","domain":"jquery.com","tld":"com"},"ip":{"addr":"151.101.129.155","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.955Z","timestamp":1785120760955,"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":"*.jquery.com","organization":""},"issuer":{"commonName":"Sectigo Public Server Authentication CA DV E36","organization":"Sectigo Limited"},"validity":{"start":"Wed, 20 May 2026 00:00:00 GMT","end":"Fri, 04 Dec 2026 23:59:59 GMT"},"fingerprint":{"sha1":"DE:F8:0F:C4:8F:BC:F5:01:B1:66:91:CC:15:DC:D8:6E:5D:2F:45:4E","sha256":"05:8E:2E:14:85:E2:41:28:F5:18:A4:37:49:31:2B:0E:24:53:64:3F:02:15:BE:63:EF:F4:B8:53:5A:8B:6D:29"}}},"request":{"raw":"GET /jquery-3.6.0.min.js HTTP/1.1\r\nHost: code.jquery.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://360trustwealthavenue.stglen.com/\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\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\nserver: nginx\r\ncontent-type: application/javascript; charset=utf-8\r\nlast-modified: Fri, 18 Oct 1991 12:00:00 GMT\r\netag: W/\"28feccc0-15d9d\"\r\ncache-control: public, max-age=31536000, stale-while-revalidate=604800\r\naccess-control-allow-origin: *\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nvia: 1.1 varnish, 1.1 varnish\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nage: 2649840\r\nx-served-by: cache-lga21931-LGA, cache-bma-essb1270079-BMA\r\nx-cache: HIT, HIT\r\nx-cache-hits: 375947, 52632\r\nx-timer: S1785120761.010525,VS0,VE0\r\nvary: Accept-Encoding\r\ncontent-length: 30875\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]}],"data":{"size":89501,"size_decoded":31517,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65447)","md5":"8fb8fee4fcc3cc86ff6c724154c49c42","sha1":"b82d238d4e31fdf618bae8ac11a6c812c03dd0d4","sha256":"ff1523fb7389539c84c65aba19260648793bb4f5e29329d2ee8804bc37a3fe6e","sha512":"f3de1813a4160f9239f4781938645e1589b876759cd50b7936dbd849a35c38ffaed53f6a61dbdd8a1cf43cf4a28aa9fffbfddeec9a3811a1bb4ee6df58652b31","ssdeep":"1536:DjExXUqJnxDjoXEZxkMV4QYSt0zvDL6gP3h8cApwEIOzVTB/UjPazMdLiX4mQ1v9:DIh8GgP3hujzwbhd3XvSiDQ47GKn","tlshash":"069309ddb2c6702257a720ba007f510bf236199d6c4d8450f169d8eabc78a4e827bf7d","first_seen":"2023-03-07T01:02:13Z","last_seen":"2026-07-27T05:13:51.691726Z","times_seen":494538,"resource_available":true,"data":"LyohIGpRdWVyeSB2My42LjAgfCAoYykgT3BlbkpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyB8IGpxdWVyeS5vcmcvbGljZW5zZSAqLwohZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZS5kb2N1bWVudD90KGUsITApOmZ1bmN0aW9uKGUpe2lmKCFlLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiB0KGUpfTp0KGUpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihDLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1bXSxyPU9iamVjdC5nZXRQcm90b3R5cGVPZixzPXQuc2xpY2UsZz10LmZsYXQ/ZnVuY3Rpb24oZSl7cmV0dXJuIHQuZmxhdC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gdC5jb25jYXQuYXBwbHkoW10sZSl9LHU9dC5wdXNoLGk9dC5pbmRleE9mLG49e30sbz1uLnRvU3RyaW5nLHY9bi5oYXNPd25Qcm9wZXJ0eSxhPXYudG9TdHJpbmcsbD1hLmNhbGwoT2JqZWN0KSx5PXt9LG09ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJiJudW1iZXIiIT10eXBlb2YgZS5ub2RlVHlwZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUuaXRlbX0seD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmZT09PWUud2luZG93fSxFPUMuZG9jdW1lbnQsYz17dHlwZTohMCxzcmM6ITAsbm9uY2U6ITAsbm9Nb2R1bGU6ITB9O2Z1bmN0aW9uIGIoZSx0LG4pe3ZhciByLGksbz0obj1ufHxFKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpZihvLnRleHQ9ZSx0KWZvcihyIGluIGMpKGk9dFtyXXx8dC5nZXRBdHRyaWJ1dGUmJnQuZ2V0QXR0cmlidXRlKHIpKSYmby5zZXRBdHRyaWJ1dGUocixpKTtuLmhlYWQuYXBwZW5kQ2hpbGQobykucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKX1mdW5jdGlvbiB3KGUpe3JldHVybiBudWxsPT1lP2UrIiI6Im9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZT9uW28uY2FsbChlKV18fCJvYmplY3QiOnR5cGVvZiBlfXZhciBmPSIzLjYuMCIsUz1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgUy5mbi5pbml0KGUsdCl9O2Z1bmN0aW9uIHAoZSl7dmFyIHQ9ISFlJiYibGVuZ3RoImluIGUmJmUubGVuZ3RoLG49dyhlKTtyZXR1cm4hbShlKSYmIXgoZSkmJigiYXJyYXkiPT09bnx8MD09PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmMDx0JiZ0LTEgaW4gZSl9Uy5mbj1TLnByb3RvdHlwZT17anF1ZXJ5OmYsY29uc3RydWN0b3I6UyxsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHMuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3MuY2FsbCh0aGlzKTplPDA/dGhpc1tlK3RoaXMubGVuZ3RoXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9Uy5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9iamVjdD10aGlzLHR9LGVhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIFMuZWFjaCh0aGlzLGUpfSxtYXA6ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMubWFwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gbi5jYWxsKGUsdCxlKX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2socy5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxldmVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrMSklMn0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQlMn0pKX0sZXE6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5sZW5ndGgsbj0rZSsoZTwwP3Q6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKDA8PW4mJm48dD9bdGhpc1tuXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6dSxzb3J0OnQuc29ydCxzcGxpY2U6dC5zcGxpY2V9LFMuZXh0ZW5kPVMuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLGE9YXJndW1lbnRzWzBdfHx7fSxzPTEsdT1hcmd1bWVudHMubGVuZ3RoLGw9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGEmJihsPWEsYT1hcmd1bWVudHNbc118fHt9LHMrKyksIm9iamVjdCI9PXR5cGVvZiBhfHxtKGEpfHwoYT17fSkscz09PXUmJihhPXRoaXMscy0tKTtzPHU7cysrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tzXSkpZm9yKHQgaW4gZSlyPWVbdF0sIl9fcHJvdG9fXyIhPT10JiZhIT09ciYmKGwmJnImJihTLmlzUGxhaW5PYmplY3Qocil8fChpPUFycmF5LmlzQXJyYXkocikpKT8obj1hW3RdLG89aSYmIUFycmF5LmlzQXJyYXkobik/W106aXx8Uy5pc1BsYWluT2JqZWN0KG4pP246e30saT0hMSxhW3RdPVMuZXh0ZW5kKGwsbyxyKSk6dm9pZCAwIT09ciYmKGFbdF09cikpO3JldHVybiBhfSxTLmV4dGVuZCh7ZXhwYW5kbzoialF1ZXJ5IisoZitNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxpc1JlYWR5OiEwLGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0sbm9vcDpmdW5jdGlvbigpe30saXNQbGFpbk9iamVjdDpmdW5jdGlvbihlKXt2YXIgdCxuO3JldHVybiEoIWV8fCJbb2JqZWN0IE9iamVjdF0iIT09by5jYWxsKGUpKSYmKCEodD1yKGUpKXx8ImZ1bmN0aW9uIj09dHlwZW9mKG49di5jYWxsKHQsImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3IpJiZhLmNhbGwobik9PT1sKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXJldHVybiExO3JldHVybiEwfSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUsdCxuKXtiKGUse25vbmNlOnQmJnQubm9uY2V9LG4pfSxlYWNoOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wO2lmKHAoZSkpe2ZvcihuPWUubGVuZ3RoO3I8bjtyKyspaWYoITE9PT10LmNhbGwoZVtyXSxyLGVbcl0pKWJyZWFrfWVsc2UgZm9yKHIgaW4gZSlpZighMT09PXQuY2FsbChlW3JdLHIsZVtyXSkpYnJlYWs7cmV0dXJuIGV9LG1ha2VBcnJheTpmdW5jdGlvbihlLHQpe3ZhciBuPXR8fFtdO3JldHVybiBudWxsIT1lJiYocChPYmplY3QoZSkpP1MubWVyZ2Uobiwic3RyaW5nIj09dHlwZW9mIGU/W2VdOmUpOnUuY2FsbChuLGUpKSxufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09dD8tMTppLmNhbGwodCxlLG4pfSxtZXJnZTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0rdC5sZW5ndGgscj0wLGk9ZS5sZW5ndGg7cjxuO3IrKyllW2krK109dFtyXTtyZXR1cm4gZS5sZW5ndGg9aSxlfSxncmVwOmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9W10saT0wLG89ZS5sZW5ndGgsYT0hbjtpPG87aSsrKSF0KGVbaV0saSkhPT1hJiZyLnB1c2goZVtpXSk7cmV0dXJuIHJ9LG1hcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPTAsYT1bXTtpZihwKGUpKWZvcihyPWUubGVuZ3RoO288cjtvKyspbnVsbCE9KGk9dChlW29dLG8sbikpJiZhLnB1c2goaSk7ZWxzZSBmb3IobyBpbiBlKW51bGwhPShpPXQoZVtvXSxvLG4pKSYmYS5wdXNoKGkpO3JldHVybiBnKGEpfSxndWlkOjEsc3VwcG9ydDp5fSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKFMuZm5bU3ltYm9sLml0ZXJhdG9yXT10W1N5bWJvbC5pdGVyYXRvcl0pLFMuZWFjaCgiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSx0KXtuWyJbb2JqZWN0ICIrdCsiXSJdPXQudG9Mb3dlckNhc2UoKX0pO3ZhciBkPWZ1bmN0aW9uKG4pe3ZhciBlLGQsYixvLGksaCxmLGcsdyx1LGwsVCxDLGEsRSx2LHMsYyx5LFM9InNpenpsZSIrMSpuZXcgRGF0ZSxwPW4uZG9jdW1lbnQsaz0wLHI9MCxtPXVlKCkseD11ZSgpLEE9dWUoKSxOPXVlKCksaj1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKGw9ITApLDB9LEQ9e30uaGFzT3duUHJvcGVydHksdD1bXSxxPXQucG9wLEw9dC5wdXNoLEg9dC5wdXNoLE89dC5zbGljZSxQPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfSxSPSJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIsTT0iW1xceDIwXFx0XFxyXFxuXFxmXSIsST0iKD86XFxcXFtcXGRhLWZBLUZdezEsNn0iK00rIj98XFxcXFteXFxyXFxuXFxmXXxbXFx3LV18W15cMC1cXHg3Zl0pKyIsVz0iXFxbIitNKyIqKCIrSSsiKSg/OiIrTSsiKihbKl4kfCF+XT89KSIrTSsiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK0krIikpfCkiK00rIipcXF0iLEY9IjooIitJKyIpKD86XFwoKCgnKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitXKyIpKil8LiopXFwpfCkiLEI9bmV3IFJlZ0V4cChNKyIrIiwiZyIpLCQ9bmV3IFJlZ0V4cCgiXiIrTSsiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitNKyIrJCIsImciKSxfPW5ldyBSZWdFeHAoIl4iK00rIiosIitNKyIqIiksej1uZXcgUmVnRXhwKCJeIitNKyIqKFs+K35dfCIrTSsiKSIrTSsiKiIpLFU9bmV3IFJlZ0V4cChNKyJ8PiIpLFg9bmV3IFJlZ0V4cChGKSxWPW5ldyBSZWdFeHAoIl4iK0krIiQiKSxHPXtJRDpuZXcgUmVnRXhwKCJeIygiK0krIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrSSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrSSsifFsqXSkiKSxBVFRSOm5ldyBSZWdFeHAoIl4iK1cpLFBTRVVETzpuZXcgUmVnRXhwKCJeIitGKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK00rIiooZXZlbnxvZGR8KChbKy1dfCkoXFxkKilufCkiK00rIiooPzooWystXXwpIitNKyIqKFxcZCspfCkpIitNKyIqXFwpfCkiLCJpIiksYm9vbDpuZXcgUmVnRXhwKCJeKD86IitSKyIpJCIsImkiKSxuZWVkc0NvbnRleHQ6bmV3IFJlZ0V4cCgiXiIrTSsiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIitNKyIqKCg/Oi1cXGQpP1xcZCopIitNKyIqXFwpfCkoPz1bXi1dfCQpIiwiaSIpfSxZPS9IVE1MJC9pLFE9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxKPS9eaFxkJC9pLEs9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLFo9L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxlZT0vWyt+XS8sdGU9bmV3IFJlZ0V4cCgiXFxcXFtcXGRhLWZBLUZdezEsNn0iK00rIj98XFxcXChbXlxcclxcblxcZl0pIiwiZyIpLG5lPWZ1bmN0aW9uKGUsdCl7dmFyIG49IjB4IitlLnNsaWNlKDEpLTY1NTM2O3JldHVybiB0fHwobjwwP1N0cmluZy5mcm9tQ2hhckNvZGUobis2NTUzNik6U3RyaW5nLmZyb21DaGFyQ29kZShuPj4xMHw1NTI5NiwxMDIzJm58NTYzMjApKX0scmU9LyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15cMC1ceDFmXHg3Zi1cdUZGRkZcdy1dL2csaWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD8iXDAiPT09ZT8iXHVmZmZkIjplLnNsaWNlKDAsLTEpKyJcXCIrZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpLnRvU3RyaW5nKDE2KSsiICI6IlxcIitlfSxvZT1mdW5jdGlvbigpe1QoKX0sYWU9YmUoZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLmRpc2FibGVkJiYiZmllbGRzZXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfSx7ZGlyOiJwYXJlbnROb2RlIixuZXh0OiJsZWdlbmQifSk7dHJ5e0guYXBwbHkodD1PLmNhbGwocC5jaGlsZE5vZGVzKSxwLmNoaWxkTm9kZXMpLHRbcC5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZSl7SD17YXBwbHk6dC5sZW5ndGg/ZnVuY3Rpb24oZSx0KXtMLmFwcGx5KGUsTy5jYWxsKHQpKX06ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmxlbmd0aCxyPTA7d2hpbGUoZVtuKytdPXRbcisrXSk7ZS5sZW5ndGg9bi0xfX19ZnVuY3Rpb24gc2UodCxlLG4scil7dmFyIGksbyxhLHMsdSxsLGMsZj1lJiZlLm93bmVyRG9jdW1lbnQscD1lP2Uubm9kZVR5cGU6OTtpZihuPW58fFtdLCJzdHJpbmciIT10eXBlb2YgdHx8IXR8fDEhPT1wJiY5IT09cCYmMTEhPT1wKXJldHVybiBuO2lmKCFyJiYoVChlKSxlPWV8fEMsRSkpe2lmKDExIT09cCYmKHU9Wi5leGVjKHQpKSlpZihpPXVbMV0pe2lmKDk9PT1wKXtpZighKGE9ZS5nZXRFbGVtZW50QnlJZChpKSkpcmV0dXJuIG47aWYoYS5pZD09PWkpcmV0dXJuIG4ucHVzaChhKSxufWVsc2UgaWYoZiYmKGE9Zi5nZXRFbGVtZW50QnlJZChpKSkmJnkoZSxhKSYmYS5pZD09PWkpcmV0dXJuIG4ucHVzaChhKSxufWVsc2V7aWYodVsyXSlyZXR1cm4gSC5hcHBseShuLGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUodCkpLG47aWYoKGk9dVszXSkmJmQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KG4sZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGkpKSxufWlmKGQucXNhJiYhTlt0KyIgIl0mJighdnx8IXYudGVzdCh0KSkmJigxIT09cHx8Im9iamVjdCIhPT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpKXtpZihjPXQsZj1lLDE9PT1wJiYoVS50ZXN0KHQpfHx6LnRlc3QodCkpKXsoZj1lZS50ZXN0KHQpJiZ5ZShlLnBhcmVudE5vZGUpfHxlKT09PWUmJmQuc2NvcGV8fCgocz1lLmdldEF0dHJpYnV0ZSgiaWQiKSk/cz1zLnJlcGxhY2UocmUsaWUpOmUuc2V0QXR0cmlidXRlKCJpZCIscz1TKSksbz0obD1oKHQpKS5sZW5ndGg7d2hpbGUoby0tKWxbb109KHM/IiMiK3M6IjpzY29wZSIpKyIgIit4ZShsW29dKTtjPWwuam9pbigiLCIpfXRyeXtyZXR1cm4gSC5hcHBseShuLGYucXVlcnlTZWxlY3RvckFsbChjKSksbn1jYXRjaChlKXtOKHQsITApfWZpbmFsbHl7cz09PVMmJmUucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGcodC5yZXBsYWNlKCQsIiQxIiksZSxuLHIpfWZ1bmN0aW9uIHVlKCl7dmFyIHI9W107cmV0dXJuIGZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gci5wdXNoKHQrIiAiKT5iLmNhY2hlTGVuZ3RoJiZkZWxldGUgZVtyLnNoaWZ0KCldLGVbdCsiICJdPW59fWZ1bmN0aW9uIGxlKGUpe3JldHVybiBlW1NdPSEwLGV9ZnVuY3Rpb24gY2UoZSl7dmFyIHQ9Qy5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpO3RyeXtyZXR1cm4hIWUodCl9Y2F0Y2goZSl7cmV0dXJuITF9ZmluYWxseXt0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0PW51bGx9fWZ1bmN0aW9uIGZlKGUsdCl7dmFyIG49ZS5zcGxpdCgifCIpLHI9bi5sZW5ndGg7d2hpbGUoci0tKWIuYXR0ckhhbmRsZVtuW3JdXT10fWZ1bmN0aW9uIHBlKGUsdCl7dmFyIG49dCYmZSxyPW4mJjE9PT1lLm5vZGVUeXBlJiYxPT09dC5ub2RlVHlwZSYmZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O2lmKHIpcmV0dXJuIHI7aWYobil3aGlsZShuPW4ubmV4dFNpYmxpbmcpaWYobj09PXQpcmV0dXJuLTE7cmV0dXJuIGU/MTotMX1mdW5jdGlvbiBkZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmZS50eXBlPT09dH19ZnVuY3Rpb24gaGUobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PXR8fCJidXR0b24iPT09dCkmJmUudHlwZT09PW59fWZ1bmN0aW9uIGdlKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4iZm9ybSJpbiBlP2UucGFyZW50Tm9kZSYmITE9PT1lLmRpc2FibGVkPyJsYWJlbCJpbiBlPyJsYWJlbCJpbiBlLnBhcmVudE5vZGU/ZS5wYXJlbnROb2RlLmRpc2FibGVkPT09dDplLmRpc2FibGVkPT09dDplLmlzRGlzYWJsZWQ9PT10fHxlLmlzRGlzYWJsZWQhPT0hdCYmYWUoZSk9PT10OmUuZGlzYWJsZWQ9PT10OiJsYWJlbCJpbiBlJiZlLmRpc2FibGVkPT09dH19ZnVuY3Rpb24gdmUoYSl7cmV0dXJuIGxlKGZ1bmN0aW9uKG8pe3JldHVybiBvPStvLGxlKGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1hKFtdLGUubGVuZ3RoLG8pLGk9ci5sZW5ndGg7d2hpbGUoaS0tKWVbbj1yW2ldXSYmKGVbbl09ISh0W25dPWVbbl0pKX0pfSl9ZnVuY3Rpb24geWUoZSl7cmV0dXJuIGUmJiJ1bmRlZmluZWQiIT10eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmZX1mb3IoZSBpbiBkPXNlLnN1cHBvcnQ9e30saT1zZS5pc1hNTD1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLm5hbWVzcGFjZVVSSSxuPWUmJihlLm93bmVyRG9jdW1lbnR8fGUpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hWS50ZXN0KHR8fG4mJm4ubm9kZU5hbWV8fCJIVE1MIil9LFQ9c2Uuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbixyPWU/ZS5vd25lckRvY3VtZW50fHxlOnA7cmV0dXJuIHIhPUMmJjk9PT1yLm5vZGVUeXBlJiZyLmRvY3VtZW50RWxlbWVudCYmKGE9KEM9cikuZG9jdW1lbnRFbGVtZW50LEU9IWkoQykscCE9QyYmKG49Qy5kZWZhdWx0VmlldykmJm4udG9wIT09biYmKG4uYWRkRXZlbnRMaXN0ZW5lcj9uLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsb2UsITEpOm4uYXR0YWNoRXZlbnQmJm4uYXR0YWNoRXZlbnQoIm9udW5sb2FkIixvZSkpLGQuc2NvcGU9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQoQy5jcmVhdGVFbGVtZW50KCJkaXYiKSksInVuZGVmaW5lZCIhPXR5cGVvZiBlLnF1ZXJ5U2VsZWN0b3JBbGwmJiFlLnF1ZXJ5U2VsZWN0b3JBbGwoIjpzY29wZSBmaWVsZHNldCBkaXYiKS5sZW5ndGh9KSxkLmF0dHJpYnV0ZXM9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2xhc3NOYW1lPSJpIiwhZS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksZC5nZXRFbGVtZW50c0J5VGFnTmFtZT1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChDLmNyZWF0ZUNvbW1lbnQoIiIpKSwhZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1LLnRlc3QoQy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxkLmdldEJ5SWQ9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoZSkuaWQ9UywhQy5nZXRFbGVtZW50c0J5TmFtZXx8IUMuZ2V0RWxlbWVudHNCeU5hbWUoUykubGVuZ3RofSksZC5nZXRCeUlkPyhiLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoImlkIik9PT10fX0sYi5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRCeUlkJiZFKXt2YXIgbj10LmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiBuP1tuXTpbXX19KTooYi5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHRlLG5lKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9InVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEF0dHJpYnV0ZU5vZGUmJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gdCYmdC52YWx1ZT09PW59fSxiLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQmJkUpe3ZhciBuLHIsaSxvPXQuZ2V0RWxlbWVudEJ5SWQoZSk7aWYobyl7aWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dO2k9dC5nZXRFbGVtZW50c0J5TmFtZShlKSxyPTA7d2hpbGUobz1pW3IrK10paWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dfXJldHVybltdfX0pLGIuZmluZC5UQUc9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihlLHQpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpOmQucXNhP3QucXVlcnlTZWxlY3RvckFsbChlKTp2b2lkIDB9OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPTAsbz10LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpO2lmKCIqIj09PWUpe3doaWxlKG49b1tpKytdKTE9PT1uLm5vZGVUeXBlJiZyLnB1c2gobik7cmV0dXJuIHJ9cmV0dXJuIG99LGIuZmluZC5DTEFTUz1kLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGUsdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJkUpcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlKX0scz1bXSx2PVtdLChkLnFzYT1LLnRlc3QoQy5xdWVyeVNlbGVjdG9yQWxsKSkmJihjZShmdW5jdGlvbihlKXt2YXIgdDthLmFwcGVuZENoaWxkKGUpLmlubmVySFRNTD0iPGEgaWQ9JyIrUysiJz48L2E+PHNlbGVjdCBpZD0nIitTKyItXHJcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLGUucXVlcnlTZWxlY3RvckFsbCgiW21zYWxsb3djYXB0dXJlXj0nJ10iKS5sZW5ndGgmJnYucHVzaCgiWypeJF09IitNKyIqKD86Jyd8XCJcIikiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltzZWxlY3RlZF0iKS5sZW5ndGh8fHYucHVzaCgiXFxbIitNKyIqKD86dmFsdWV8IitSKyIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJbaWR+PSIrUysiLV0iKS5sZW5ndGh8fHYucHVzaCgifj0iKSwodD1DLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnNldEF0dHJpYnV0ZSgibmFtZSIsIiIpLGUuYXBwZW5kQ2hpbGQodCksZS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT0nJ10iKS5sZW5ndGh8fHYucHVzaCgiXFxbIitNKyIqbmFtZSIrTSsiKj0iK00rIiooPzonJ3xcIlwiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHYucHVzaCgiOmNoZWNrZWQiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIitTKyIrKiIpLmxlbmd0aHx8di5wdXNoKCIuIy4rWyt+XSIpLGUucXVlcnlTZWxlY3RvckFsbCgiXFxcZiIpLHYucHVzaCgiW1xcclxcblxcZl0iKX0pLGNlKGZ1bmN0aW9uKGUpe2UuaW5uZXJIVE1MPSI8YSBocmVmPScnIGRpc2FibGVkPSdkaXNhYmxlZCc+PC9hPjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD4iO3ZhciB0PUMuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt0LnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLGUuYXBwZW5kQ2hpbGQodCkuc2V0QXR0cmlidXRlKCJuYW1lIiwiRCIpLGUucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGgmJnYucHVzaCgibmFtZSIrTSsiKlsqXiR8IX5dPz0iKSwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aCYmdi5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGEuYXBwZW5kQ2hpbGQoZSkuZGlzYWJsZWQ9ITAsMiE9PWUucXVlcnlTZWxlY3RvckFsbCgiOmRpc2FibGVkIikubGVuZ3RoJiZ2LnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksZS5xdWVyeVNlbGVjdG9yQWxsKCIqLDp4Iiksdi5wdXNoKCIsLio6Iil9KSksKGQubWF0Y2hlc1NlbGVjdG9yPUsudGVzdChjPWEubWF0Y2hlc3x8YS53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fGEubW96TWF0Y2hlc1NlbGVjdG9yfHxhLm9NYXRjaGVzU2VsZWN0b3J8fGEubXNNYXRjaGVzU2VsZWN0b3IpKSYmY2UoZnVuY3Rpb24oZSl7ZC5kaXNjb25uZWN0ZWRNYXRjaD1jLmNhbGwoZSwiKiIpLGMuY2FsbChlLCJbcyE9JyddOngiKSxzLnB1c2goIiE9IixGKX0pLHY9di5sZW5ndGgmJm5ldyBSZWdFeHAodi5qb2luKCJ8IikpLHM9cy5sZW5ndGgmJm5ldyBSZWdFeHAocy5qb2luKCJ8IikpLHQ9Sy50ZXN0KGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHk9dHx8Sy50ZXN0KGEuY29udGFpbnMpP2Z1bmN0aW9uKGUsdCl7dmFyIG49OT09PWUubm9kZVR5cGU/ZS5kb2N1bWVudEVsZW1lbnQ6ZSxyPXQmJnQucGFyZW50Tm9kZTtyZXR1cm4gZT09PXJ8fCEoIXJ8fDEhPT1yLm5vZGVUeXBlfHwhKG4uY29udGFpbnM/bi5jb250YWlucyhyKTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHIpKSl9OmZ1bmN0aW9uKGUsdCl7aWYodCl3aGlsZSh0PXQucGFyZW50Tm9kZSlpZih0PT09ZSlyZXR1cm4hMDtyZXR1cm4hMX0saj10P2Z1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGw9ITAsMDt2YXIgbj0hZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gbnx8KDEmKG49KGUub3duZXJEb2N1bWVudHx8ZSk9PSh0Lm93bmVyRG9jdW1lbnR8fHQpP2UuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCk6MSl8fCFkLnNvcnREZXRhY2hlZCYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKT09PW4/ZT09Q3x8ZS5vd25lckRvY3VtZW50PT1wJiZ5KHAsZSk/LTE6dD09Q3x8dC5vd25lckRvY3VtZW50PT1wJiZ5KHAsdCk/MTp1P1AodSxlKS1QKHUsdCk6MDo0Jm4/LTE6MSl9OmZ1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGw9ITAsMDt2YXIgbixyPTAsaT1lLnBhcmVudE5vZGUsbz10LnBhcmVudE5vZGUsYT1bZV0scz1bdF07aWYoIWl8fCFvKXJldHVybiBlPT1DPy0xOnQ9PUM/MTppPy0xOm8/MTp1P1AodSxlKS1QKHUsdCk6MDtpZihpPT09bylyZXR1cm4gcGUoZSx0KTtuPWU7d2hpbGUobj1uLnBhcmVudE5vZGUpYS51bnNoaWZ0KG4pO249dDt3aGlsZShuPW4ucGFyZW50Tm9kZSlzLnVuc2hpZnQobik7d2hpbGUoYVtyXT09PXNbcl0pcisrO3JldHVybiByP3BlKGFbcl0sc1tyXSk6YVtyXT09cD8tMTpzW3JdPT1wPzE6MH0pLEN9LHNlLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gc2UoZSxudWxsLG51bGwsdCl9LHNlLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihlLHQpe2lmKFQoZSksZC5tYXRjaGVzU2VsZWN0b3ImJkUmJiFOW3QrIiAiXSYmKCFzfHwhcy50ZXN0KHQpKSYmKCF2fHwhdi50ZXN0KHQpKSl0cnl7dmFyIG49Yy5jYWxsKGUsdCk7aWYobnx8ZC5kaXNjb25uZWN0ZWRNYXRjaHx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBufWNhdGNoKGUpe04odCwhMCl9cmV0dXJuIDA8c2UodCxDLG51bGwsW2VdKS5sZW5ndGh9LHNlLmNvbnRhaW5zPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKGUub3duZXJEb2N1bWVudHx8ZSkhPUMmJlQoZSkseShlLHQpfSxzZS5hdHRyPWZ1bmN0aW9uKGUsdCl7KGUub3duZXJEb2N1bWVudHx8ZSkhPUMmJlQoZSk7dmFyIG49Yi5hdHRySGFuZGxlW3QudG9Mb3dlckNhc2UoKV0scj1uJiZELmNhbGwoYi5hdHRySGFuZGxlLHQudG9Mb3dlckNhc2UoKSk/bihlLHQsIUUpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09cj9yOmQuYXR0cmlidXRlc3x8IUU/ZS5nZXRBdHRyaWJ1dGUodCk6KHI9ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSYmci5zcGVjaWZpZWQ/ci52YWx1ZTpudWxsfSxzZS5lc2NhcGU9ZnVuY3Rpb24oZSl7cmV0dXJuKGUrIiIpLnJlcGxhY2UocmUsaWUpfSxzZS5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrZSl9LHNlLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj1bXSxyPTAsaT0wO2lmKGw9IWQuZGV0ZWN0RHVwbGljYXRlcyx1PSFkLnNvcnRTdGFibGUmJmUuc2xpY2UoMCksZS5zb3J0KGopLGwpe3doaWxlKHQ9ZVtpKytdKXQ9PT1lW2ldJiYocj1uLnB1c2goaSkpO3doaWxlKHItLSllLnNwbGljZShuW3JdLDEpfXJldHVybiB1PW51bGwsZX0sbz1zZS5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG49IiIscj0wLGk9ZS5ub2RlVHlwZTtpZihpKXtpZigxPT09aXx8OT09PWl8fDExPT09aSl7aWYoInN0cmluZyI9PXR5cGVvZiBlLnRleHRDb250ZW50KXJldHVybiBlLnRleHRDb250ZW50O2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyluKz1vKGUpfWVsc2UgaWYoMz09PWl8fDQ9PT1pKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKHQ9ZVtyKytdKW4rPW8odCk7cmV0dXJuIG59LChiPXNlLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmxlLG1hdGNoOkcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0ucmVwbGFjZSh0ZSxuZSksZVszXT0oZVszXXx8ZVs0XXx8ZVs1XXx8IiIpLnJlcGxhY2UodGUsbmUpLCJ+PSI9PT1lWzJdJiYoZVszXT0iICIrZVszXSsiICIpLGUuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS50b0xvd2VyQ2FzZSgpLCJudGgiPT09ZVsxXS5zbGljZSgwLDMpPyhlWzNdfHxzZS5lcnJvcihlWzBdKSxlWzRdPSsoZVs0XT9lWzVdKyhlWzZdfHwxKToyKigiZXZlbiI9PT1lWzNdfHwib2RkIj09PWVbM10pKSxlWzVdPSsoZVs3XStlWzhdfHwib2RkIj09PWVbM10pKTplWzNdJiZzZS5lcnJvcihlWzBdKSxlfSxQU0VVRE86ZnVuY3Rpb24oZSl7dmFyIHQsbj0hZVs2XSYmZVsyXTtyZXR1cm4gRy5DSElMRC50ZXN0KGVbMF0pP251bGw6KGVbM10/ZVsyXT1lWzRdfHxlWzVdfHwiIjpuJiZYLnRlc3QobikmJih0PWgobiwhMCkpJiYodD1uLmluZGV4T2YoIikiLG4ubGVuZ3RoLXQpLW4ubGVuZ3RoKSYmKGVbMF09ZVswXS5zbGljZSgwLHQpLGVbMl09bi5zbGljZSgwLHQpKSxlLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWU/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXR9fSxDTEFTUzpmdW5jdGlvbihlKXt2YXIgdD1tW2UrIiAiXTtyZXR1cm4gdHx8KHQ9bmV3IFJlZ0V4cCgiKF58IitNKyIpIitlKyIoIitNKyJ8JCkiKSkmJm0oZSxmdW5jdGlvbihlKXtyZXR1cm4gdC50ZXN0KCJzdHJpbmciPT10eXBlb2YgZS5jbGFzc05hbWUmJmUuY2xhc3NOYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpfSl9LEFUVFI6ZnVuY3Rpb24obixyLGkpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1zZS5hdHRyKGUsbik7cmV0dXJuIG51bGw9PXQ/IiE9Ij09PXI6IXJ8fCh0Kz0iIiwiPSI9PT1yP3Q9PT1pOiIhPSI9PT1yP3QhPT1pOiJePSI9PT1yP2kmJjA9PT10LmluZGV4T2YoaSk6Iio9Ij09PXI/aSYmLTE8dC5pbmRleE9mKGkpOiIkPSI9PT1yP2kmJnQuc2xpY2UoLWkubGVuZ3RoKT09PWk6In49Ij09PXI/LTE8KCIgIit0LnJlcGxhY2UoQiwiICIpKyIgIikuaW5kZXhPZihpKToifD0iPT09ciYmKHQ9PT1pfHx0LnNsaWNlKDAsaS5sZW5ndGgrMSk9PT1pKyItIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oaCxlLHQsZyx2KXt2YXIgeT0ibnRoIiE9PWguc2xpY2UoMCwzKSxtPSJsYXN0IiE9PWguc2xpY2UoLTQpLHg9Im9mLXR5cGUiPT09ZTtyZXR1cm4gMT09PWcmJjA9PT12P2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGw9eSE9PW0/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixjPWUucGFyZW50Tm9kZSxmPXgmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxwPSFuJiYheCxkPSExO2lmKGMpe2lmKHkpe3doaWxlKGwpe2E9ZTt3aGlsZShhPWFbbF0paWYoeD9hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1mOjE9PT1hLm5vZGVUeXBlKXJldHVybiExO3U9bD0ib25seSI9PT1oJiYhdSYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZih1PVttP2MuZmlyc3RDaGlsZDpjLmxhc3RDaGlsZF0sbSYmcCl7ZD0ocz0ocj0oaT0obz0oYT1jKVtTXXx8KGFbU109e30pKVthLnVuaXF1ZUlEXXx8KG9bYS51bmlxdWVJRF09e30pKVtoXXx8W10pWzBdPT09ayYmclsxXSkmJnJbMl0sYT1zJiZjLmNoaWxkTm9kZXNbc107d2hpbGUoYT0rK3MmJmEmJmFbbF18fChkPXM9MCl8fHUucG9wKCkpaWYoMT09PWEubm9kZVR5cGUmJisrZCYmYT09PWUpe2lbaF09W2sscyxkXTticmVha319ZWxzZSBpZihwJiYoZD1zPShyPShpPShvPShhPWUpW1NdfHwoYVtTXT17fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdfHxbXSlbMF09PT1rJiZyWzFdKSwhMT09PWQpd2hpbGUoYT0rK3MmJmEmJmFbbF18fChkPXM9MCl8fHUucG9wKCkpaWYoKHg/YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ZjoxPT09YS5ub2RlVHlwZSkmJisrZCYmKHAmJigoaT0obz1hW1NdfHwoYVtTXT17fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdPVtrLGRdKSxhPT09ZSkpYnJlYWs7cmV0dXJuKGQtPXYpPT09Z3x8ZCVnPT0wJiYwPD1kL2d9fX0sUFNFVURPOmZ1bmN0aW9uKGUsbyl7dmFyIHQsYT1iLnBzZXVkb3NbZV18fGIuc2V0RmlsdGVyc1tlLnRvTG93ZXJDYXNlKCldfHxzZS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK2UpO3JldHVybiBhW1NdP2Eobyk6MTxhLmxlbmd0aD8odD1bZSxlLCIiLG9dLGIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShlLnRvTG93ZXJDYXNlKCkpP2xlKGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1hKGUsbyksaT1yLmxlbmd0aDt3aGlsZShpLS0pZVtuPVAoZSxyW2ldKV09ISh0W25dPXJbaV0pfSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGEoZSwwLHQpfSk6YX19LHBzZXVkb3M6e25vdDpsZShmdW5jdGlvbihlKXt2YXIgcj1bXSxpPVtdLHM9ZihlLnJlcGxhY2UoJCwiJDEiKSk7cmV0dXJuIHNbU10/bGUoZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbz1zKGUsbnVsbCxyLFtdKSxhPWUubGVuZ3RoO3doaWxlKGEtLSkoaT1vW2FdKSYmKGVbYV09ISh0W2FdPWkpKX0pOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gclswXT1lLHMocixudWxsLG4saSksclswXT1udWxsLCFpLnBvcCgpfX0pLGhhczpsZShmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIDA8c2UodCxlKS5sZW5ndGh9fSksY29udGFpbnM6bGUoZnVuY3Rpb24odCl7cmV0dXJuIHQ9dC5yZXBsYWNlKHRlLG5lKSxmdW5jdGlvbihlKXtyZXR1cm4tMTwoZS50ZXh0Q29udGVudHx8byhlKSkuaW5kZXhPZih0KX19KSxsYW5nOmxlKGZ1bmN0aW9uKG4pe3JldHVybiBWLnRlc3Qobnx8IiIpfHxzZS5lcnJvcigidW5zdXBwb3J0ZWQgbGFuZzogIituKSxuPW4ucmVwbGFjZSh0ZSxuZSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbihlKXt2YXIgdDtkb3tpZih0PUU/ZS5sYW5nOmUuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxlLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybih0PXQudG9Mb3dlckNhc2UoKSk9PT1ufHwwPT09dC5pbmRleE9mKG4rIi0iKX13aGlsZSgoZT1lLnBhcmVudE5vZGUpJiYxPT09ZS5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGUpe3ZhciB0PW4ubG9jYXRpb24mJm4ubG9jYXRpb24uaGFzaDtyZXR1cm4gdCYmdC5zbGljZSgxKT09PWUuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1hfSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PUMuYWN0aXZlRWxlbWVudCYmKCFDLmhhc0ZvY3VzfHxDLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmdlKCExKSxkaXNhYmxlZDpnZSghMCksY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiEhZS5jaGVja2VkfHwib3B0aW9uIj09PXQmJiEhZS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxlbXB0eTpmdW5jdGlvbihlKXtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpaWYoZS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIWIucHNldWRvcy5lbXB0eShlKX0saGVhZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBKLnRlc3QoZS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBRLnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnZlKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDp2ZShmdW5jdGlvbihlLHQpe3JldHVyblt0LTFdfSksZXE6dmUoZnVuY3Rpb24oZSx0LG4pe3JldHVybltuPDA/bit0Om5dfSksZXZlbjp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLG9kZDp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0xO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLGx0OnZlKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9bjwwP24rdDp0PG4/dDpuOzA8PS0tcjspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6dmUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om47KytyPHQ7KWUucHVzaChyKTtyZXR1cm4gZX0pfX0pLnBzZXVkb3MubnRoPWIucHNldWRvcy5lcSx7cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pYi5wc2V1ZG9zW2VdPWRlKGUpO2ZvcihlIGlue3N1Ym1pdDohMCxyZXNldDohMH0pYi5wc2V1ZG9zW2VdPWhlKGUpO2Z1bmN0aW9uIG1lKCl7fWZ1bmN0aW9uIHhlKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgscj0iIjt0PG47dCsrKXIrPWVbdF0udmFsdWU7cmV0dXJuIHJ9ZnVuY3Rpb24gYmUocyxlLHQpe3ZhciB1PWUuZGlyLGw9ZS5uZXh0LGM9bHx8dSxmPXQmJiJwYXJlbnROb2RlIj09PWMscD1yKys7cmV0dXJuIGUuZmlyc3Q/ZnVuY3Rpb24oZSx0LG4pe3doaWxlKGU9ZVt1XSlpZigxPT09ZS5ub2RlVHlwZXx8ZilyZXR1cm4gcyhlLHQsbik7cmV0dXJuITF9OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT1bayxwXTtpZihuKXt3aGlsZShlPWVbdV0paWYoKDE9PT1lLm5vZGVUeXBlfHxmKSYmcyhlLHQsbikpcmV0dXJuITB9ZWxzZSB3aGlsZShlPWVbdV0paWYoMT09PWUubm9kZVR5cGV8fGYpaWYoaT0obz1lW1NdfHwoZVtTXT17fSkpW2UudW5pcXVlSURdfHwob1tlLnVuaXF1ZUlEXT17fSksbCYmbD09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSllPWVbdV18fGU7ZWxzZXtpZigocj1pW2NdKSYmclswXT09PWsmJnJbMV09PT1wKXJldHVybiBhWzJdPXJbMl07aWYoKGlbY109YSlbMl09cyhlLHQsbikpcmV0dXJuITB9cmV0dXJuITF9fWZ1bmN0aW9uIHdlKGkpe3JldHVybiAxPGkubGVuZ3RoP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcj1pLmxlbmd0aDt3aGlsZShyLS0paWYoIWlbcl0oZSx0LG4pKXJldHVybiExO3JldHVybiEwfTppWzBdfWZ1bmN0aW9uIFRlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLHU9ZS5sZW5ndGgsbD1udWxsIT10O3M8dTtzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksbCYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gQ2UoZCxoLGcsdix5LGUpe3JldHVybiB2JiYhdltTXSYmKHY9Q2UodikpLHkmJiF5W1NdJiYoeT1DZSh5LGUpKSxsZShmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscz1bXSx1PVtdLGw9dC5sZW5ndGgsYz1lfHxmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXNlKGUsdFtyXSxuKTtyZXR1cm4gbn0oaHx8IioiLG4ubm9kZVR5cGU/W25dOm4sW10pLGY9IWR8fCFlJiZoP2M6VGUoYyxzLGQsbixyKSxwPWc/eXx8KGU/ZDpsfHx2KT9bXTp0OmY7aWYoZyYmZyhmLHAsbixyKSx2KXtpPVRlKHAsdSksdihpLFtdLG4sciksbz1pLmxlbmd0aDt3aGlsZShvLS0pKGE9aVtvXSkmJihwW3Vbb11dPSEoZlt1W29dXT1hKSl9aWYoZSl7aWYoeXx8ZCl7aWYoeSl7aT1bXSxvPXAubGVuZ3RoO3doaWxlKG8tLSkoYT1wW29dKSYmaS5wdXNoKGZbb109YSk7eShudWxsLHA9W10saSxyKX1vPXAubGVuZ3RoO3doaWxlKG8tLSkoYT1wW29dKSYmLTE8KGk9eT9QKGUsYSk6c1tvXSkmJihlW2ldPSEodFtpXT1hKSl9fWVsc2UgcD1UZShwPT09dD9wLnNwbGljZShsLHAubGVuZ3RoKTpwKSx5P3kobnVsbCx0LHAscik6SC5hcHBseSh0LHApfSl9ZnVuY3Rpb24gRWUoZSl7Zm9yKHZhciBpLHQsbixyPWUubGVuZ3RoLG89Yi5yZWxhdGl2ZVtlWzBdLnR5cGVdLGE9b3x8Yi5yZWxhdGl2ZVsiICJdLHM9bz8xOjAsdT1iZShmdW5jdGlvbihlKXtyZXR1cm4gZT09PWl9LGEsITApLGw9YmUoZnVuY3Rpb24oZSl7cmV0dXJuLTE8UChpLGUpfSxhLCEwKSxjPVtmdW5jdGlvbihlLHQsbil7dmFyIHI9IW8mJihufHx0IT09dyl8fCgoaT10KS5ub2RlVHlwZT91KGUsdCxuKTpsKGUsdCxuKSk7cmV0dXJuIGk9bnVsbCxyfV07czxyO3MrKylpZih0PWIucmVsYXRpdmVbZVtzXS50eXBlXSljPVtiZSh3ZShjKSx0KV07ZWxzZXtpZigodD1iLmZpbHRlcltlW3NdLnR5cGVdLmFwcGx5KG51bGwsZVtzXS5tYXRjaGVzKSlbU10pe2ZvcihuPSsrcztuPHI7bisrKWlmKGIucmVsYXRpdmVbZVtuXS50eXBlXSlicmVhaztyZXR1cm4gQ2UoMTxzJiZ3ZShjKSwxPHMmJnhlKGUuc2xpY2UoMCxzLTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09ZVtzLTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoJCwiJDEiKSx0LHM8biYmRWUoZS5zbGljZShzLG4pKSxuPHImJkVlKGU9ZS5zbGljZShuKSksbjxyJiZ4ZShlKSl9Yy5wdXNoKHQpfXJldHVybiB3ZShjKX1yZXR1cm4gbWUucHJvdG90eXBlPWIuZmlsdGVycz1iLnBzZXVkb3MsYi5zZXRGaWx0ZXJzPW5ldyBtZSxoPXNlLnRva2VuaXplPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzLHUsbD14W2UrIiAiXTtpZihsKXJldHVybiB0PzA6bC5zbGljZSgwKTthPWUscz1bXSx1PWIucHJlRmlsdGVyO3doaWxlKGEpe2ZvcihvIGluIG4mJiEocj1fLmV4ZWMoYSkpfHwociYmKGE9YS5zbGljZShyWzBdLmxlbmd0aCl8fGEpLHMucHVzaChpPVtdKSksbj0hMSwocj16LmV4ZWMoYSkpJiYobj1yLnNoaWZ0KCksaS5wdXNoKHt2YWx1ZTpuLHR5cGU6clswXS5yZXBsYWNlKCQsIiAiKX0pLGE9YS5zbGljZShuLmxlbmd0aCkpLGIuZmlsdGVyKSEocj1HW29dLmV4ZWMoYSkpfHx1W29dJiYhKHI9dVtvXShyKSl8fChuPXIuc2hpZnQoKSxpLnB1c2goe3ZhbHVlOm4sdHlwZTpvLG1hdGNoZXM6cn0pLGE9YS5zbGljZShuLmxlbmd0aCkpO2lmKCFuKWJyZWFrfXJldHVybiB0P2EubGVuZ3RoOmE/c2UuZXJyb3IoZSk6eChlLHMpLnNsaWNlKDApfSxmPXNlLmNvbXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbix2LHksbSx4LHIsaT1bXSxvPVtdLGE9QVtlKyIgIl07aWYoIWEpe3R8fCh0PWgoZSkpLG49dC5sZW5ndGg7d2hpbGUobi0tKShhPUVlKHRbbl0pKVtTXT9pLnB1c2goYSk6by5wdXNoKGEpOyhhPUEoZSwodj1vLG09MDwoeT1pKS5sZW5ndGgseD0wPHYubGVuZ3RoLHI9ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdT0wLGw9IjAiLGM9ZSYmW10sZj1bXSxwPXcsZD1lfHx4JiZiLmZpbmQuVEFHKCIqIixpKSxoPWsrPW51bGw9PXA/MTpNYXRoLnJhbmRvbSgpfHwuMSxnPWQubGVuZ3RoO2ZvcihpJiYodz10PT1DfHx0fHxpKTtsIT09ZyYmbnVsbCE9KG89ZFtsXSk7bCsrKXtpZih4JiZvKXthPTAsdHx8by5vd25lckRvY3VtZW50PT1DfHwoVChvKSxuPSFFKTt3aGlsZShzPXZbYSsrXSlpZihzKG8sdHx8QyxuKSl7ci5wdXNoKG8pO2JyZWFrfWkmJihrPWgpfW0mJigobz0hcyYmbykmJnUtLSxlJiZjLnB1c2gobykpfWlmKHUrPWwsbSYmbCE9PXUpe2E9MDt3aGlsZShzPXlbYSsrXSlzKGMsZix0LG4pO2lmKGUpe2lmKDA8dSl3aGlsZShsLS0pY1tsXXx8ZltsXXx8KGZbbF09cS5jYWxsKHIpKTtmPVRlKGYpfUguYXBwbHkocixmKSxpJiYhZSYmMDxmLmxlbmd0aCYmMTx1K3kubGVuZ3RoJiZzZS51bmlxdWVTb3J0KHIpfXJldHVybiBpJiYoaz1oLHc9cCksY30sbT9sZShyKTpyKSkpLnNlbGVjdG9yPWV9cmV0dXJuIGF9LGc9c2Uuc2VsZWN0PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD0iZnVuY3Rpb24iPT10eXBlb2YgZSYmZSxjPSFyJiZoKGU9bC5zZWxlY3Rvcnx8ZSk7aWYobj1ufHxbXSwxPT09Yy5sZW5ndGgpe2lmKDI8KG89Y1swXT1jWzBdLnNsaWNlKDApKS5sZW5ndGgmJiJJRCI9PT0oYT1vWzBdKS50eXBlJiY5PT09dC5ub2RlVHlwZSYmRSYmYi5yZWxhdGl2ZVtvWzFdLnR5cGVdKXtpZighKHQ9KGIuZmluZC5JRChhLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksdCl8fFtdKVswXSkpcmV0dXJuIG47bCYmKHQ9dC5wYXJlbnROb2RlKSxlPWUuc2xpY2Uoby5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9aT1HLm5lZWRzQ29udGV4dC50ZXN0KGUpPzA6by5sZW5ndGg7d2hpbGUoaS0tKXtpZihhPW9baV0sYi5yZWxhdGl2ZVtzPWEudHlwZV0pYnJlYWs7aWYoKHU9Yi5maW5kW3NdKSYmKHI9dShhLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksZWUudGVzdChvWzBdLnR5cGUpJiZ5ZSh0LnBhcmVudE5vZGUpfHx0KSkpe2lmKG8uc3BsaWNlKGksMSksIShlPXIubGVuZ3RoJiZ4ZShvKSkpcmV0dXJuIEguYXBwbHkobixyKSxuO2JyZWFrfX19cmV0dXJuKGx8fGYoZSxjKSkocix0LCFFLG4sIXR8fGVlLnRlc3QoZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpLG59LGQuc29ydFN0YWJsZT1TLnNwbGl0KCIiKS5zb3J0KGopLmpvaW4oIiIpPT09UyxkLmRldGVjdER1cGxpY2F0ZXM9ISFsLFQoKSxkLnNvcnREZXRhY2hlZD1jZShmdW5jdGlvbihlKXtyZXR1cm4gMSZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKEMuY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKSl9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLCIjIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKX0pfHxmZSgidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuKXJldHVybiBlLmdldEF0dHJpYnV0ZSh0LCJ0eXBlIj09PXQudG9Mb3dlckNhc2UoKT8xOjIpfSksZC5hdHRyaWJ1dGVzJiZjZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxpbnB1dC8+IixlLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxmZSgidmFsdWUiLGZ1bmN0aW9uKGUsdCxuKXtpZighbiYmImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4gZS5kZWZhdWx0VmFsdWV9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIil9KXx8ZmUoUixmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoIW4pcmV0dXJuITA9PT1lW3RdP3QudG9Mb3dlckNhc2UoKToocj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZyLnNwZWNpZmllZD9yLnZhbHVlOm51bGx9KSxzZX0oQyk7Uy5maW5kPWQsUy5leHByPWQuc2VsZWN0b3JzLFMuZXhwclsiOiJdPVMuZXhwci5wc2V1ZG9zLFMudW5pcXVlU29ydD1TLnVuaXF1ZT1kLnVuaXF1ZVNvcnQsUy50ZXh0PWQuZ2V0VGV4dCxTLmlzWE1MRG9jPWQuaXNYTUwsUy5jb250YWlucz1kLmNvbnRhaW5zLFMuZXNjYXBlU2VsZWN0b3I9ZC5lc2NhcGU7dmFyIGg9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPVtdLGk9dm9pZCAwIT09bjt3aGlsZSgoZT1lW3RdKSYmOSE9PWUubm9kZVR5cGUpaWYoMT09PWUubm9kZVR5cGUpe2lmKGkmJlMoZSkuaXMobikpYnJlYWs7ci5wdXNoKGUpfXJldHVybiByfSxUPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdO2U7ZT1lLm5leHRTaWJsaW5nKTE9PT1lLm5vZGVUeXBlJiZlIT09dCYmbi5wdXNoKGUpO3JldHVybiBufSxrPVMuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7ZnVuY3Rpb24gQShlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9dmFyIE49L148KFthLXpdW15cL1wwPjpceDIwXHRcclxuXGZdKilbXHgyMFx0XHJcblxmXSpcLz8+KD86PFwvXDE+fCkkL2k7ZnVuY3Rpb24gaihlLG4scil7cmV0dXJuIG0obik/Uy5ncmVwKGUsZnVuY3Rpb24oZSx0KXtyZXR1cm4hIW4uY2FsbChlLHQsZSkhPT1yfSk6bi5ub2RlVHlwZT9TLmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gZT09PW4hPT1yfSk6InN0cmluZyIhPXR5cGVvZiBuP1MuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybi0xPGkuY2FsbChuLGUpIT09cn0pOlMuZmlsdGVyKG4sZSxyKX1TLmZpbHRlcj1mdW5jdGlvbihlLHQsbil7dmFyIHI9dFswXTtyZXR1cm4gbiYmKGU9Ijpub3QoIitlKyIpIiksMT09PXQubGVuZ3RoJiYxPT09ci5ub2RlVHlwZT9TLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHIsZSk/W3JdOltdOlMuZmluZC5tYXRjaGVzKGUsUy5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfSkpfSxTLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcy5sZW5ndGgsaT10aGlzO2lmKCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gdGhpcy5wdXNoU3RhY2soUyhlKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodD0wO3Q8cjt0KyspaWYoUy5jb250YWlucyhpW3RdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihuPXRoaXMucHVzaFN0YWNrKFtdKSx0PTA7dDxyO3QrKylTLmZpbmQoZSxpW3RdLG4pO3JldHVybiAxPHI/Uy51bmlxdWVTb3J0KG4pOm59LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaih0aGlzLGV8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaih0aGlzLGV8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiEhaih0aGlzLCJzdHJpbmciPT10eXBlb2YgZSYmay50ZXN0KGUpP1MoZSk6ZXx8W10sITEpLmxlbmd0aH19KTt2YXIgRCxxPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKykpJC87KFMuZm4uaW5pdD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaTtpZighZSlyZXR1cm4gdGhpcztpZihuPW58fEQsInN0cmluZyI9PXR5cGVvZiBlKXtpZighKHI9IjwiPT09ZVswXSYmIj4iPT09ZVtlLmxlbmd0aC0xXSYmMzw9ZS5sZW5ndGg/W251bGwsZSxudWxsXTpxLmV4ZWMoZSkpfHwhclsxXSYmdClyZXR1cm4hdHx8dC5qcXVlcnk/KHR8fG4pLmZpbmQoZSk6dGhpcy5jb25zdHJ1Y3Rvcih0KS5maW5kKGUpO2lmKHJbMV0pe2lmKHQ9dCBpbnN0YW5jZW9mIFM/dFswXTp0LFMubWVyZ2UodGhpcyxTLnBhcnNlSFRNTChyWzFdLHQmJnQubm9kZVR5cGU/dC5vd25lckRvY3VtZW50fHx0OkUsITApKSxOLnRlc3QoclsxXSkmJlMuaXNQbGFpbk9iamVjdCh0KSlmb3IociBpbiB0KW0odGhpc1tyXSk/dGhpc1tyXSh0W3JdKTp0aGlzLmF0dHIocix0W3JdKTtyZXR1cm4gdGhpc31yZXR1cm4oaT1FLmdldEVsZW1lbnRCeUlkKHJbMl0pKSYmKHRoaXNbMF09aSx0aGlzLmxlbmd0aD0xKSx0aGlzfXJldHVybiBlLm5vZGVUeXBlPyh0aGlzWzBdPWUsdGhpcy5sZW5ndGg9MSx0aGlzKTptKGUpP3ZvaWQgMCE9PW4ucmVhZHk/bi5yZWFkeShlKTplKFMpOlMubWFrZUFycmF5KGUsdGhpcyl9KS5wcm90b3R5cGU9Uy5mbixEPVMoRSk7dmFyIEw9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sSD17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtmdW5jdGlvbiBPKGUsdCl7d2hpbGUoKGU9ZVt0XSkmJjEhPT1lLm5vZGVUeXBlKTtyZXR1cm4gZX1TLmZuLmV4dGVuZCh7aGFzOmZ1bmN0aW9uKGUpe3ZhciB0PVMoZSx0aGlzKSxuPXQubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8bjtlKyspaWYoUy5jb250YWlucyh0aGlzLHRbZV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10aGlzLmxlbmd0aCxvPVtdLGE9InN0cmluZyIhPXR5cGVvZiBlJiZTKGUpO2lmKCFrLnRlc3QoZSkpZm9yKDtyPGk7cisrKWZvcihuPXRoaXNbcl07biYmbiE9PXQ7bj1uLnBhcmVudE5vZGUpaWYobi5ub2RlVHlwZTwxMSYmKGE/LTE8YS5pbmRleChuKToxPT09bi5ub2RlVHlwZSYmUy5maW5kLm1hdGNoZXNTZWxlY3RvcihuLGUpKSl7by5wdXNoKG4pO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjaygxPG8ubGVuZ3RoP1MudW5pcXVlU29ydChvKTpvKX0saW5kZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/InN0cmluZyI9PXR5cGVvZiBlP2kuY2FsbChTKGUpLHRoaXNbMF0pOmkuY2FsbCh0aGlzLGUuanF1ZXJ5P2VbMF06ZSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soUy51bmlxdWVTb3J0KFMubWVyZ2UodGhpcy5nZXQoKSxTKGUsdCkpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWU/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoZSkpfX0pLFMuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmMTEhPT10Lm5vZGVUeXBlP3Q6bnVsbH0scGFyZW50czpmdW5jdGlvbihlKXtyZXR1cm4gaChlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGgoZSwicGFyZW50Tm9kZSIsbil9LG5leHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIE8oZSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihlKXtyZXR1cm4gTyhlLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihlKXtyZXR1cm4gaChlLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBoKGUsIm5leHRTaWJsaW5nIixuKX0scHJldlVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gaChlLCJwcmV2aW91c1NpYmxpbmciLG4pfSxzaWJsaW5nczpmdW5jdGlvbihlKXtyZXR1cm4gVCgoZS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlKX0sY2hpbGRyZW46ZnVuY3Rpb24oZSl7cmV0dXJuIFQoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUuY29udGVudERvY3VtZW50JiZyKGUuY29udGVudERvY3VtZW50KT9lLmNvbnRlbnREb2N1bWVudDooQShlLCJ0ZW1wbGF0ZSIpJiYoZT1lLmNvbnRlbnR8fGUpLFMubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9fSxmdW5jdGlvbihyLGkpe1MuZm5bcl09ZnVuY3Rpb24oZSx0KXt2YXIgbj1TLm1hcCh0aGlzLGksZSk7cmV0dXJuIlVudGlsIiE9PXIuc2xpY2UoLTUpJiYodD1lKSx0JiYic3RyaW5nIj09dHlwZW9mIHQmJihuPVMuZmlsdGVyKHQsbikpLDE8dGhpcy5sZW5ndGgmJihIW3JdfHxTLnVuaXF1ZVNvcnQobiksTC50ZXN0KHIpJiZuLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2sobil9fSk7dmFyIFA9L1teXHgyMFx0XHJcblxmXSsvZztmdW5jdGlvbiBSKGUpe3JldHVybiBlfWZ1bmN0aW9uIE0oZSl7dGhyb3cgZX1mdW5jdGlvbiBJKGUsdCxuLHIpe3ZhciBpO3RyeXtlJiZtKGk9ZS5wcm9taXNlKT9pLmNhbGwoZSkuZG9uZSh0KS5mYWlsKG4pOmUmJm0oaT1lLnRoZW4pP2kuY2FsbChlLHQsbik6dC5hcHBseSh2b2lkIDAsW2VdLnNsaWNlKHIpKX1jYXRjaChlKXtuLmFwcGx5KHZvaWQgMCxbZV0pfX1TLkNhbGxiYWNrcz1mdW5jdGlvbihyKXt2YXIgZSxuO3I9InN0cmluZyI9PXR5cGVvZiByPyhlPXIsbj17fSxTLmVhY2goZS5tYXRjaChQKXx8W10sZnVuY3Rpb24oZSx0KXtuW3RdPSEwfSksbik6Uy5leHRlbmQoe30scik7dmFyIGksdCxvLGEscz1bXSx1PVtdLGw9LTEsYz1mdW5jdGlvbigpe2ZvcihhPWF8fHIub25jZSxvPWk9ITA7dS5sZW5ndGg7bD0tMSl7dD11LnNoaWZ0KCk7d2hpbGUoKytsPHMubGVuZ3RoKSExPT09c1tsXS5hcHBseSh0WzBdLHRbMV0pJiZyLnN0b3BPbkZhbHNlJiYobD1zLmxlbmd0aCx0PSExKX1yLm1lbW9yeXx8KHQ9ITEpLGk9ITEsYSYmKHM9dD9bXToiIil9LGY9e2FkZDpmdW5jdGlvbigpe3JldHVybiBzJiYodCYmIWkmJihsPXMubGVuZ3RoLTEsdS5wdXNoKHQpKSxmdW5jdGlvbiBuKGUpe1MuZWFjaChlLGZ1bmN0aW9uKGUsdCl7bSh0KT9yLnVuaXF1ZSYmZi5oYXModCl8fHMucHVzaCh0KTp0JiZ0Lmxlbmd0aCYmInN0cmluZyIhPT13KHQpJiZuKHQpfSl9KGFyZ3VtZW50cyksdCYmIWkmJmMoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIFMuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oZSx0KXt2YXIgbjt3aGlsZSgtMTwobj1TLmluQXJyYXkodCxzLG4pKSlzLnNwbGljZShuLDEpLG48PWwmJmwtLX0pLHRoaXN9LGhhczpmdW5jdGlvbihlKXtyZXR1cm4gZT8tMTxTLmluQXJyYXkoZSxzKTowPHMubGVuZ3RofSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBzJiYocz1bXSksdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBhPXU9W10scz10PSIiLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIXN9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYT11PVtdLHR8fGl8fChzPXQ9IiIpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiEhYX0sZmlyZVdpdGg6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXx8KHQ9W2UsKHQ9dHx8W10pLnNsaWNlP3Quc2xpY2UoKTp0XSx1LnB1c2godCksaXx8YygpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGYuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFvfX07cmV0dXJuIGZ9LFMuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgbz1bWyJub3RpZnkiLCJwcm9ncmVzcyIsUy5DYWxsYmFja3MoIm1lbW9yeSIpLFMuQ2FsbGJhY2tzKCJtZW1vcnkiKSwyXSxbInJlc29sdmUiLCJkb25lIixTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwwLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsUy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksUy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMSwicmVqZWN0ZWQiXV0saT0icGVuZGluZyIsYT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIHMuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSwiY2F0Y2giOmZ1bmN0aW9uKGUpe3JldHVybiBhLnRoZW4obnVsbCxlKX0scGlwZTpmdW5jdGlvbigpe3ZhciBpPWFyZ3VtZW50cztyZXR1cm4gUy5EZWZlcnJlZChmdW5jdGlvbihyKXtTLmVhY2gobyxmdW5jdGlvbihlLHQpe3ZhciBuPW0oaVt0WzRdXSkmJmlbdFs0XV07c1t0WzFdXShmdW5jdGlvbigpe3ZhciBlPW4mJm4uYXBwbHkodGhpcyxhcmd1bWVudHMpO2UmJm0oZS5wcm9taXNlKT9lLnByb21pc2UoKS5wcm9ncmVzcyhyLm5vdGlmeSkuZG9uZShyLnJlc29sdmUpLmZhaWwoci5yZWplY3QpOnJbdFswXSsiV2l0aCJdKHRoaXMsbj9bZV06YXJndW1lbnRzKX0pfSksaT1udWxsfSkucHJvbWlzZSgpfSx0aGVuOmZ1bmN0aW9uKHQsbixyKXt2YXIgdT0wO2Z1bmN0aW9uIGwoaSxvLGEscyl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49dGhpcyxyPWFyZ3VtZW50cyxlPWZ1bmN0aW9uKCl7dmFyIGUsdDtpZighKGk8dSkpe2lmKChlPWEuYXBwbHkobixyKSk9PT1vLnByb21pc2UoKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGVuYWJsZSBzZWxmLXJlc29sdXRpb24iKTt0PWUmJigib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlKSYmZS50aGVuLG0odCk/cz90LmNhbGwoZSxsKHUsbyxSLHMpLGwodSxvLE0scykpOih1KyssdC5jYWxsKGUsbCh1LG8sUixzKSxsKHUsbyxNLHMpLGwodSxvLFIsby5ub3RpZnlXaXRoKSkpOihhIT09UiYmKG49dm9pZCAwLHI9W2VdKSwoc3x8by5yZXNvbHZlV2l0aCkobixyKSl9fSx0PXM/ZTpmdW5jdGlvbigpe3RyeXtlKCl9Y2F0Y2goZSl7Uy5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZTLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soZSx0LnN0YWNrVHJhY2UpLHU8PWkrMSYmKGEhPT1NJiYobj12b2lkIDAscj1bZV0pLG8ucmVqZWN0V2l0aChuLHIpKX19O2k/dCgpOihTLkRlZmVycmVkLmdldFN0YWNrSG9vayYmKHQuc3RhY2tUcmFjZT1TLkRlZmVycmVkLmdldFN0YWNrSG9vaygpKSxDLnNldFRpbWVvdXQodCkpfX1yZXR1cm4gUy5EZWZlcnJlZChmdW5jdGlvbihlKXtvWzBdWzNdLmFkZChsKDAsZSxtKHIpP3I6UixlLm5vdGlmeVdpdGgpKSxvWzFdWzNdLmFkZChsKDAsZSxtKHQpP3Q6UikpLG9bMl1bM10uYWRkKGwoMCxlLG0obik/bjpNKSl9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWU/Uy5leHRlbmQoZSxhKTphfX0scz17fTtyZXR1cm4gUy5lYWNoKG8sZnVuY3Rpb24oZSx0KXt2YXIgbj10WzJdLHI9dFs1XTthW3RbMV1dPW4uYWRkLHImJm4uYWRkKGZ1bmN0aW9uKCl7aT1yfSxvWzMtZV1bMl0uZGlzYWJsZSxvWzMtZV1bM10uZGlzYWJsZSxvWzBdWzJdLmxvY2ssb1swXVszXS5sb2NrKSxuLmFkZCh0WzNdLmZpcmUpLHNbdFswXV09ZnVuY3Rpb24oKXtyZXR1cm4gc1t0WzBdKyJXaXRoIl0odGhpcz09PXM/dm9pZCAwOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxzW3RbMF0rIldpdGgiXT1uLmZpcmVXaXRofSksYS5wcm9taXNlKHMpLGUmJmUuY2FsbChzLHMpLHN9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aCx0PW4scj1BcnJheSh0KSxpPXMuY2FsbChhcmd1bWVudHMpLG89Uy5EZWZlcnJlZCgpLGE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JbdF09dGhpcyxpW3RdPTE8YXJndW1lbnRzLmxlbmd0aD9zLmNhbGwoYXJndW1lbnRzKTplLC0tbnx8by5yZXNvbHZlV2l0aChyLGkpfX07aWYobjw9MSYmKEkoZSxvLmRvbmUoYSh0KSkucmVzb2x2ZSxvLnJlamVjdCwhbiksInBlbmRpbmciPT09by5zdGF0ZSgpfHxtKGlbdF0mJmlbdF0udGhlbikpKXJldHVybiBvLnRoZW4oKTt3aGlsZSh0LS0pSShpW3RdLGEodCksby5yZWplY3QpO3JldHVybiBvLnByb21pc2UoKX19KTt2YXIgVz0vXihFdmFsfEludGVybmFsfFJhbmdlfFJlZmVyZW5jZXxTeW50YXh8VHlwZXxVUkkpRXJyb3IkLztTLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2s9ZnVuY3Rpb24oZSx0KXtDLmNvbnNvbGUmJkMuY29uc29sZS53YXJuJiZlJiZXLnRlc3QoZS5uYW1lKSYmQy5jb25zb2xlLndhcm4oImpRdWVyeS5EZWZlcnJlZCBleGNlcHRpb246ICIrZS5tZXNzYWdlLGUuc3RhY2ssdCl9LFMucmVhZHlFeGNlcHRpb249ZnVuY3Rpb24oZSl7Qy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfTt2YXIgRj1TLkRlZmVycmVkKCk7ZnVuY3Rpb24gQigpe0UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQiksQy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixCKSxTLnJlYWR5KCl9Uy5mbi5yZWFkeT1mdW5jdGlvbihlKXtyZXR1cm4gRi50aGVuKGUpWyJjYXRjaCJdKGZ1bmN0aW9uKGUpe1MucmVhZHlFeGNlcHRpb24oZSl9KSx0aGlzfSxTLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxyZWFkeTpmdW5jdGlvbihlKXsoITA9PT1lPy0tUy5yZWFkeVdhaXQ6Uy5pc1JlYWR5KXx8KFMuaXNSZWFkeT0hMCkhPT1lJiYwPC0tUy5yZWFkeVdhaXR8fEYucmVzb2x2ZVdpdGgoRSxbU10pfX0pLFMucmVhZHkudGhlbj1GLnRoZW4sImNvbXBsZXRlIj09PUUucmVhZHlTdGF0ZXx8ImxvYWRpbmciIT09RS5yZWFkeVN0YXRlJiYhRS5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGw/Qy5zZXRUaW1lb3V0KFMucmVhZHkpOihFLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEIpLEMuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsQikpO3ZhciAkPWZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEpe3ZhciBzPTAsdT1lLmxlbmd0aCxsPW51bGw9PW47aWYoIm9iamVjdCI9PT13KG4pKWZvcihzIGluIGk9ITAsbikkKGUsdCxzLG5bc10sITAsbyxhKTtlbHNlIGlmKHZvaWQgMCE9PXImJihpPSEwLG0ocil8fChhPSEwKSxsJiYoYT8odC5jYWxsKGUsciksdD1udWxsKToobD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoUyhlKSxuKX0pKSx0KSlmb3IoO3M8dTtzKyspdChlW3NdLG4sYT9yOnIuY2FsbChlW3NdLHMsdChlW3NdLG4pKSk7cmV0dXJuIGk/ZTpsP3QuY2FsbChlKTp1P3QoZVswXSxuKTpvfSxfPS9eLW1zLS8sej0vLShbYS16XSkvZztmdW5jdGlvbiBVKGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2UoKX1mdW5jdGlvbiBYKGUpe3JldHVybiBlLnJlcGxhY2UoXywibXMtIikucmVwbGFjZSh6LFUpfXZhciBWPWZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZXx8OT09PWUubm9kZVR5cGV8fCErZS5ub2RlVHlwZX07ZnVuY3Rpb24gRygpe3RoaXMuZXhwYW5kbz1TLmV4cGFuZG8rRy51aWQrK31HLnVpZD0xLEcucHJvdG90eXBlPXtjYWNoZTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHR8fCh0PXt9LFYoZSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT10Ok9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHRoaXMuZXhwYW5kbyx7dmFsdWU6dCxjb25maWd1cmFibGU6ITB9KSkpLHR9LHNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaT10aGlzLmNhY2hlKGUpO2lmKCJzdHJpbmciPT10eXBlb2YgdClpW1godCldPW47ZWxzZSBmb3IociBpbiB0KWlbWChyKV09dFtyXTtyZXR1cm4gaX0sZ2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5jYWNoZShlKTplW3RoaXMuZXhwYW5kb10mJmVbdGhpcy5leHBhbmRvXVtYKHQpXX0sYWNjZXNzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09dHx8dCYmInN0cmluZyI9PXR5cGVvZiB0JiZ2b2lkIDA9PT1uP3RoaXMuZ2V0KGUsdCk6KHRoaXMuc2V0KGUsdCxuKSx2b2lkIDAhPT1uP246dCl9LHJlbW92ZTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9ZVt0aGlzLmV4cGFuZG9dO2lmKHZvaWQgMCE9PXIpe2lmKHZvaWQgMCE9PXQpe249KHQ9QXJyYXkuaXNBcnJheSh0KT90Lm1hcChYKToodD1YKHQpKWluIHI/W3RdOnQubWF0Y2goUCl8fFtdKS5sZW5ndGg7d2hpbGUobi0tKWRlbGV0ZSByW3Rbbl1dfSh2b2lkIDA9PT10fHxTLmlzRW1wdHlPYmplY3QocikpJiYoZS5ub2RlVHlwZT9lW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBlW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHZvaWQgMCE9PXQmJiFTLmlzRW1wdHlPYmplY3QodCl9fTt2YXIgWT1uZXcgRyxRPW5ldyBHLEo9L14oPzpce1tcd1xXXSpcfXxcW1tcd1xXXSpcXSkkLyxLPS9bQS1aXS9nO2Z1bmN0aW9uIFooZSx0LG4pe3ZhciByLGk7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpaWYocj0iZGF0YS0iK3QucmVwbGFjZShLLCItJCYiKS50b0xvd2VyQ2FzZSgpLCJzdHJpbmciPT10eXBlb2Yobj1lLmdldEF0dHJpYnV0ZShyKSkpe3RyeXtuPSJ0cnVlIj09PShpPW4pfHwiZmFsc2UiIT09aSYmKCJudWxsIj09PWk/bnVsbDppPT09K2krIiI/K2k6Si50ZXN0KGkpP0pTT04ucGFyc2UoaSk6aSl9Y2F0Y2goZSl7fVEuc2V0KGUsdCxuKX1lbHNlIG49dm9pZCAwO3JldHVybiBufVMuZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiBRLmhhc0RhdGEoZSl8fFkuaGFzRGF0YShlKX0sZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIFEuYWNjZXNzKGUsdCxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe1EucmVtb3ZlKGUsdCl9LF9kYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gWS5hY2Nlc3MoZSx0LG4pfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe1kucmVtb3ZlKGUsdCl9fSksUy5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24obixlKXt2YXIgdCxyLGksbz10aGlzWzBdLGE9byYmby5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PW4pe2lmKHRoaXMubGVuZ3RoJiYoaT1RLmdldChvKSwxPT09by5ub2RlVHlwZSYmIVkuZ2V0KG8sImhhc0RhdGFBdHRycyIpKSl7dD1hLmxlbmd0aDt3aGlsZSh0LS0pYVt0XSYmMD09PShyPWFbdF0ubmFtZSkuaW5kZXhPZigiZGF0YS0iKSYmKHI9WChyLnNsaWNlKDUpKSxaKG8scixpW3JdKSk7WS5zZXQobywiaGFzRGF0YUF0dHJzIiwhMCl9cmV0dXJuIGl9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBuP3RoaXMuZWFjaChmdW5jdGlvbigpe1Euc2V0KHRoaXMsbil9KTokKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ7aWYobyYmdm9pZCAwPT09ZSlyZXR1cm4gdm9pZCAwIT09KHQ9US5nZXQobyxuKSk/dDp2b2lkIDAhPT0odD1aKG8sbikpP3Q6dm9pZCAwO3RoaXMuZWFjaChmdW5jdGlvbigpe1Euc2V0KHRoaXMsbixlKX0pfSxudWxsLGUsMTxhcmd1bWVudHMubGVuZ3RoLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtRLnJlbW92ZSh0aGlzLGUpfSl9fSksUy5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZihlKXJldHVybiB0PSh0fHwiZngiKSsicXVldWUiLHI9WS5nZXQoZSx0KSxuJiYoIXJ8fEFycmF5LmlzQXJyYXkobik/cj1ZLmFjY2VzcyhlLHQsUy5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFyIG49Uy5xdWV1ZShlLHQpLHI9bi5sZW5ndGgsaT1uLnNoaWZ0KCksbz1TLl9xdWV1ZUhvb2tzKGUsdCk7ImlucHJvZ3Jlc3MiPT09aSYmKGk9bi5zaGlmdCgpLHItLSksaSYmKCJmeCI9PT10JiZuLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgby5zdG9wLGkuY2FsbChlLGZ1bmN0aW9uKCl7Uy5kZXF1ZXVlKGUsdCl9LG8pKSwhciYmbyYmby5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dCsicXVldWVIb29rcyI7cmV0dXJuIFkuZ2V0KGUsbil8fFkuYWNjZXNzKGUsbix7ZW1wdHk6Uy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7WS5yZW1vdmUoZSxbdCsicXVldWUiLG5dKX0pfSl9fSksUy5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKHQsbil7dmFyIGU9MjtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iZngiLGUtLSksYXJndW1lbnRzLmxlbmd0aDxlP1MucXVldWUodGhpc1swXSx0KTp2b2lkIDA9PT1uP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9Uy5xdWV1ZSh0aGlzLHQsbik7Uy5fcXVldWVIb29rcyh0aGlzLHQpLCJmeCI9PT10JiYiaW5wcm9ncmVzcyIhPT1lWzBdJiZTLmRlcXVldWUodGhpcyx0KX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLmRlcXVldWUodGhpcyxlKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnF1ZXVlKGV8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0xLGk9Uy5EZWZlcnJlZCgpLG89dGhpcyxhPXRoaXMubGVuZ3RoLHM9ZnVuY3Rpb24oKXstLXJ8fGkucmVzb2x2ZVdpdGgobyxbb10pfTsic3RyaW5nIiE9dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLGU9ZXx8ImZ4Ijt3aGlsZShhLS0pKG49WS5nZXQob1thXSxlKyJxdWV1ZUhvb2tzIikpJiZuLmVtcHR5JiYocisrLG4uZW1wdHkuYWRkKHMpKTtyZXR1cm4gcygpLGkucHJvbWlzZSh0KX19KTt2YXIgZWU9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsdGU9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK2VlKyIpKFthLXolXSopJCIsImkiKSxuZT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLHJlPUUuZG9jdW1lbnRFbGVtZW50LGllPWZ1bmN0aW9uKGUpe3JldHVybiBTLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKX0sb2U9e2NvbXBvc2VkOiEwfTtyZS5nZXRSb290Tm9kZSYmKGllPWZ1bmN0aW9uKGUpe3JldHVybiBTLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKXx8ZS5nZXRSb290Tm9kZShvZSk9PT1lLm93bmVyRG9jdW1lbnR9KTt2YXIgYWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ibm9uZSI9PT0oZT10fHxlKS5zdHlsZS5kaXNwbGF5fHwiIj09PWUuc3R5bGUuZGlzcGxheSYmaWUoZSkmJiJub25lIj09PVMuY3NzKGUsImRpc3BsYXkiKX07ZnVuY3Rpb24gc2UoZSx0LG4scil7dmFyIGksbyxhPTIwLHM9cj9mdW5jdGlvbigpe3JldHVybiByLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiBTLmNzcyhlLHQsIiIpfSx1PXMoKSxsPW4mJm5bM118fChTLmNzc051bWJlclt0XT8iIjoicHgiKSxjPWUubm9kZVR5cGUmJihTLmNzc051bWJlclt0XXx8InB4IiE9PWwmJit1KSYmdGUuZXhlYyhTLmNzcyhlLHQpKTtpZihjJiZjWzNdIT09bCl7dS89MixsPWx8fGNbM10sYz0rdXx8MTt3aGlsZShhLS0pUy5zdHlsZShlLHQsYytsKSwoMS1vKSooMS0obz1zKCkvdXx8LjUpKTw9MCYmKGE9MCksYy89bztjKj0yLFMuc3R5bGUoZSx0LGMrbCksbj1ufHxbXX1yZXR1cm4gbiYmKGM9K2N8fCt1fHwwLGk9blsxXT9jKyhuWzFdKzEpKm5bMl06K25bMl0sciYmKHIudW5pdD1sLHIuc3RhcnQ9YyxyLmVuZD1pKSksaX12YXIgdWU9e307ZnVuY3Rpb24gbGUoZSx0KXtmb3IodmFyIG4scixpLG8sYSxzLHUsbD1bXSxjPTAsZj1lLmxlbmd0aDtjPGY7YysrKShyPWVbY10pLnN0eWxlJiYobj1yLnN0eWxlLmRpc3BsYXksdD8oIm5vbmUiPT09biYmKGxbY109WS5nZXQociwiZGlzcGxheSIpfHxudWxsLGxbY118fChyLnN0eWxlLmRpc3BsYXk9IiIpKSwiIj09PXIuc3R5bGUuZGlzcGxheSYmYWUocikmJihsW2NdPSh1PWE9bz12b2lkIDAsYT0oaT1yKS5vd25lckRvY3VtZW50LHM9aS5ub2RlTmFtZSwodT11ZVtzXSl8fChvPWEuYm9keS5hcHBlbmRDaGlsZChhLmNyZWF0ZUVsZW1lbnQocykpLHU9Uy5jc3MobywiZGlzcGxheSIpLG8ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKSwibm9uZSI9PT11JiYodT0iYmxvY2siKSx1ZVtzXT11KSkpKToibm9uZSIhPT1uJiYobFtjXT0ibm9uZSIsWS5zZXQociwiZGlzcGxheSIsbikpKTtmb3IoYz0wO2M8ZjtjKyspbnVsbCE9bFtjXSYmKGVbY10uc3R5bGUuZGlzcGxheT1sW2NdKTtyZXR1cm4gZX1TLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGUpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGU/ZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXthZSh0aGlzKT9TKHRoaXMpLnNob3coKTpTKHRoaXMpLmhpZGUoKX0pfX0pO3ZhciBjZSxmZSxwZT0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSxkZT0vPChbYS16XVteXC9cMD5ceDIwXHRcclxuXGZdKikvaSxoZT0vXiR8Xm1vZHVsZSR8XC8oPzpqYXZhfGVjbWEpc2NyaXB0L2k7Y2U9RS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkuYXBwZW5kQ2hpbGQoRS5jcmVhdGVFbGVtZW50KCJkaXYiKSksKGZlPUUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxmZS5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIiksZmUuc2V0QXR0cmlidXRlKCJuYW1lIiwidCIpLGNlLmFwcGVuZENoaWxkKGZlKSx5LmNoZWNrQ2xvbmU9Y2UuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGNlLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIseS5ub0Nsb25lQ2hlY2tlZD0hIWNlLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZSxjZS5pbm5lckhUTUw9IjxvcHRpb24+PC9vcHRpb24+Iix5Lm9wdGlvbj0hIWNlLmxhc3RDaGlsZDt2YXIgZ2U9e3RoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTtmdW5jdGlvbiB2ZShlLHQpe3ZhciBuO3JldHVybiBuPSJ1bmRlZmluZWQiIT10eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKHR8fCIqIik6InVuZGVmaW5lZCIhPXR5cGVvZiBlLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKHR8fCIqIik6W10sdm9pZCAwPT09dHx8dCYmQShlLHQpP1MubWVyZ2UoW2VdLG4pOm59ZnVuY3Rpb24geWUoZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspWS5zZXQoZVtuXSwiZ2xvYmFsRXZhbCIsIXR8fFkuZ2V0KHRbbl0sImdsb2JhbEV2YWwiKSl9Z2UudGJvZHk9Z2UudGZvb3Q9Z2UuY29sZ3JvdXA9Z2UuY2FwdGlvbj1nZS50aGVhZCxnZS50aD1nZS50ZCx5Lm9wdGlvbnx8KGdlLm9wdGdyb3VwPWdlLm9wdGlvbj1bMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdKTt2YXIgbWU9Lzx8JiM/XHcrOy87ZnVuY3Rpb24geGUoZSx0LG4scixpKXtmb3IodmFyIG8sYSxzLHUsbCxjLGY9dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkscD1bXSxkPTAsaD1lLmxlbmd0aDtkPGg7ZCsrKWlmKChvPWVbZF0pfHwwPT09bylpZigib2JqZWN0Ij09PXcobykpUy5tZXJnZShwLG8ubm9kZVR5cGU/W29dOm8pO2Vsc2UgaWYobWUudGVzdChvKSl7YT1hfHxmLmFwcGVuZENoaWxkKHQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHM9KGRlLmV4ZWMobyl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksdT1nZVtzXXx8Z2UuX2RlZmF1bHQsYS5pbm5lckhUTUw9dVsxXStTLmh0bWxQcmVmaWx0ZXIobykrdVsyXSxjPXVbMF07d2hpbGUoYy0tKWE9YS5sYXN0Q2hpbGQ7Uy5tZXJnZShwLGEuY2hpbGROb2RlcyksKGE9Zi5maXJzdENoaWxkKS50ZXh0Q29udGVudD0iIn1lbHNlIHAucHVzaCh0LmNyZWF0ZVRleHROb2RlKG8pKTtmLnRleHRDb250ZW50PSIiLGQ9MDt3aGlsZShvPXBbZCsrXSlpZihyJiYtMTxTLmluQXJyYXkobyxyKSlpJiZpLnB1c2gobyk7ZWxzZSBpZihsPWllKG8pLGE9dmUoZi5hcHBlbmRDaGlsZChvKSwic2NyaXB0IiksbCYmeWUoYSksbil7Yz0wO3doaWxlKG89YVtjKytdKWhlLnRlc3Qoby50eXBlfHwiIikmJm4ucHVzaChvKX1yZXR1cm4gZn12YXIgYmU9L14oW14uXSopKD86XC4oLispfCkvO2Z1bmN0aW9uIHdlKCl7cmV0dXJuITB9ZnVuY3Rpb24gVGUoKXtyZXR1cm4hMX1mdW5jdGlvbiBDZShlLHQpe3JldHVybiBlPT09ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIEUuYWN0aXZlRWxlbWVudH1jYXRjaChlKXt9fSgpPT0oImZvY3VzIj09PXQpfWZ1bmN0aW9uIEVlKGUsdCxuLHIsaSxvKXt2YXIgYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7Zm9yKHMgaW4ic3RyaW5nIiE9dHlwZW9mIG4mJihyPXJ8fG4sbj12b2lkIDApLHQpRWUoZSxzLG4scix0W3NdLG8pO3JldHVybiBlfWlmKG51bGw9PXImJm51bGw9PWk/KGk9bixyPW49dm9pZCAwKTpudWxsPT1pJiYoInN0cmluZyI9PXR5cGVvZiBuPyhpPXIscj12b2lkIDApOihpPXIscj1uLG49dm9pZCAwKSksITE9PT1pKWk9VGU7ZWxzZSBpZighaSlyZXR1cm4gZTtyZXR1cm4gMT09PW8mJihhPWksKGk9ZnVuY3Rpb24oZSl7cmV0dXJuIFMoKS5vZmYoZSksYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KS5ndWlkPWEuZ3VpZHx8KGEuZ3VpZD1TLmd1aWQrKykpLGUuZWFjaChmdW5jdGlvbigpe1MuZXZlbnQuYWRkKHRoaXMsdCxpLHIsbil9KX1mdW5jdGlvbiBTZShlLGksbyl7bz8oWS5zZXQoZSxpLCExKSxTLmV2ZW50LmFkZChlLGkse25hbWVzcGFjZTohMSxoYW5kbGVyOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj1ZLmdldCh0aGlzLGkpO2lmKDEmZS5pc1RyaWdnZXImJnRoaXNbaV0pe2lmKHIubGVuZ3RoKShTLmV2ZW50LnNwZWNpYWxbaV18fHt9KS5kZWxlZ2F0ZVR5cGUmJmUuc3RvcFByb3BhZ2F0aW9uKCk7ZWxzZSBpZihyPXMuY2FsbChhcmd1bWVudHMpLFkuc2V0KHRoaXMsaSxyKSx0PW8odGhpcyxpKSx0aGlzW2ldKCksciE9PShuPVkuZ2V0KHRoaXMsaSkpfHx0P1kuc2V0KHRoaXMsaSwhMSk6bj17fSxyIT09bilyZXR1cm4gZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxlLnByZXZlbnREZWZhdWx0KCksbiYmbi52YWx1ZX1lbHNlIHIubGVuZ3RoJiYoWS5zZXQodGhpcyxpLHt2YWx1ZTpTLmV2ZW50LnRyaWdnZXIoUy5leHRlbmQoclswXSxTLkV2ZW50LnByb3RvdHlwZSksci5zbGljZSgxKSx0aGlzKX0pLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX0pKTp2b2lkIDA9PT1ZLmdldChlLGkpJiZTLmV2ZW50LmFkZChlLGksd2UpfVMuZXZlbnQ9e2dsb2JhbDp7fSxhZGQ6ZnVuY3Rpb24odCxlLG4scixpKXt2YXIgbyxhLHMsdSxsLGMsZixwLGQsaCxnLHY9WS5nZXQodCk7aWYoVih0KSl7bi5oYW5kbGVyJiYobj0obz1uKS5oYW5kbGVyLGk9by5zZWxlY3RvciksaSYmUy5maW5kLm1hdGNoZXNTZWxlY3RvcihyZSxpKSxuLmd1aWR8fChuLmd1aWQ9Uy5ndWlkKyspLCh1PXYuZXZlbnRzKXx8KHU9di5ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSksKGE9di5oYW5kbGUpfHwoYT12LmhhbmRsZT1mdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFMmJlMuZXZlbnQudHJpZ2dlcmVkIT09ZS50eXBlP1MuZXZlbnQuZGlzcGF0Y2guYXBwbHkodCxhcmd1bWVudHMpOnZvaWQgMH0pLGw9KGU9KGV8fCIiKS5tYXRjaChQKXx8WyIiXSkubGVuZ3RoO3doaWxlKGwtLSlkPWc9KHM9YmUuZXhlYyhlW2xdKXx8W10pWzFdLGg9KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxkJiYoZj1TLmV2ZW50LnNwZWNpYWxbZF18fHt9LGQ9KGk/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGQsZj1TLmV2ZW50LnNwZWNpYWxbZF18fHt9LGM9Uy5leHRlbmQoe3R5cGU6ZCxvcmlnVHlwZTpnLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6aSxuZWVkc0NvbnRleHQ6aSYmUy5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGkpLG5hbWVzcGFjZTpoLmpvaW4oIi4iKX0sbyksKHA9dVtkXSl8fCgocD11W2RdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZi5zZXR1cCYmITEhPT1mLnNldHVwLmNhbGwodCxyLGgsYSl8fHQuYWRkRXZlbnRMaXN0ZW5lciYmdC5hZGRFdmVudExpc3RlbmVyKGQsYSkpLGYuYWRkJiYoZi5hZGQuY2FsbCh0LGMpLGMuaGFuZGxlci5ndWlkfHwoYy5oYW5kbGVyLmd1aWQ9bi5ndWlkKSksaT9wLnNwbGljZShwLmRlbGVnYXRlQ291bnQrKywwLGMpOnAucHVzaChjKSxTLmV2ZW50Lmdsb2JhbFtkXT0hMCl9fSxyZW1vdmU6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdSxsLGMsZixwLGQsaCxnLHY9WS5oYXNEYXRhKGUpJiZZLmdldChlKTtpZih2JiYodT12LmV2ZW50cykpe2w9KHQ9KHR8fCIiKS5tYXRjaChQKXx8WyIiXSkubGVuZ3RoO3doaWxlKGwtLSlpZihkPWc9KHM9YmUuZXhlYyh0W2xdKXx8W10pWzFdLGg9KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxkKXtmPVMuZXZlbnQuc3BlY2lhbFtkXXx8e30scD11W2Q9KHI/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGRdfHxbXSxzPXNbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK2guam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksYT1vPXAubGVuZ3RoO3doaWxlKG8tLSljPXBbb10sIWkmJmchPT1jLm9yaWdUeXBlfHxuJiZuLmd1aWQhPT1jLmd1aWR8fHMmJiFzLnRlc3QoYy5uYW1lc3BhY2UpfHxyJiZyIT09Yy5zZWxlY3RvciYmKCIqKiIhPT1yfHwhYy5zZWxlY3Rvcil8fChwLnNwbGljZShvLDEpLGMuc2VsZWN0b3ImJnAuZGVsZWdhdGVDb3VudC0tLGYucmVtb3ZlJiZmLnJlbW92ZS5jYWxsKGUsYykpO2EmJiFwLmxlbmd0aCYmKGYudGVhcmRvd24mJiExIT09Zi50ZWFyZG93bi5jYWxsKGUsaCx2LmhhbmRsZSl8fFMucmVtb3ZlRXZlbnQoZSxkLHYuaGFuZGxlKSxkZWxldGUgdVtkXSl9ZWxzZSBmb3IoZCBpbiB1KVMuZXZlbnQucmVtb3ZlKGUsZCt0W2xdLG4sciwhMCk7Uy5pc0VtcHR5T2JqZWN0KHUpJiZZLnJlbW92ZShlLCJoYW5kbGUgZXZlbnRzIil9fSxkaXNwYXRjaDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksdT1TLmV2ZW50LmZpeChlKSxsPShZLmdldCh0aGlzLCJldmVudHMiKXx8T2JqZWN0LmNyZWF0ZShudWxsKSlbdS50eXBlXXx8W10sYz1TLmV2ZW50LnNwZWNpYWxbdS50eXBlXXx8e307Zm9yKHNbMF09dSx0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKylzW3RdPWFyZ3VtZW50c1t0XTtpZih1LmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWMucHJlRGlzcGF0Y2h8fCExIT09Yy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsdSkpe2E9Uy5ldmVudC5oYW5kbGVycy5jYWxsKHRoaXMsdSxsKSx0PTA7d2hpbGUoKGk9YVt0KytdKSYmIXUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSl7dS5jdXJyZW50VGFyZ2V0PWkuZWxlbSxuPTA7d2hpbGUoKG89aS5oYW5kbGVyc1tuKytdKSYmIXUuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSl1LnJuYW1lc3BhY2UmJiExIT09by5uYW1lc3BhY2UmJiF1LnJuYW1lc3BhY2UudGVzdChvLm5hbWVzcGFjZSl8fCh1LmhhbmRsZU9iaj1vLHUuZGF0YT1vLmRhdGEsdm9pZCAwIT09KHI9KChTLmV2ZW50LnNwZWNpYWxbby5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fG8uaGFuZGxlcikuYXBwbHkoaS5lbGVtLHMpKSYmITE9PT0odS5yZXN1bHQ9cikmJih1LnByZXZlbnREZWZhdWx0KCksdS5zdG9wUHJvcGFnYXRpb24oKSkpfXJldHVybiBjLnBvc3REaXNwYXRjaCYmYy5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLHUpLHUucmVzdWx0fX0saGFuZGxlcnM6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhLHM9W10sdT10LmRlbGVnYXRlQ291bnQsbD1lLnRhcmdldDtpZih1JiZsLm5vZGVUeXBlJiYhKCJjbGljayI9PT1lLnR5cGUmJjE8PWUuYnV0dG9uKSlmb3IoO2whPT10aGlzO2w9bC5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1sLm5vZGVUeXBlJiYoImNsaWNrIiE9PWUudHlwZXx8ITAhPT1sLmRpc2FibGVkKSl7Zm9yKG89W10sYT17fSxuPTA7bjx1O24rKyl2b2lkIDA9PT1hW2k9KHI9dFtuXSkuc2VsZWN0b3IrIiAiXSYmKGFbaV09ci5uZWVkc0NvbnRleHQ/LTE8UyhpLHRoaXMpLmluZGV4KGwpOlMuZmluZChpLHRoaXMsbnVsbCxbbF0pLmxlbmd0aCksYVtpXSYmby5wdXNoKHIpO28ubGVuZ3RoJiZzLnB1c2goe2VsZW06bCxoYW5kbGVyczpvfSl9cmV0dXJuIGw9dGhpcyx1PHQubGVuZ3RoJiZzLnB1c2goe2VsZW06bCxoYW5kbGVyczp0LnNsaWNlKHUpfSksc30sYWRkUHJvcDpmdW5jdGlvbih0LGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShTLkV2ZW50LnByb3RvdHlwZSx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6bShlKT9mdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gZSh0aGlzLm9yaWdpbmFsRXZlbnQpfTpmdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gdGhpcy5vcmlnaW5hbEV2ZW50W3RdfSxzZXQ6ZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZX0pfX0pfSxmaXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbUy5leHBhbmRvXT9lOm5ldyBTLkV2ZW50KGUpfSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sY2xpY2s6e3NldHVwOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXN8fGU7cmV0dXJuIHBlLnRlc3QodC50eXBlKSYmdC5jbGljayYmQSh0LCJpbnB1dCIpJiZTZSh0LCJjbGljayIsd2UpLCExfSx0cmlnZ2VyOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXN8fGU7cmV0dXJuIHBlLnRlc3QodC50eXBlKSYmdC5jbGljayYmQSh0LCJpbnB1dCIpJiZTZSh0LCJjbGljayIpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZBKHQsImlucHV0IikmJlkuZ2V0KHQsImNsaWNrIil8fEEodCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oZSl7dm9pZCAwIT09ZS5yZXN1bHQmJmUub3JpZ2luYWxFdmVudCYmKGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1lLnJlc3VsdCl9fX19LFMucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oZSx0LG4pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbil9LFMuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBTLkV2ZW50KSlyZXR1cm4gbmV3IFMuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1lLmRlZmF1bHRQcmV2ZW50ZWQmJiExPT09ZS5yZXR1cm5WYWx1ZT93ZTpUZSx0aGlzLnRhcmdldD1lLnRhcmdldCYmMz09PWUudGFyZ2V0Lm5vZGVUeXBlP2UudGFyZ2V0LnBhcmVudE5vZGU6ZS50YXJnZXQsdGhpcy5jdXJyZW50VGFyZ2V0PWUuY3VycmVudFRhcmdldCx0aGlzLnJlbGF0ZWRUYXJnZXQ9ZS5yZWxhdGVkVGFyZ2V0KTp0aGlzLnR5cGU9ZSx0JiZTLmV4dGVuZCh0aGlzLHQpLHRoaXMudGltZVN0YW1wPWUmJmUudGltZVN0YW1wfHxEYXRlLm5vdygpLHRoaXNbUy5leHBhbmRvXT0hMH0sUy5FdmVudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlMuRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOlRlLGlzUHJvcGFnYXRpb25TdG9wcGVkOlRlLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOlRlLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD13ZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sUy5lYWNoKHthbHRLZXk6ITAsYnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNoYW5nZWRUb3VjaGVzOiEwLGN0cmxLZXk6ITAsZGV0YWlsOiEwLGV2ZW50UGhhc2U6ITAsbWV0YUtleTohMCxwYWdlWDohMCxwYWdlWTohMCxzaGlmdEtleTohMCx2aWV3OiEwLCJjaGFyIjohMCxjb2RlOiEwLGNoYXJDb2RlOiEwLGtleTohMCxrZXlDb2RlOiEwLGJ1dHRvbjohMCxidXR0b25zOiEwLGNsaWVudFg6ITAsY2xpZW50WTohMCxvZmZzZXRYOiEwLG9mZnNldFk6ITAscG9pbnRlcklkOiEwLHBvaW50ZXJUeXBlOiEwLHNjcmVlblg6ITAsc2NyZWVuWTohMCx0YXJnZXRUb3VjaGVzOiEwLHRvRWxlbWVudDohMCx0b3VjaGVzOiEwLHdoaWNoOiEwfSxTLmV2ZW50LmFkZFByb3ApLFMuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24oZSx0KXtTLmV2ZW50LnNwZWNpYWxbZV09e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIFNlKHRoaXMsZSxDZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gU2UodGhpcyxlKSwhMH0sX2RlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sZGVsZWdhdGVUeXBlOnR9fSksUy5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQifSxmdW5jdGlvbihlLGkpe1MuZXZlbnQuc3BlY2lhbFtlXT17ZGVsZWdhdGVUeXBlOmksYmluZFR5cGU6aSxoYW5kbGU6ZnVuY3Rpb24oZSl7dmFyIHQsbj1lLnJlbGF0ZWRUYXJnZXQscj1lLmhhbmRsZU9iajtyZXR1cm4gbiYmKG49PT10aGlzfHxTLmNvbnRhaW5zKHRoaXMsbikpfHwoZS50eXBlPXIub3JpZ1R5cGUsdD1yLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudHlwZT1pKSx0fX19KSxTLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIEVlKHRoaXMsZSx0LG4scil9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gRWUodGhpcyxlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoZSYmZS5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIHI9ZS5oYW5kbGVPYmosUyhlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpcztpZigib2JqZWN0Ij09dHlwZW9mIGUpe2ZvcihpIGluIGUpdGhpcy5vZmYoaSx0LGVbaV0pO3JldHVybiB0aGlzfXJldHVybiExIT09dCYmImZ1bmN0aW9uIiE9dHlwZW9mIHR8fChuPXQsdD12b2lkIDApLCExPT09biYmKG49VGUpLHRoaXMuZWFjaChmdW5jdGlvbigpe1MuZXZlbnQucmVtb3ZlKHRoaXMsZSxuLHQpfSl9fSk7dmFyIGtlPS88c2NyaXB0fDxzdHlsZXw8bGluay9pLEFlPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLE5lPS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/OlxdXF18LS0pPlxzKiQvZztmdW5jdGlvbiBqZShlLHQpe3JldHVybiBBKGUsInRhYmxlIikmJkEoMTEhPT10Lm5vZGVUeXBlP3Q6dC5maXJzdENoaWxkLCJ0ciIpJiZTKGUpLmNoaWxkcmVuKCJ0Ym9keSIpWzBdfHxlfWZ1bmN0aW9uIERlKGUpe3JldHVybiBlLnR5cGU9KG51bGwhPT1lLmdldEF0dHJpYnV0ZSgidHlwZSIpKSsiLyIrZS50eXBlLGV9ZnVuY3Rpb24gcWUoZSl7cmV0dXJuInRydWUvIj09PShlLnR5cGV8fCIiKS5zbGljZSgwLDUpP2UudHlwZT1lLnR5cGUuc2xpY2UoNSk6ZS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxlfWZ1bmN0aW9uIExlKGUsdCl7dmFyIG4scixpLG8sYSxzO2lmKDE9PT10Lm5vZGVUeXBlKXtpZihZLmhhc0RhdGEoZSkmJihzPVkuZ2V0KGUpLmV2ZW50cykpZm9yKGkgaW4gWS5yZW1vdmUodCwiaGFuZGxlIGV2ZW50cyIpLHMpZm9yKG49MCxyPXNbaV0ubGVuZ3RoO248cjtuKyspUy5ldmVudC5hZGQodCxpLHNbaV1bbl0pO1EuaGFzRGF0YShlKSYmKG89US5hY2Nlc3MoZSksYT1TLmV4dGVuZCh7fSxvKSxRLnNldCh0LGEpKX19ZnVuY3Rpb24gSGUobixyLGksbyl7cj1nKHIpO3ZhciBlLHQsYSxzLHUsbCxjPTAsZj1uLmxlbmd0aCxwPWYtMSxkPXJbMF0saD1tKGQpO2lmKGh8fDE8ZiYmInN0cmluZyI9PXR5cGVvZiBkJiYheS5jaGVja0Nsb25lJiZBZS50ZXN0KGQpKXJldHVybiBuLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9bi5lcShlKTtoJiYoclswXT1kLmNhbGwodGhpcyxlLHQuaHRtbCgpKSksSGUodCxyLGksbyl9KTtpZihmJiYodD0oZT14ZShyLG5bMF0ub3duZXJEb2N1bWVudCwhMSxuLG8pKS5maXJzdENoaWxkLDE9PT1lLmNoaWxkTm9kZXMubGVuZ3RoJiYoZT10KSx0fHxvKSl7Zm9yKHM9KGE9Uy5tYXAodmUoZSwic2NyaXB0IiksRGUpKS5sZW5ndGg7YzxmO2MrKyl1PWUsYyE9PXAmJih1PVMuY2xvbmUodSwhMCwhMCkscyYmUy5tZXJnZShhLHZlKHUsInNjcmlwdCIpKSksaS5jYWxsKG5bY10sdSxjKTtpZihzKWZvcihsPWFbYS5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxTLm1hcChhLHFlKSxjPTA7YzxzO2MrKyl1PWFbY10saGUudGVzdCh1LnR5cGV8fCIiKSYmIVkuYWNjZXNzKHUsImdsb2JhbEV2YWwiKSYmUy5jb250YWlucyhsLHUpJiYodS5zcmMmJiJtb2R1bGUiIT09KHUudHlwZXx8IiIpLnRvTG93ZXJDYXNlKCk/Uy5fZXZhbFVybCYmIXUubm9Nb2R1bGUmJlMuX2V2YWxVcmwodS5zcmMse25vbmNlOnUubm9uY2V8fHUuZ2V0QXR0cmlidXRlKCJub25jZSIpfSxsKTpiKHUudGV4dENvbnRlbnQucmVwbGFjZShOZSwiIiksdSxsKSl9cmV0dXJuIG59ZnVuY3Rpb24gT2UoZSx0LG4pe2Zvcih2YXIgcixpPXQ/Uy5maWx0ZXIodCxlKTplLG89MDtudWxsIT0ocj1pW29dKTtvKyspbnx8MSE9PXIubm9kZVR5cGV8fFMuY2xlYW5EYXRhKHZlKHIpKSxyLnBhcmVudE5vZGUmJihuJiZpZShyKSYmeWUodmUociwic2NyaXB0IikpLHIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSk7cmV0dXJuIGV9Uy5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LGNsb25lOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjPWUuY2xvbmVOb2RlKCEwKSxmPWllKGUpO2lmKCEoeS5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8Uy5pc1hNTERvYyhlKSkpZm9yKGE9dmUoYykscj0wLGk9KG89dmUoZSkpLmxlbmd0aDtyPGk7cisrKXM9b1tyXSx1PWFbcl0sdm9pZCAwLCJpbnB1dCI9PT0obD11Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpJiZwZS50ZXN0KHMudHlwZSk/dS5jaGVja2VkPXMuY2hlY2tlZDoiaW5wdXQiIT09bCYmInRleHRhcmVhIiE9PWx8fCh1LmRlZmF1bHRWYWx1ZT1zLmRlZmF1bHRWYWx1ZSk7aWYodClpZihuKWZvcihvPW98fHZlKGUpLGE9YXx8dmUoYykscj0wLGk9by5sZW5ndGg7cjxpO3IrKylMZShvW3JdLGFbcl0pO2Vsc2UgTGUoZSxjKTtyZXR1cm4gMDwoYT12ZShjLCJzY3JpcHQiKSkubGVuZ3RoJiZ5ZShhLCFmJiZ2ZShlLCJzY3JpcHQiKSksY30sY2xlYW5EYXRhOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuLHIsaT1TLmV2ZW50LnNwZWNpYWwsbz0wO3ZvaWQgMCE9PShuPWVbb10pO28rKylpZihWKG4pKXtpZih0PW5bWS5leHBhbmRvXSl7aWYodC5ldmVudHMpZm9yKHIgaW4gdC5ldmVudHMpaVtyXT9TLmV2ZW50LnJlbW92ZShuLHIpOlMucmVtb3ZlRXZlbnQobixyLHQuaGFuZGxlKTtuW1kuZXhwYW5kb109dm9pZCAwfW5bUS5leHBhbmRvXSYmKG5bUS5leHBhbmRvXT12b2lkIDApfX19KSxTLmZuLmV4dGVuZCh7ZGV0YWNoOmZ1bmN0aW9uKGUpe3JldHVybiBPZSh0aGlzLGUsITApfSxyZW1vdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIE9lKHRoaXMsZSl9LHRleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuICQodGhpcyxmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZT9TLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goZnVuY3Rpb24oKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8KHRoaXMudGV4dENvbnRlbnQ9ZSl9KX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fGplKHRoaXMsZSkuYXBwZW5kQ2hpbGQoZSl9KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHQ9amUodGhpcyxlKTt0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PTA7bnVsbCE9KGU9dGhpc1t0XSk7dCsrKTE9PT1lLm5vZGVUeXBlJiYoUy5jbGVhbkRhdGEodmUoZSwhMSkpLGUudGV4dENvbnRlbnQ9IiIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGwhPWUmJmUsdD1udWxsPT10P2U6dCx0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBTLmNsb25lKHRoaXMsZSx0KX0pfSxodG1sOmZ1bmN0aW9uKGUpe3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc1swXXx8e30sbj0wLHI9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09ZSYmMT09PXQubm9kZVR5cGUpcmV0dXJuIHQuaW5uZXJIVE1MO2lmKCJzdHJpbmciPT10eXBlb2YgZSYmIWtlLnRlc3QoZSkmJiFnZVsoZGUuZXhlYyhlKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9Uy5odG1sUHJlZmlsdGVyKGUpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKFMuY2xlYW5EYXRhKHZlKHQsITEpKSx0LmlubmVySFRNTD1lKTt0PTB9Y2F0Y2goZSl7fX10JiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGUpfSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIG49W107cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTtTLmluQXJyYXkodGhpcyxuKTwwJiYoUy5jbGVhbkRhdGEodmUodGhpcykpLHQmJnQucmVwbGFjZUNoaWxkKGUsdGhpcykpfSxuKX19KSxTLmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihlLGEpe1MuZm5bZV09ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49W10scj1TKGUpLGk9ci5sZW5ndGgtMSxvPTA7bzw9aTtvKyspdD1vPT09aT90aGlzOnRoaXMuY2xvbmUoITApLFMocltvXSlbYV0odCksdS5hcHBseShuLHQuZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhuKX19KTt2YXIgUGU9bmV3IFJlZ0V4cCgiXigiK2VlKyIpKD8hcHgpW2EteiVdKyQiLCJpIiksUmU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O3JldHVybiB0JiZ0Lm9wZW5lcnx8KHQ9QyksdC5nZXRDb21wdXRlZFN0eWxlKGUpfSxNZT1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXTtmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn0sSWU9bmV3IFJlZ0V4cChuZS5qb2luKCJ8IiksImkiKTtmdW5jdGlvbiBXZShlLHQsbil7dmFyIHIsaSxvLGEscz1lLnN0eWxlO3JldHVybihuPW58fFJlKGUpKSYmKCIiIT09KGE9bi5nZXRQcm9wZXJ0eVZhbHVlKHQpfHxuW3RdKXx8aWUoZSl8fChhPVMuc3R5bGUoZSx0KSksIXkucGl4ZWxCb3hTdHlsZXMoKSYmUGUudGVzdChhKSYmSWUudGVzdCh0KSYmKHI9cy53aWR0aCxpPXMubWluV2lkdGgsbz1zLm1heFdpZHRoLHMubWluV2lkdGg9cy5tYXhXaWR0aD1zLndpZHRoPWEsYT1uLndpZHRoLHMud2lkdGg9cixzLm1pbldpZHRoPWkscy5tYXhXaWR0aD1vKSksdm9pZCAwIT09YT9hKyIiOmF9ZnVuY3Rpb24gRmUoZSx0KXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7aWYoIWUoKSlyZXR1cm4odGhpcy5nZXQ9dCkuYXBwbHkodGhpcyxhcmd1bWVudHMpO2RlbGV0ZSB0aGlzLmdldH19fSFmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXtpZihsKXt1LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7d2lkdGg6NjBweDttYXJnaW4tdG9wOjFweDtwYWRkaW5nOjA7Ym9yZGVyOjAiLGwuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6c2Nyb2xsO21hcmdpbjphdXRvO2JvcmRlcjoxcHg7cGFkZGluZzoxcHg7d2lkdGg6NjAlO3RvcDoxJSIscmUuYXBwZW5kQ2hpbGQodSkuYXBwZW5kQ2hpbGQobCk7dmFyIGU9Qy5nZXRDb21wdXRlZFN0eWxlKGwpO249IjElIiE9PWUudG9wLHM9MTI9PT10KGUubWFyZ2luTGVmdCksbC5zdHlsZS5yaWdodD0iNjAlIixvPTM2PT09dChlLnJpZ2h0KSxyPTM2PT09dChlLndpZHRoKSxsLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaT0xMj09PXQobC5vZmZzZXRXaWR0aC8zKSxyZS5yZW1vdmVDaGlsZCh1KSxsPW51bGx9fWZ1bmN0aW9uIHQoZSl7cmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChlKSl9dmFyIG4scixpLG8sYSxzLHU9RS5jcmVhdGVFbGVtZW50KCJkaXYiKSxsPUUuY3JlYXRlRWxlbWVudCgiZGl2Iik7bC5zdHlsZSYmKGwuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixsLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIseS5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWwuc3R5bGUuYmFja2dyb3VuZENsaXAsUy5leHRlbmQoeSx7Ym94U2l6aW5nUmVsaWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZSgpLHJ9LHBpeGVsQm94U3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxvfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxufSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gZSgpLHN9LHNjcm9sbGJveFNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gZSgpLGl9LHJlbGlhYmxlVHJEaW1lbnNpb25zOmZ1bmN0aW9uKCl7dmFyIGUsdCxuLHI7cmV0dXJuIG51bGw9PWEmJihlPUUuY3JlYXRlRWxlbWVudCgidGFibGUiKSx0PUUuY3JlYXRlRWxlbWVudCgidHIiKSxuPUUuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4O2JvcmRlci1jb2xsYXBzZTpzZXBhcmF0ZSIsdC5zdHlsZS5jc3NUZXh0PSJib3JkZXI6MXB4IHNvbGlkIix0LnN0eWxlLmhlaWdodD0iMXB4IixuLnN0eWxlLmhlaWdodD0iOXB4IixuLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixyZS5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZCh0KS5hcHBlbmRDaGlsZChuKSxyPUMuZ2V0Q29tcHV0ZWRTdHlsZSh0KSxhPXBhcnNlSW50KHIuaGVpZ2h0LDEwKStwYXJzZUludChyLmJvcmRlclRvcFdpZHRoLDEwKStwYXJzZUludChyLmJvcmRlckJvdHRvbVdpZHRoLDEwKT09PXQub2Zmc2V0SGVpZ2h0LHJlLnJlbW92ZUNoaWxkKGUpKSxhfX0pKX0oKTt2YXIgQmU9WyJXZWJraXQiLCJNb3oiLCJtcyJdLCRlPUUuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUsX2U9e307ZnVuY3Rpb24gemUoZSl7dmFyIHQ9Uy5jc3NQcm9wc1tlXXx8X2VbZV07cmV0dXJuIHR8fChlIGluICRlP2U6X2VbZV09ZnVuY3Rpb24oZSl7dmFyIHQ9ZVswXS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSksbj1CZS5sZW5ndGg7d2hpbGUobi0tKWlmKChlPUJlW25dK3QpaW4gJGUpcmV0dXJuIGV9KGUpfHxlKX12YXIgVWU9L14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLFhlPS9eLS0vLFZlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxHZT17bGV0dGVyU3BhY2luZzoiMCIsZm9udFdlaWdodDoiNDAwIn07ZnVuY3Rpb24gWWUoZSx0LG4pe3ZhciByPXRlLmV4ZWModCk7cmV0dXJuIHI/TWF0aC5tYXgoMCxyWzJdLShufHwwKSkrKHJbM118fCJweCIpOnR9ZnVuY3Rpb24gUWUoZSx0LG4scixpLG8pe3ZhciBhPSJ3aWR0aCI9PT10PzE6MCxzPTAsdT0wO2lmKG49PT0ocj8iYm9yZGVyIjoiY29udGVudCIpKXJldHVybiAwO2Zvcig7YTw0O2ErPTIpIm1hcmdpbiI9PT1uJiYodSs9Uy5jc3MoZSxuK25lW2FdLCEwLGkpKSxyPygiY29udGVudCI9PT1uJiYodS09Uy5jc3MoZSwicGFkZGluZyIrbmVbYV0sITAsaSkpLCJtYXJnaW4iIT09biYmKHUtPVMuY3NzKGUsImJvcmRlciIrbmVbYV0rIldpZHRoIiwhMCxpKSkpOih1Kz1TLmNzcyhlLCJwYWRkaW5nIituZVthXSwhMCxpKSwicGFkZGluZyIhPT1uP3UrPVMuY3NzKGUsImJvcmRlciIrbmVbYV0rIldpZHRoIiwhMCxpKTpzKz1TLmNzcyhlLCJib3JkZXIiK25lW2FdKyJXaWR0aCIsITAsaSkpO3JldHVybiFyJiYwPD1vJiYodSs9TWF0aC5tYXgoMCxNYXRoLmNlaWwoZVsib2Zmc2V0Iit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKV0tby11LXMtLjUpKXx8MCksdX1mdW5jdGlvbiBKZShlLHQsbil7dmFyIHI9UmUoZSksaT0oIXkuYm94U2l6aW5nUmVsaWFibGUoKXx8bikmJiJib3JkZXItYm94Ij09PVMuY3NzKGUsImJveFNpemluZyIsITEsciksbz1pLGE9V2UoZSx0LHIpLHM9Im9mZnNldCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSk7aWYoUGUudGVzdChhKSl7aWYoIW4pcmV0dXJuIGE7YT0iYXV0byJ9cmV0dXJuKCF5LmJveFNpemluZ1JlbGlhYmxlKCkmJml8fCF5LnJlbGlhYmxlVHJEaW1lbnNpb25zKCkmJkEoZSwidHIiKXx8ImF1dG8iPT09YXx8IXBhcnNlRmxvYXQoYSkmJiJpbmxpbmUiPT09Uy5jc3MoZSwiZGlzcGxheSIsITEscikpJiZlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiYoaT0iYm9yZGVyLWJveCI9PT1TLmNzcyhlLCJib3hTaXppbmciLCExLHIpLChvPXMgaW4gZSkmJihhPWVbc10pKSwoYT1wYXJzZUZsb2F0KGEpfHwwKStRZShlLHQsbnx8KGk/ImJvcmRlciI6ImNvbnRlbnQiKSxvLHIsYSkrInB4In1mdW5jdGlvbiBLZShlLHQsbixyLGkpe3JldHVybiBuZXcgS2UucHJvdG90eXBlLmluaXQoZSx0LG4scixpKX1TLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPVdlKGUsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/IjEiOm59fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGdyaWRBcmVhOiEwLGdyaWRDb2x1bW46ITAsZ3JpZENvbHVtbkVuZDohMCxncmlkQ29sdW1uU3RhcnQ6ITAsZ3JpZFJvdzohMCxncmlkUm93RW5kOiEwLGdyaWRSb3dTdGFydDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnt9LHN0eWxlOmZ1bmN0aW9uKGUsdCxuLHIpe2lmKGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmZS5zdHlsZSl7dmFyIGksbyxhLHM9WCh0KSx1PVhlLnRlc3QodCksbD1lLnN0eWxlO2lmKHV8fCh0PXplKHMpKSxhPVMuY3NzSG9va3NbdF18fFMuY3NzSG9va3Nbc10sdm9pZCAwPT09bilyZXR1cm4gYSYmImdldCJpbiBhJiZ2b2lkIDAhPT0oaT1hLmdldChlLCExLHIpKT9pOmxbdF07InN0cmluZyI9PT0obz10eXBlb2YgbikmJihpPXRlLmV4ZWMobikpJiZpWzFdJiYobj1zZShlLHQsaSksbz0ibnVtYmVyIiksbnVsbCE9biYmbj09biYmKCJudW1iZXIiIT09b3x8dXx8KG4rPWkmJmlbM118fChTLmNzc051bWJlcltzXT8iIjoicHgiKSkseS5jbGVhckNsb25lU3R5bGV8fCIiIT09bnx8MCE9PXQuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwobFt0XT0iaW5oZXJpdCIpLGEmJiJzZXQiaW4gYSYmdm9pZCAwPT09KG49YS5zZXQoZSxuLHIpKXx8KHU/bC5zZXRQcm9wZXJ0eSh0LG4pOmxbdF09bikpfX0sY3NzOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzPVgodCk7cmV0dXJuIFhlLnRlc3QodCl8fCh0PXplKHMpKSwoYT1TLmNzc0hvb2tzW3RdfHxTLmNzc0hvb2tzW3NdKSYmImdldCJpbiBhJiYoaT1hLmdldChlLCEwLG4pKSx2b2lkIDA9PT1pJiYoaT1XZShlLHQscikpLCJub3JtYWwiPT09aSYmdCBpbiBHZSYmKGk9R2VbdF0pLCIiPT09bnx8bj8obz1wYXJzZUZsb2F0KGkpLCEwPT09bnx8aXNGaW5pdGUobyk/b3x8MDppKTppfX0pLFMuZWFjaChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24oZSx1KXtTLmNzc0hvb2tzW3VdPXtnZXQ6ZnVuY3Rpb24oZSx0LG4pe2lmKHQpcmV0dXJuIVVlLnRlc3QoUy5jc3MoZSwiZGlzcGxheSIpKXx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD9KZShlLHUsbik6TWUoZSxWZSxmdW5jdGlvbigpe3JldHVybiBKZShlLHUsbil9KX0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpPVJlKGUpLG89IXkuc2Nyb2xsYm94U2l6ZSgpJiYiYWJzb2x1dGUiPT09aS5wb3NpdGlvbixhPShvfHxuKSYmImJvcmRlci1ib3giPT09Uy5jc3MoZSwiYm94U2l6aW5nIiwhMSxpKSxzPW4/UWUoZSx1LG4sYSxpKTowO3JldHVybiBhJiZvJiYocy09TWF0aC5jZWlsKGVbIm9mZnNldCIrdVswXS50b1VwcGVyQ2FzZSgpK3Uuc2xpY2UoMSldLXBhcnNlRmxvYXQoaVt1XSktUWUoZSx1LCJib3JkZXIiLCExLGkpLS41KSkscyYmKHI9dGUuZXhlYyh0KSkmJiJweCIhPT0oclszXXx8InB4IikmJihlLnN0eWxlW3VdPXQsdD1TLmNzcyhlLHUpKSxZZSgwLHQscyl9fX0pLFMuY3NzSG9va3MubWFyZ2luTGVmdD1GZSh5LnJlbGlhYmxlTWFyZ2luTGVmdCxmdW5jdGlvbihlLHQpe2lmKHQpcmV0dXJuKHBhcnNlRmxvYXQoV2UoZSwibWFyZ2luTGVmdCIpKXx8ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LU1lKGUse21hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSkpKyJweCJ9KSxTLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihpLG8pe1MuY3NzSG9va3NbaStvXT17ZXhwYW5kOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49e30scj0ic3RyaW5nIj09dHlwZW9mIGU/ZS5zcGxpdCgiICIpOltlXTt0PDQ7dCsrKW5baStuZVt0XStvXT1yW3RdfHxyW3QtMl18fHJbMF07cmV0dXJuIG59fSwibWFyZ2luIiE9PWkmJihTLmNzc0hvb2tzW2krb10uc2V0PVllKX0pLFMuZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJCh0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89e30sYT0wO2lmKEFycmF5LmlzQXJyYXkodCkpe2ZvcihyPVJlKGUpLGk9dC5sZW5ndGg7YTxpO2ErKylvW3RbYV1dPVMuY3NzKGUsdFthXSwhMSxyKTtyZXR1cm4gb31yZXR1cm4gdm9pZCAwIT09bj9TLnN0eWxlKGUsdCxuKTpTLmNzcyhlLHQpfSxlLHQsMTxhcmd1bWVudHMubGVuZ3RoKX19KSwoKFMuVHdlZW49S2UpLnByb3RvdHlwZT17Y29uc3RydWN0b3I6S2UsaW5pdDpmdW5jdGlvbihlLHQsbixyLGksbyl7dGhpcy5lbGVtPWUsdGhpcy5wcm9wPW4sdGhpcy5lYXNpbmc9aXx8Uy5lYXNpbmcuX2RlZmF1bHQsdGhpcy5vcHRpb25zPXQsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPXIsdGhpcy51bml0PW98fChTLmNzc051bWJlcltuXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGU9S2UucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGUmJmUuZ2V0P2UuZ2V0KHRoaXMpOktlLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihlKXt2YXIgdCxuPUtlLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9dD1TLmVhc2luZ1t0aGlzLmVhc2luZ10oZSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qZSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz10PWUsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKnQrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksbiYmbi5zZXQ/bi5zZXQodGhpcyk6S2UucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0pLmluaXQucHJvdG90eXBlPUtlLnByb3RvdHlwZSwoS2UucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiAxIT09ZS5lbGVtLm5vZGVUeXBlfHxudWxsIT1lLmVsZW1bZS5wcm9wXSYmbnVsbD09ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtW2UucHJvcF06KHQ9Uy5jc3MoZS5lbGVtLGUucHJvcCwiIikpJiYiYXV0byIhPT10P3Q6MH0sc2V0OmZ1bmN0aW9uKGUpe1MuZnguc3RlcFtlLnByb3BdP1MuZnguc3RlcFtlLnByb3BdKGUpOjEhPT1lLmVsZW0ubm9kZVR5cGV8fCFTLmNzc0hvb2tzW2UucHJvcF0mJm51bGw9PWUuZWxlbS5zdHlsZVt6ZShlLnByb3ApXT9lLmVsZW1bZS5wcm9wXT1lLm5vdzpTLnN0eWxlKGUuZWxlbSxlLnByb3AsZS5ub3crZS51bml0KX19fSkuc2Nyb2xsVG9wPUtlLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oZSl7ZS5lbGVtLm5vZGVUeXBlJiZlLmVsZW0ucGFyZW50Tm9kZSYmKGUuZWxlbVtlLnByb3BdPWUubm93KX19LFMuZWFzaW5nPXtsaW5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi41LU1hdGguY29zKGUqTWF0aC5QSSkvMn0sX2RlZmF1bHQ6InN3aW5nIn0sUy5meD1LZS5wcm90b3R5cGUuaW5pdCxTLmZ4LnN0ZXA9e307dmFyIFplLGV0LHR0LG50LHJ0PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxpdD0vcXVldWVIb29rcyQvO2Z1bmN0aW9uIG90KCl7ZXQmJighMT09PUUuaGlkZGVuJiZDLnJlcXVlc3RBbmltYXRpb25GcmFtZT9DLnJlcXVlc3RBbmltYXRpb25GcmFtZShvdCk6Qy5zZXRUaW1lb3V0KG90LFMuZnguaW50ZXJ2YWwpLFMuZngudGljaygpKX1mdW5jdGlvbiBhdCgpe3JldHVybiBDLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtaZT12b2lkIDB9KSxaZT1EYXRlLm5vdygpfWZ1bmN0aW9uIHN0KGUsdCl7dmFyIG4scj0wLGk9e2hlaWdodDplfTtmb3IodD10PzE6MDtyPDQ7cis9Mi10KWlbIm1hcmdpbiIrKG49bmVbcl0pXT1pWyJwYWRkaW5nIituXT1lO3JldHVybiB0JiYoaS5vcGFjaXR5PWkud2lkdGg9ZSksaX1mdW5jdGlvbiB1dChlLHQsbil7Zm9yKHZhciByLGk9KGx0LnR3ZWVuZXJzW3RdfHxbXSkuY29uY2F0KGx0LnR3ZWVuZXJzWyIqIl0pLG89MCxhPWkubGVuZ3RoO288YTtvKyspaWYocj1pW29dLmNhbGwobix0LGUpKXJldHVybiByfWZ1bmN0aW9uIGx0KG8sZSx0KXt2YXIgbixhLHI9MCxpPWx0LnByZWZpbHRlcnMubGVuZ3RoLHM9Uy5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSB1LmVsZW19KSx1PWZ1bmN0aW9uKCl7aWYoYSlyZXR1cm4hMTtmb3IodmFyIGU9WmV8fGF0KCksdD1NYXRoLm1heCgwLGwuc3RhcnRUaW1lK2wuZHVyYXRpb24tZSksbj0xLSh0L2wuZHVyYXRpb258fDApLHI9MCxpPWwudHdlZW5zLmxlbmd0aDtyPGk7cisrKWwudHdlZW5zW3JdLnJ1bihuKTtyZXR1cm4gcy5ub3RpZnlXaXRoKG8sW2wsbix0XSksbjwxJiZpP3Q6KGl8fHMubm90aWZ5V2l0aChvLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgobyxbbF0pLCExKX0sbD1zLnByb21pc2Uoe2VsZW06byxwcm9wczpTLmV4dGVuZCh7fSxlKSxvcHRzOlMuZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpTLmVhc2luZy5fZGVmYXVsdH0sdCksb3JpZ2luYWxQcm9wZXJ0aWVzOmUsb3JpZ2luYWxPcHRpb25zOnQsc3RhcnRUaW1lOlplfHxhdCgpLGR1cmF0aW9uOnQuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGUsdCl7dmFyIG49Uy5Ud2VlbihvLGwub3B0cyxlLHQsbC5vcHRzLnNwZWNpYWxFYXNpbmdbZV18fGwub3B0cy5lYXNpbmcpO3JldHVybiBsLnR3ZWVucy5wdXNoKG4pLG59LHN0b3A6ZnVuY3Rpb24oZSl7dmFyIHQ9MCxuPWU/bC50d2VlbnMubGVuZ3RoOjA7aWYoYSlyZXR1cm4gdGhpcztmb3IoYT0hMDt0PG47dCsrKWwudHdlZW5zW3RdLnJ1bigxKTtyZXR1cm4gZT8ocy5ub3RpZnlXaXRoKG8sW2wsMSwwXSkscy5yZXNvbHZlV2l0aChvLFtsLGVdKSk6cy5yZWplY3RXaXRoKG8sW2wsZV0pLHRoaXN9fSksYz1sLnByb3BzO2ZvcighZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhO2ZvcihuIGluIGUpaWYoaT10W3I9WChuKV0sbz1lW25dLEFycmF5LmlzQXJyYXkobykmJihpPW9bMV0sbz1lW25dPW9bMF0pLG4hPT1yJiYoZVtyXT1vLGRlbGV0ZSBlW25dKSwoYT1TLmNzc0hvb2tzW3JdKSYmImV4cGFuZCJpbiBhKWZvcihuIGluIG89YS5leHBhbmQobyksZGVsZXRlIGVbcl0sbyluIGluIGV8fChlW25dPW9bbl0sdFtuXT1pKTtlbHNlIHRbcl09aX0oYyxsLm9wdHMuc3BlY2lhbEVhc2luZyk7cjxpO3IrKylpZihuPWx0LnByZWZpbHRlcnNbcl0uY2FsbChsLG8sYyxsLm9wdHMpKXJldHVybiBtKG4uc3RvcCkmJihTLl9xdWV1ZUhvb2tzKGwuZWxlbSxsLm9wdHMucXVldWUpLnN0b3A9bi5zdG9wLmJpbmQobikpLG47cmV0dXJuIFMubWFwKGMsdXQsbCksbShsLm9wdHMuc3RhcnQpJiZsLm9wdHMuc3RhcnQuY2FsbChvLGwpLGwucHJvZ3Jlc3MobC5vcHRzLnByb2dyZXNzKS5kb25lKGwub3B0cy5kb25lLGwub3B0cy5jb21wbGV0ZSkuZmFpbChsLm9wdHMuZmFpbCkuYWx3YXlzKGwub3B0cy5hbHdheXMpLFMuZngudGltZXIoUy5leHRlbmQodSx7ZWxlbTpvLGFuaW06bCxxdWV1ZTpsLm9wdHMucXVldWV9KSksbH1TLkFuaW1hdGlvbj1TLmV4dGVuZChsdCx7dHdlZW5lcnM6eyIqIjpbZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNyZWF0ZVR3ZWVuKGUsdCk7cmV0dXJuIHNlKG4uZWxlbSxlLHRlLmV4ZWModCksbiksbn1dfSx0d2VlbmVyOmZ1bmN0aW9uKGUsdCl7bShlKT8odD1lLGU9WyIqIl0pOmU9ZS5tYXRjaChQKTtmb3IodmFyIG4scj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyluPWVbcl0sbHQudHdlZW5lcnNbbl09bHQudHdlZW5lcnNbbl18fFtdLGx0LnR3ZWVuZXJzW25dLnVuc2hpZnQodCl9LHByZWZpbHRlcnM6W2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjLGY9IndpZHRoImluIHR8fCJoZWlnaHQiaW4gdCxwPXRoaXMsZD17fSxoPWUuc3R5bGUsZz1lLm5vZGVUeXBlJiZhZShlKSx2PVkuZ2V0KGUsImZ4c2hvdyIpO2ZvcihyIGluIG4ucXVldWV8fChudWxsPT0oYT1TLl9xdWV1ZUhvb2tzKGUsImZ4IikpLnVucXVldWVkJiYoYS51bnF1ZXVlZD0wLHM9YS5lbXB0eS5maXJlLGEuZW1wdHkuZmlyZT1mdW5jdGlvbigpe2EudW5xdWV1ZWR8fHMoKX0pLGEudW5xdWV1ZWQrKyxwLmFsd2F5cyhmdW5jdGlvbigpe3AuYWx3YXlzKGZ1bmN0aW9uKCl7YS51bnF1ZXVlZC0tLFMucXVldWUoZSwiZngiKS5sZW5ndGh8fGEuZW1wdHkuZmlyZSgpfSl9KSksdClpZihpPXRbcl0scnQudGVzdChpKSl7aWYoZGVsZXRlIHRbcl0sbz1vfHwidG9nZ2xlIj09PWksaT09PShnPyJoaWRlIjoic2hvdyIpKXtpZigic2hvdyIhPT1pfHwhdnx8dm9pZCAwPT09dltyXSljb250aW51ZTtnPSEwfWRbcl09diYmdltyXXx8Uy5zdHlsZShlLHIpfWlmKCh1PSFTLmlzRW1wdHlPYmplY3QodCkpfHwhUy5pc0VtcHR5T2JqZWN0KGQpKWZvcihyIGluIGYmJjE9PT1lLm5vZGVUeXBlJiYobi5vdmVyZmxvdz1baC5vdmVyZmxvdyxoLm92ZXJmbG93WCxoLm92ZXJmbG93WV0sbnVsbD09KGw9diYmdi5kaXNwbGF5KSYmKGw9WS5nZXQoZSwiZGlzcGxheSIpKSwibm9uZSI9PT0oYz1TLmNzcyhlLCJkaXNwbGF5IikpJiYobD9jPWw6KGxlKFtlXSwhMCksbD1lLnN0eWxlLmRpc3BsYXl8fGwsYz1TLmNzcyhlLCJkaXNwbGF5IiksbGUoW2VdKSkpLCgiaW5saW5lIj09PWN8fCJpbmxpbmUtYmxvY2siPT09YyYmbnVsbCE9bCkmJiJub25lIj09PVMuY3NzKGUsImZsb2F0IikmJih1fHwocC5kb25lKGZ1bmN0aW9uKCl7aC5kaXNwbGF5PWx9KSxudWxsPT1sJiYoYz1oLmRpc3BsYXksbD0ibm9uZSI9PT1jPyIiOmMpKSxoLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxuLm92ZXJmbG93JiYoaC5vdmVyZmxvdz0iaGlkZGVuIixwLmFsd2F5cyhmdW5jdGlvbigpe2gub3ZlcmZsb3c9bi5vdmVyZmxvd1swXSxoLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGgub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19KSksdT0hMSxkKXV8fCh2PyJoaWRkZW4iaW4gdiYmKGc9di5oaWRkZW4pOnY9WS5hY2Nlc3MoZSwiZnhzaG93Iix7ZGlzcGxheTpsfSksbyYmKHYuaGlkZGVuPSFnKSxnJiZsZShbZV0sITApLHAuZG9uZShmdW5jdGlvbigpe2ZvcihyIGluIGd8fGxlKFtlXSksWS5yZW1vdmUoZSwiZnhzaG93IiksZClTLnN0eWxlKGUscixkW3JdKX0pKSx1PXV0KGc/dltyXTowLHIscCksciBpbiB2fHwodltyXT11LnN0YXJ0LGcmJih1LmVuZD11LnN0YXJ0LHUuc3RhcnQ9MCkpfV0scHJlZmlsdGVyOmZ1bmN0aW9uKGUsdCl7dD9sdC5wcmVmaWx0ZXJzLnVuc2hpZnQoZSk6bHQucHJlZmlsdGVycy5wdXNoKGUpfX0pLFMuc3BlZWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJiJvYmplY3QiPT10eXBlb2YgZT9TLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fG0oZSkmJmUsZHVyYXRpb246ZSxlYXNpbmc6biYmdHx8dCYmIW0odCkmJnR9O3JldHVybiBTLmZ4Lm9mZj9yLmR1cmF0aW9uPTA6Im51bWJlciIhPXR5cGVvZiByLmR1cmF0aW9uJiYoci5kdXJhdGlvbiBpbiBTLmZ4LnNwZWVkcz9yLmR1cmF0aW9uPVMuZnguc3BlZWRzW3IuZHVyYXRpb25dOnIuZHVyYXRpb249Uy5meC5zcGVlZHMuX2RlZmF1bHQpLG51bGwhPXIucXVldWUmJiEwIT09ci5xdWV1ZXx8KHIucXVldWU9ImZ4Iiksci5vbGQ9ci5jb21wbGV0ZSxyLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bShyLm9sZCkmJnIub2xkLmNhbGwodGhpcyksci5xdWV1ZSYmUy5kZXF1ZXVlKHRoaXMsci5xdWV1ZSl9LHJ9LFMuZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKGFlKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OnR9LGUsbixyKX0sYW5pbWF0ZTpmdW5jdGlvbih0LGUsbixyKXt2YXIgaT1TLmlzRW1wdHlPYmplY3QodCksbz1TLnNwZWVkKGUsbixyKSxhPWZ1bmN0aW9uKCl7dmFyIGU9bHQodGhpcyxTLmV4dGVuZCh7fSx0KSxvKTsoaXx8WS5nZXQodGhpcywiZmluaXNoIikpJiZlLnN0b3AoITApfTtyZXR1cm4gYS5maW5pc2g9YSxpfHwhMT09PW8ucXVldWU/dGhpcy5lYWNoKGEpOnRoaXMucXVldWUoby5xdWV1ZSxhKX0sc3RvcDpmdW5jdGlvbihpLGUsbyl7dmFyIGE9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zdG9wO2RlbGV0ZSBlLnN0b3AsdChvKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBpJiYobz1lLGU9aSxpPXZvaWQgMCksZSYmdGhpcy5xdWV1ZShpfHwiZngiLFtdKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT0hMCx0PW51bGwhPWkmJmkrInF1ZXVlSG9va3MiLG49Uy50aW1lcnMscj1ZLmdldCh0aGlzKTtpZih0KXJbdF0mJnJbdF0uc3RvcCYmYShyW3RdKTtlbHNlIGZvcih0IGluIHIpclt0XSYmclt0XS5zdG9wJiZpdC50ZXN0KHQpJiZhKHJbdF0pO2Zvcih0PW4ubGVuZ3RoO3QtLTspblt0XS5lbGVtIT09dGhpc3x8bnVsbCE9aSYmblt0XS5xdWV1ZSE9PWl8fChuW3RdLmFuaW0uc3RvcChvKSxlPSExLG4uc3BsaWNlKHQsMSkpOyFlJiZvfHxTLmRlcXVldWUodGhpcyxpKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuITEhPT1hJiYoYT1hfHwiZngiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZSx0PVkuZ2V0KHRoaXMpLG49dFthKyJxdWV1ZSJdLHI9dFthKyJxdWV1ZUhvb2tzIl0saT1TLnRpbWVycyxvPW4/bi5sZW5ndGg6MDtmb3IodC5maW5pc2g9ITAsUy5xdWV1ZSh0aGlzLGEsW10pLHImJnIuc3RvcCYmci5zdG9wLmNhbGwodGhpcywhMCksZT1pLmxlbmd0aDtlLS07KWlbZV0uZWxlbT09PXRoaXMmJmlbZV0ucXVldWU9PT1hJiYoaVtlXS5hbmltLnN0b3AoITApLGkuc3BsaWNlKGUsMSkpO2ZvcihlPTA7ZTxvO2UrKyluW2VdJiZuW2VdLmZpbmlzaCYmbltlXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgdC5maW5pc2h9KX19KSxTLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGUscil7dmFyIGk9Uy5mbltyXTtTLmZuW3JdPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09ZXx8ImJvb2xlYW4iPT10eXBlb2YgZT9pLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoc3QociwhMCksZSx0LG4pfX0pLFMuZWFjaCh7c2xpZGVEb3duOnN0KCJzaG93Iiksc2xpZGVVcDpzdCgiaGlkZSIpLHNsaWRlVG9nZ2xlOnN0KCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGUscil7Uy5mbltlXT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuYW5pbWF0ZShyLGUsdCxuKX19KSxTLnRpbWVycz1bXSxTLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgZSx0PTAsbj1TLnRpbWVycztmb3IoWmU9RGF0ZS5ub3coKTt0PG4ubGVuZ3RoO3QrKykoZT1uW3RdKSgpfHxuW3RdIT09ZXx8bi5zcGxpY2UodC0tLDEpO24ubGVuZ3RofHxTLmZ4LnN0b3AoKSxaZT12b2lkIDB9LFMuZngudGltZXI9ZnVuY3Rpb24oZSl7Uy50aW1lcnMucHVzaChlKSxTLmZ4LnN0YXJ0KCl9LFMuZnguaW50ZXJ2YWw9MTMsUy5meC5zdGFydD1mdW5jdGlvbigpe2V0fHwoZXQ9ITAsb3QoKSl9LFMuZnguc3RvcD1mdW5jdGlvbigpe2V0PW51bGx9LFMuZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LFMuZm4uZGVsYXk9ZnVuY3Rpb24ocixlKXtyZXR1cm4gcj1TLmZ4JiZTLmZ4LnNwZWVkc1tyXXx8cixlPWV8fCJmeCIsdGhpcy5xdWV1ZShlLGZ1bmN0aW9uKGUsdCl7dmFyIG49Qy5zZXRUaW1lb3V0KGUscik7dC5zdG9wPWZ1bmN0aW9uKCl7Qy5jbGVhclRpbWVvdXQobil9fSl9LHR0PUUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxudD1FLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLmFwcGVuZENoaWxkKEUuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLHR0LnR5cGU9ImNoZWNrYm94Iix5LmNoZWNrT249IiIhPT10dC52YWx1ZSx5Lm9wdFNlbGVjdGVkPW50LnNlbGVjdGVkLCh0dD1FLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnZhbHVlPSJ0Iix0dC50eXBlPSJyYWRpbyIseS5yYWRpb1ZhbHVlPSJ0Ij09PXR0LnZhbHVlO3ZhciBjdCxmdD1TLmV4cHIuYXR0ckhhbmRsZTtTLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiAkKHRoaXMsUy5hdHRyLGUsdCwxPGFyZ3VtZW50cy5sZW5ndGgpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLnJlbW92ZUF0dHIodGhpcyxlKX0pfX0pLFMuZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89ZS5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgZS5nZXRBdHRyaWJ1dGU/Uy5wcm9wKGUsdCxuKTooMT09PW8mJlMuaXNYTUxEb2MoZSl8fChpPVMuYXR0ckhvb2tzW3QudG9Mb3dlckNhc2UoKV18fChTLmV4cHIubWF0Y2guYm9vbC50ZXN0KHQpP2N0OnZvaWQgMCkpLHZvaWQgMCE9PW4/bnVsbD09PW4/dm9pZCBTLnJlbW92ZUF0dHIoZSx0KTppJiYic2V0ImluIGkmJnZvaWQgMCE9PShyPWkuc2V0KGUsbix0KSk/cjooZS5zZXRBdHRyaWJ1dGUodCxuKyIiKSxuKTppJiYiZ2V0ImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQpKT9yOm51bGw9PShyPVMuZmluZC5hdHRyKGUsdCkpP3ZvaWQgMDpyKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oZSx0KXtpZigheS5yYWRpb1ZhbHVlJiYicmFkaW8iPT09dCYmQShlLCJpbnB1dCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZSgidHlwZSIsdCksbiYmKGUudmFsdWU9biksdH19fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MCxpPXQmJnQubWF0Y2goUCk7aWYoaSYmMT09PWUubm9kZVR5cGUpd2hpbGUobj1pW3IrK10pZS5yZW1vdmVBdHRyaWJ1dGUobil9fSksY3Q9e3NldDpmdW5jdGlvbihlLHQsbil7cmV0dXJuITE9PT10P1MucmVtb3ZlQXR0cihlLG4pOmUuc2V0QXR0cmlidXRlKG4sbiksbn19LFMuZWFjaChTLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihlLHQpe3ZhciBhPWZ0W3RdfHxTLmZpbmQuYXR0cjtmdFt0XT1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXQudG9Mb3dlckNhc2UoKTtyZXR1cm4gbnx8KGk9ZnRbb10sZnRbb109cixyPW51bGwhPWEoZSx0LG4pP286bnVsbCxmdFtvXT1pKSxyfX0pO3ZhciBwdD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGR0PS9eKD86YXxhcmVhKSQvaTtmdW5jdGlvbiBodChlKXtyZXR1cm4oZS5tYXRjaChQKXx8W10pLmpvaW4oIiAiKX1mdW5jdGlvbiBndChlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn1mdW5jdGlvbiB2dChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOiJzdHJpbmciPT10eXBlb2YgZSYmZS5tYXRjaChQKXx8W119Uy5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJCh0aGlzLFMucHJvcCxlLHQsMTxhcmd1bWVudHMubGVuZ3RoKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbUy5wcm9wRml4W2VdfHxlXX0pfX0pLFMuZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89ZS5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiAxPT09byYmUy5pc1hNTERvYyhlKXx8KHQ9Uy5wcm9wRml4W3RdfHx0LGk9Uy5wcm9wSG9va3NbdF0pLHZvaWQgMCE9PW4/aSYmInNldCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6ZVt0XT1uOmkmJiJnZXQiaW4gaSYmbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6ZVt0XX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PVMuZmluZC5hdHRyKGUsInRhYmluZGV4Iik7cmV0dXJuIHQ/cGFyc2VJbnQodCwxMCk6cHQudGVzdChlLm5vZGVOYW1lKXx8ZHQudGVzdChlLm5vZGVOYW1lKSYmZS5ocmVmPzA6LTF9fX0scHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9fSkseS5vcHRTZWxlY3RlZHx8KFMucHJvcEhvb2tzLnNlbGVjdGVkPXtnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiZ0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LG51bGx9LHNldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7dCYmKHQuc2VsZWN0ZWRJbmRleCx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4KX19KSxTLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe1MucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxTLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbyxhLHMsdT0wO2lmKG0odCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLmFkZENsYXNzKHQuY2FsbCh0aGlzLGUsZ3QodGhpcykpKX0pO2lmKChlPXZ0KHQpKS5sZW5ndGgpd2hpbGUobj10aGlzW3UrK10paWYoaT1ndChuKSxyPTE9PT1uLm5vZGVUeXBlJiYiICIraHQoaSkrIiAiKXthPTA7d2hpbGUobz1lW2ErK10pci5pbmRleE9mKCIgIitvKyIgIik8MCYmKHIrPW8rIiAiKTtpIT09KHM9aHQocikpJiZuLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHMpfXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbih0KXt2YXIgZSxuLHIsaSxvLGEscyx1PTA7aWYobSh0KSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe1ModGhpcykucmVtb3ZlQ2xhc3ModC5jYWxsKHRoaXMsZSxndCh0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCIiKTtpZigoZT12dCh0KSkubGVuZ3RoKXdoaWxlKG49dGhpc1t1KytdKWlmKGk9Z3Qobikscj0xPT09bi5ub2RlVHlwZSYmIiAiK2h0KGkpKyIgIil7YT0wO3doaWxlKG89ZVthKytdKXdoaWxlKC0xPHIuaW5kZXhPZigiICIrbysiICIpKXI9ci5yZXBsYWNlKCIgIitvKyIgIiwiICIpO2khPT0ocz1odChyKSkmJm4uc2V0QXR0cmlidXRlKCJjbGFzcyIscyl9cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGksdCl7dmFyIG89dHlwZW9mIGksYT0ic3RyaW5nIj09PW98fEFycmF5LmlzQXJyYXkoaSk7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgdCYmYT90P3RoaXMuYWRkQ2xhc3MoaSk6dGhpcy5yZW1vdmVDbGFzcyhpKTptKGkpP3RoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLnRvZ2dsZUNsYXNzKGkuY2FsbCh0aGlzLGUsZ3QodGhpcyksdCksdCl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZSx0LG4scjtpZihhKXt0PTAsbj1TKHRoaXMpLHI9dnQoaSk7d2hpbGUoZT1yW3QrK10pbi5oYXNDbGFzcyhlKT9uLnJlbW92ZUNsYXNzKGUpOm4uYWRkQ2xhc3MoZSl9ZWxzZSB2b2lkIDAhPT1pJiYiYm9vbGVhbiIhPT1vfHwoKGU9Z3QodGhpcykpJiZZLnNldCh0aGlzLCJfX2NsYXNzTmFtZV9fIixlKSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixlfHwhMT09PWk/IiI6WS5nZXQodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj0wO3Q9IiAiK2UrIiAiO3doaWxlKG49dGhpc1tyKytdKWlmKDE9PT1uLm5vZGVUeXBlJiYtMTwoIiAiK2h0KGd0KG4pKSsiICIpLmluZGV4T2YodCkpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIHl0PS9cci9nO1MuZm4uZXh0ZW5kKHt2YWw6ZnVuY3Rpb24obil7dmFyIHIsZSxpLHQ9dGhpc1swXTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT1tKG4pLHRoaXMuZWFjaChmdW5jdGlvbihlKXt2YXIgdDsxPT09dGhpcy5ub2RlVHlwZSYmKG51bGw9PSh0PWk/bi5jYWxsKHRoaXMsZSxTKHRoaXMpLnZhbCgpKTpuKT90PSIiOiJudW1iZXIiPT10eXBlb2YgdD90Kz0iIjpBcnJheS5pc0FycmF5KHQpJiYodD1TLm1hcCh0LGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIiJ9KSksKHI9Uy52YWxIb29rc1t0aGlzLnR5cGVdfHxTLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiYic2V0ImluIHImJnZvaWQgMCE9PXIuc2V0KHRoaXMsdCwidmFsdWUiKXx8KHRoaXMudmFsdWU9dCkpfSkpOnQ/KHI9Uy52YWxIb29rc1t0LnR5cGVdfHxTLnZhbEhvb2tzW3Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiYiZ2V0ImluIHImJnZvaWQgMCE9PShlPXIuZ2V0KHQsInZhbHVlIikpP2U6InN0cmluZyI9PXR5cGVvZihlPXQudmFsdWUpP2UucmVwbGFjZSh5dCwiIik6bnVsbD09ZT8iIjplOnZvaWQgMH19KSxTLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PVMuZmluZC5hdHRyKGUsInZhbHVlIik7cmV0dXJuIG51bGwhPXQ/dDpodChTLnRleHQoZSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGk9ZS5vcHRpb25zLG89ZS5zZWxlY3RlZEluZGV4LGE9InNlbGVjdC1vbmUiPT09ZS50eXBlLHM9YT9udWxsOltdLHU9YT9vKzE6aS5sZW5ndGg7Zm9yKHI9bzwwP3U6YT9vOjA7cjx1O3IrKylpZigoKG49aVtyXSkuc2VsZWN0ZWR8fHI9PT1vKSYmIW4uZGlzYWJsZWQmJighbi5wYXJlbnROb2RlLmRpc2FibGVkfHwhQShuLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtpZih0PVMobikudmFsKCksYSlyZXR1cm4gdDtzLnB1c2godCl9cmV0dXJuIHN9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsaT1lLm9wdGlvbnMsbz1TLm1ha2VBcnJheSh0KSxhPWkubGVuZ3RoO3doaWxlKGEtLSkoKHI9aVthXSkuc2VsZWN0ZWQ9LTE8Uy5pbkFycmF5KFMudmFsSG9va3Mub3B0aW9uLmdldChyKSxvKSkmJihuPSEwKTtyZXR1cm4gbnx8KGUuc2VsZWN0ZWRJbmRleD0tMSksb319fX0pLFMuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe1MudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihlLHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIGUuY2hlY2tlZD0tMTxTLmluQXJyYXkoUyhlKS52YWwoKSx0KX19LHkuY2hlY2tPbnx8KFMudmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/Im9uIjplLnZhbHVlfSl9KSx5LmZvY3VzaW49Im9uZm9jdXNpbiJpbiBDO3ZhciBtdD0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8seHQ9ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX07Uy5leHRlbmQoUy5ldmVudCx7dHJpZ2dlcjpmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LGwsYyxmLHA9W258fEVdLGQ9di5jYWxsKGUsInR5cGUiKT9lLnR5cGU6ZSxoPXYuY2FsbChlLCJuYW1lc3BhY2UiKT9lLm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKG89Zj1hPW49bnx8RSwzIT09bi5ub2RlVHlwZSYmOCE9PW4ubm9kZVR5cGUmJiFtdC50ZXN0KGQrUy5ldmVudC50cmlnZ2VyZWQpJiYoLTE8ZC5pbmRleE9mKCIuIikmJihkPShoPWQuc3BsaXQoIi4iKSkuc2hpZnQoKSxoLnNvcnQoKSksdT1kLmluZGV4T2YoIjoiKTwwJiYib24iK2QsKGU9ZVtTLmV4cGFuZG9dP2U6bmV3IFMuRXZlbnQoZCwib2JqZWN0Ij09dHlwZW9mIGUmJmUpKS5pc1RyaWdnZXI9cj8yOjMsZS5uYW1lc3BhY2U9aC5qb2luKCIuIiksZS5ybmFtZXNwYWNlPWUubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK2guam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxlLnJlc3VsdD12b2lkIDAsZS50YXJnZXR8fChlLnRhcmdldD1uKSx0PW51bGw9PXQ/W2VdOlMubWFrZUFycmF5KHQsW2VdKSxjPVMuZXZlbnQuc3BlY2lhbFtkXXx8e30scnx8IWMudHJpZ2dlcnx8ITEhPT1jLnRyaWdnZXIuYXBwbHkobix0KSkpe2lmKCFyJiYhYy5ub0J1YmJsZSYmIXgobikpe2ZvcihzPWMuZGVsZWdhdGVUeXBlfHxkLG10LnRlc3QocytkKXx8KG89by5wYXJlbnROb2RlKTtvO289by5wYXJlbnROb2RlKXAucHVzaChvKSxhPW87YT09PShuLm93bmVyRG9jdW1lbnR8fEUpJiZwLnB1c2goYS5kZWZhdWx0Vmlld3x8YS5wYXJlbnRXaW5kb3d8fEMpfWk9MDt3aGlsZSgobz1wW2krK10pJiYhZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWY9byxlLnR5cGU9MTxpP3M6Yy5iaW5kVHlwZXx8ZCwobD0oWS5nZXQobywiZXZlbnRzIil8fE9iamVjdC5jcmVhdGUobnVsbCkpW2UudHlwZV0mJlkuZ2V0KG8sImhhbmRsZSIpKSYmbC5hcHBseShvLHQpLChsPXUmJm9bdV0pJiZsLmFwcGx5JiZWKG8pJiYoZS5yZXN1bHQ9bC5hcHBseShvLHQpLCExPT09ZS5yZXN1bHQmJmUucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIGUudHlwZT1kLHJ8fGUuaXNEZWZhdWx0UHJldmVudGVkKCl8fGMuX2RlZmF1bHQmJiExIT09Yy5fZGVmYXVsdC5hcHBseShwLnBvcCgpLHQpfHwhVihuKXx8dSYmbShuW2RdKSYmIXgobikmJigoYT1uW3VdKSYmKG5bdV09bnVsbCksUy5ldmVudC50cmlnZ2VyZWQ9ZCxlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkmJmYuYWRkRXZlbnRMaXN0ZW5lcihkLHh0KSxuW2RdKCksZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZmLnJlbW92ZUV2ZW50TGlzdGVuZXIoZCx4dCksUy5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLGEmJihuW3VdPWEpKSxlLnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1TLmV4dGVuZChuZXcgUy5FdmVudCxuLHt0eXBlOmUsaXNTaW11bGF0ZWQ6ITB9KTtTLmV2ZW50LnRyaWdnZXIocixudWxsLHQpfX0pLFMuZm4uZXh0ZW5kKHt0cmlnZ2VyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe1MuZXZlbnQudHJpZ2dlcihlLHQsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzWzBdO2lmKG4pcmV0dXJuIFMuZXZlbnQudHJpZ2dlcihlLHQsbiwhMCl9fSkseS5mb2N1c2lufHxTLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKG4scil7dmFyIGk9ZnVuY3Rpb24oZSl7Uy5ldmVudC5zaW11bGF0ZShyLGUudGFyZ2V0LFMuZXZlbnQuZml4KGUpKX07Uy5ldmVudC5zcGVjaWFsW3JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcy5kb2N1bWVudHx8dGhpcyx0PVkuYWNjZXNzKGUscik7dHx8ZS5hZGRFdmVudExpc3RlbmVyKG4saSwhMCksWS5hY2Nlc3MoZSxyLCh0fHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsdD1ZLmFjY2VzcyhlLHIpLTE7dD9ZLmFjY2VzcyhlLHIsdCk6KGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihuLGksITApLFkucmVtb3ZlKGUscikpfX19KTt2YXIgYnQ9Qy5sb2NhdGlvbix3dD17Z3VpZDpEYXRlLm5vdygpfSxUdD0vXD8vO1MucGFyc2VYTUw9ZnVuY3Rpb24oZSl7dmFyIHQsbjtpZighZXx8InN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBudWxsO3RyeXt0PShuZXcgQy5ET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyhlLCJ0ZXh0L3htbCIpfWNhdGNoKGUpe31yZXR1cm4gbj10JiZ0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpWzBdLHQmJiFufHxTLmVycm9yKCJJbnZhbGlkIFhNTDogIisobj9TLm1hcChuLmNoaWxkTm9kZXMsZnVuY3Rpb24oZSl7cmV0dXJuIGUudGV4dENvbnRlbnR9KS5qb2luKCJcbiIpOmUpKSx0fTt2YXIgQ3Q9L1xbXF0kLyxFdD0vXHI/XG4vZyxTdD0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksa3Q9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIEF0KG4sZSxyLGkpe3ZhciB0O2lmKEFycmF5LmlzQXJyYXkoZSkpUy5lYWNoKGUsZnVuY3Rpb24oZSx0KXtyfHxDdC50ZXN0KG4pP2kobix0KTpBdChuKyJbIisoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT10P2U6IiIpKyJdIix0LHIsaSl9KTtlbHNlIGlmKHJ8fCJvYmplY3QiIT09dyhlKSlpKG4sZSk7ZWxzZSBmb3IodCBpbiBlKUF0KG4rIlsiK3QrIl0iLGVbdF0scixpKX1TLnBhcmFtPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPWZ1bmN0aW9uKGUsdCl7dmFyIG49bSh0KT90KCk6dDtyW3IubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoZSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChudWxsPT1uPyIiOm4pfTtpZihudWxsPT1lKXJldHVybiIiO2lmKEFycmF5LmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhUy5pc1BsYWluT2JqZWN0KGUpKVMuZWFjaChlLGZ1bmN0aW9uKCl7aSh0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZvcihuIGluIGUpQXQobixlW25dLHQsaSk7cmV0dXJuIHIuam9pbigiJiIpfSxTLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIFMucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgZT1TLnByb3AodGhpcywiZWxlbWVudHMiKTtyZXR1cm4gZT9TLm1ha2VBcnJheShlKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFTKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYma3QudGVzdCh0aGlzLm5vZGVOYW1lKSYmIVN0LnRlc3QoZSkmJih0aGlzLmNoZWNrZWR8fCFwZS50ZXN0KGUpKX0pLm1hcChmdW5jdGlvbihlLHQpe3ZhciBuPVModGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/bnVsbDpBcnJheS5pc0FycmF5KG4pP1MubWFwKG4sZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6dC5uYW1lLHZhbHVlOmUucmVwbGFjZShFdCwiXHJcbiIpfX0pOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2UoRXQsIlxyXG4iKX19KS5nZXQoKX19KTt2YXIgTnQ9LyUyMC9nLGp0PS8jLiokLyxEdD0vKFs/Jl0pXz1bXiZdKi8scXQ9L14oLio/KTpbIFx0XSooW15cclxuXSopJC9nbSxMdD0vXig/OkdFVHxIRUFEKSQvLEh0PS9eXC9cLy8sT3Q9e30sUHQ9e30sUnQ9IiovIi5jb25jYXQoIioiKSxNdD1FLmNyZWF0ZUVsZW1lbnQoImEiKTtmdW5jdGlvbiBJdChvKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXsic3RyaW5nIiE9dHlwZW9mIGUmJih0PWUsZT0iKiIpO3ZhciBuLHI9MCxpPWUudG9Mb3dlckNhc2UoKS5tYXRjaChQKXx8W107aWYobSh0KSl3aGlsZShuPWlbcisrXSkiKyI9PT1uWzBdPyhuPW4uc2xpY2UoMSl8fCIqIiwob1tuXT1vW25dfHxbXSkudW5zaGlmdCh0KSk6KG9bbl09b1tuXXx8W10pLnB1c2godCl9fWZ1bmN0aW9uIFd0KHQsaSxvLGEpe3ZhciBzPXt9LHU9dD09PVB0O2Z1bmN0aW9uIGwoZSl7dmFyIHI7cmV0dXJuIHNbZV09ITAsUy5lYWNoKHRbZV18fFtdLGZ1bmN0aW9uKGUsdCl7dmFyIG49dChpLG8sYSk7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBufHx1fHxzW25dP3U/IShyPW4pOnZvaWQgMDooaS5kYXRhVHlwZXMudW5zaGlmdChuKSxsKG4pLCExKX0pLHJ9cmV0dXJuIGwoaS5kYXRhVHlwZXNbMF0pfHwhc1siKiJdJiZsKCIqIil9ZnVuY3Rpb24gRnQoZSx0KXt2YXIgbixyLGk9Uy5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihuIGluIHQpdm9pZCAwIT09dFtuXSYmKChpW25dP2U6cnx8KHI9e30pKVtuXT10W25dKTtyZXR1cm4gciYmUy5leHRlbmQoITAsZSxyKSxlfU10LmhyZWY9YnQuaHJlZixTLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6YnQuaHJlZix0eXBlOiJHRVQiLGlzTG9jYWw6L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChidC5wcm90b2NvbCksZ2xvYmFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6eyIqIjpSdCx0ZXh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDovXGJ4bWxcYi8saHRtbDovXGJodG1sLyxqc29uOi9cYmpzb25cYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpKU09OLnBhcnNlLCJ0ZXh0IHhtbCI6Uy5wYXJzZVhNTH0sZmxhdE9wdGlvbnM6e3VybDohMCxjb250ZXh0OiEwfX0sYWpheFNldHVwOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/RnQoRnQoZSxTLmFqYXhTZXR0aW5ncyksdCk6RnQoUy5hamF4U2V0dGluZ3MsZSl9LGFqYXhQcmVmaWx0ZXI6SXQoT3QpLGFqYXhUcmFuc3BvcnQ6SXQoUHQpLGFqYXg6ZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLHQ9dHx8e307dmFyIGMsZixwLG4sZCxyLGgsZyxpLG8sdj1TLmFqYXhTZXR1cCh7fSx0KSx5PXYuY29udGV4dHx8dixtPXYuY29udGV4dCYmKHkubm9kZVR5cGV8fHkuanF1ZXJ5KT9TKHkpOlMuZXZlbnQseD1TLkRlZmVycmVkKCksYj1TLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSx3PXYuc3RhdHVzQ29kZXx8e30sYT17fSxzPXt9LHU9ImNhbmNlbGVkIixUPXtyZWFkeVN0YXRlOjAsZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoaCl7aWYoIW4pe249e307d2hpbGUodD1xdC5leGVjKHApKW5bdFsxXS50b0xvd2VyQ2FzZSgpKyIgIl09KG5bdFsxXS50b0xvd2VyQ2FzZSgpKyIgIl18fFtdKS5jb25jYXQodFsyXSl9dD1uW2UudG9Mb3dlckNhc2UoKSsiICJdfXJldHVybiBudWxsPT10P251bGw6dC5qb2luKCIsICIpfSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gaD9wOm51bGx9LHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbD09aCYmKGU9c1tlLnRvTG93ZXJDYXNlKCldPXNbZS50b0xvd2VyQ2FzZSgpXXx8ZSxhW2VdPXQpLHRoaXN9LG92ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWgmJih2Lm1pbWVUeXBlPWUpLHRoaXN9LHN0YXR1c0NvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoZSlpZihoKVQuYWx3YXlzKGVbVC5zdGF0dXNdKTtlbHNlIGZvcih0IGluIGUpd1t0XT1bd1t0XSxlW3RdXTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZXx8dTtyZXR1cm4gYyYmYy5hYm9ydCh0KSxsKDAsdCksdGhpc319O2lmKHgucHJvbWlzZShUKSx2LnVybD0oKGV8fHYudXJsfHxidC5ocmVmKSsiIikucmVwbGFjZShIdCxidC5wcm90b2NvbCsiLy8iKSx2LnR5cGU9dC5tZXRob2R8fHQudHlwZXx8di5tZXRob2R8fHYudHlwZSx2LmRhdGFUeXBlcz0odi5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKFApfHxbIiJdLG51bGw9PXYuY3Jvc3NEb21haW4pe3I9RS5jcmVhdGVFbGVtZW50KCJhIik7dHJ5e3IuaHJlZj12LnVybCxyLmhyZWY9ci5ocmVmLHYuY3Jvc3NEb21haW49TXQucHJvdG9jb2wrIi8vIitNdC5ob3N0IT1yLnByb3RvY29sKyIvLyIrci5ob3N0fWNhdGNoKGUpe3YuY3Jvc3NEb21haW49ITB9fWlmKHYuZGF0YSYmdi5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiB2LmRhdGEmJih2LmRhdGE9Uy5wYXJhbSh2LmRhdGEsdi50cmFkaXRpb25hbCkpLFd0KE90LHYsdCxUKSxoKXJldHVybiBUO2ZvcihpIGluKGc9Uy5ldmVudCYmdi5nbG9iYWwpJiYwPT1TLmFjdGl2ZSsrJiZTLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLHYudHlwZT12LnR5cGUudG9VcHBlckNhc2UoKSx2Lmhhc0NvbnRlbnQ9IUx0LnRlc3Qodi50eXBlKSxmPXYudXJsLnJlcGxhY2UoanQsIiIpLHYuaGFzQ29udGVudD92LmRhdGEmJnYucHJvY2Vzc0RhdGEmJjA9PT0odi5jb250ZW50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiYodi5kYXRhPXYuZGF0YS5yZXBsYWNlKE50LCIrIikpOihvPXYudXJsLnNsaWNlKGYubGVuZ3RoKSx2LmRhdGEmJih2LnByb2Nlc3NEYXRhfHwic3RyaW5nIj09dHlwZW9mIHYuZGF0YSkmJihmKz0oVHQudGVzdChmKT8iJiI6Ij8iKSt2LmRhdGEsZGVsZXRlIHYuZGF0YSksITE9PT12LmNhY2hlJiYoZj1mLnJlcGxhY2UoRHQsIiQxIiksbz0oVHQudGVzdChmKT8iJiI6Ij8iKSsiXz0iK3d0Lmd1aWQrKytvKSx2LnVybD1mK28pLHYuaWZNb2RpZmllZCYmKFMubGFzdE1vZGlmaWVkW2ZdJiZULnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixTLmxhc3RNb2RpZmllZFtmXSksUy5ldGFnW2ZdJiZULnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLFMuZXRhZ1tmXSkpLCh2LmRhdGEmJnYuaGFzQ29udGVudCYmITEhPT12LmNvbnRlbnRUeXBlfHx0LmNvbnRlbnRUeXBlKSYmVC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLHYuY29udGVudFR5cGUpLFQuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0Iix2LmRhdGFUeXBlc1swXSYmdi5hY2NlcHRzW3YuZGF0YVR5cGVzWzBdXT92LmFjY2VwdHNbdi5kYXRhVHlwZXNbMF1dKygiKiIhPT12LmRhdGFUeXBlc1swXT8iLCAiK1J0KyI7IHE9MC4wMSI6IiIpOnYuYWNjZXB0c1siKiJdKSx2LmhlYWRlcnMpVC5zZXRSZXF1ZXN0SGVhZGVyKGksdi5oZWFkZXJzW2ldKTtpZih2LmJlZm9yZVNlbmQmJighMT09PXYuYmVmb3JlU2VuZC5jYWxsKHksVCx2KXx8aCkpcmV0dXJuIFQuYWJvcnQoKTtpZih1PSJhYm9ydCIsYi5hZGQodi5jb21wbGV0ZSksVC5kb25lKHYuc3VjY2VzcyksVC5mYWlsKHYuZXJyb3IpLGM9V3QoUHQsdix0LFQpKXtpZihULnJlYWR5U3RhdGU9MSxnJiZtLnRyaWdnZXIoImFqYXhTZW5kIixbVCx2XSksaClyZXR1cm4gVDt2LmFzeW5jJiYwPHYudGltZW91dCYmKGQ9Qy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7VC5hYm9ydCgidGltZW91dCIpfSx2LnRpbWVvdXQpKTt0cnl7aD0hMSxjLnNlbmQoYSxsKX1jYXRjaChlKXtpZihoKXRocm93IGU7bCgtMSxlKX19ZWxzZSBsKC0xLCJObyBUcmFuc3BvcnQiKTtmdW5jdGlvbiBsKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD10O2h8fChoPSEwLGQmJkMuY2xlYXJUaW1lb3V0KGQpLGM9dm9pZCAwLHA9cnx8IiIsVC5yZWFkeVN0YXRlPTA8ZT80OjAsaT0yMDA8PWUmJmU8MzAwfHwzMDQ9PT1lLG4mJihzPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuY29udGVudHMsdT1lLmRhdGFUeXBlczt3aGlsZSgiKiI9PT11WzBdKXUuc2hpZnQoKSx2b2lkIDA9PT1yJiYocj1lLm1pbWVUeXBlfHx0LmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKSk7aWYocilmb3IoaSBpbiBzKWlmKHNbaV0mJnNbaV0udGVzdChyKSl7dS51bnNoaWZ0KGkpO2JyZWFrfWlmKHVbMF1pbiBuKW89dVswXTtlbHNle2ZvcihpIGluIG4pe2lmKCF1WzBdfHxlLmNvbnZlcnRlcnNbaSsiICIrdVswXV0pe289aTticmVha31hfHwoYT1pKX1vPW98fGF9aWYobylyZXR1cm4gbyE9PXVbMF0mJnUudW5zaGlmdChvKSxuW29dfSh2LFQsbikpLCFpJiYtMTxTLmluQXJyYXkoInNjcmlwdCIsdi5kYXRhVHlwZXMpJiZTLmluQXJyYXkoImpzb24iLHYuZGF0YVR5cGVzKTwwJiYodi5jb252ZXJ0ZXJzWyJ0ZXh0IHNjcmlwdCJdPWZ1bmN0aW9uKCl7fSkscz1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9e30sYz1lLmRhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKGEgaW4gZS5jb252ZXJ0ZXJzKWxbYS50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbYV07bz1jLnNoaWZ0KCk7d2hpbGUobylpZihlLnJlc3BvbnNlRmllbGRzW29dJiYobltlLnJlc3BvbnNlRmllbGRzW29dXT10KSwhdSYmciYmZS5kYXRhRmlsdGVyJiYodD1lLmRhdGFGaWx0ZXIodCxlLmRhdGFUeXBlKSksdT1vLG89Yy5zaGlmdCgpKWlmKCIqIj09PW8pbz11O2Vsc2UgaWYoIioiIT09dSYmdSE9PW8pe2lmKCEoYT1sW3UrIiAiK29dfHxsWyIqICIrb10pKWZvcihpIGluIGwpaWYoKHM9aS5zcGxpdCgiICIpKVsxXT09PW8mJihhPWxbdSsiICIrc1swXV18fGxbIiogIitzWzBdXSkpeyEwPT09YT9hPWxbaV06ITAhPT1sW2ldJiYobz1zWzBdLGMudW5zaGlmdChzWzFdKSk7YnJlYWt9aWYoITAhPT1hKWlmKGEmJmVbInRocm93cyJdKXQ9YSh0KTtlbHNlIHRyeXt0PWEodCl9Y2F0Y2goZSl7cmV0dXJue3N0YXRlOiJwYXJzZXJlcnJvciIsZXJyb3I6YT9lOiJObyBjb252ZXJzaW9uIGZyb20gIit1KyIgdG8gIitvfX19cmV0dXJue3N0YXRlOiJzdWNjZXNzIixkYXRhOnR9fSh2LHMsVCxpKSxpPyh2LmlmTW9kaWZpZWQmJigodT1ULmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoUy5sYXN0TW9kaWZpZWRbZl09dSksKHU9VC5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpKSYmKFMuZXRhZ1tmXT11KSksMjA0PT09ZXx8IkhFQUQiPT09di50eXBlP2w9Im5vY29udGVudCI6MzA0PT09ZT9sPSJub3Rtb2RpZmllZCI6KGw9cy5zdGF0ZSxvPXMuZGF0YSxpPSEoYT1zLmVycm9yKSkpOihhPWwsIWUmJmx8fChsPSJlcnJvciIsZTwwJiYoZT0wKSkpLFQuc3RhdHVzPWUsVC5zdGF0dXNUZXh0PSh0fHxsKSsiIixpP3gucmVzb2x2ZVdpdGgoeSxbbyxsLFRdKTp4LnJlamVjdFdpdGgoeSxbVCxsLGFdKSxULnN0YXR1c0NvZGUodyksdz12b2lkIDAsZyYmbS50cmlnZ2VyKGk/ImFqYXhTdWNjZXNzIjoiYWpheEVycm9yIixbVCx2LGk/bzphXSksYi5maXJlV2l0aCh5LFtULGxdKSxnJiYobS50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFtULHZdKSwtLVMuYWN0aXZlfHxTLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpKX1yZXR1cm4gVH0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIFMuZ2V0KGUsdCxuLCJqc29uIil9LGdldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBTLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX19KSxTLmVhY2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rpb24oZSxpKXtTW2ldPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBtKHQpJiYocj1yfHxuLG49dCx0PXZvaWQgMCksUy5hamF4KFMuZXh0ZW5kKHt1cmw6ZSx0eXBlOmksZGF0YVR5cGU6cixkYXRhOnQsc3VjY2VzczpufSxTLmlzUGxhaW5PYmplY3QoZSkmJmUpKX19KSxTLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oZSl7dmFyIHQ7Zm9yKHQgaW4gZS5oZWFkZXJzKSJjb250ZW50LXR5cGUiPT09dC50b0xvd2VyQ2FzZSgpJiYoZS5jb250ZW50VHlwZT1lLmhlYWRlcnNbdF18fCIiKX0pLFMuX2V2YWxVcmw9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBTLmFqYXgoe3VybDplLHR5cGU6IkdFVCIsZGF0YVR5cGU6InNjcmlwdCIsY2FjaGU6ITAsYXN5bmM6ITEsZ2xvYmFsOiExLGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oKXt9fSxkYXRhRmlsdGVyOmZ1bmN0aW9uKGUpe1MuZ2xvYmFsRXZhbChlLHQsbil9fSl9LFMuZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzWzBdJiYobShlKSYmKGU9ZS5jYWxsKHRoaXNbMF0pKSx0PVMoZSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJnQuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLHQubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpczt3aGlsZShlLmZpcnN0RWxlbWVudENoaWxkKWU9ZS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gZX0pLmFwcGVuZCh0aGlzKSksdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKG4pe3JldHVybiBtKG4pP3RoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLndyYXBJbm5lcihuLmNhbGwodGhpcyxlKSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1TKHRoaXMpLHQ9ZS5jb250ZW50cygpO3QubGVuZ3RoP3Qud3JhcEFsbChuKTplLmFwcGVuZChuKX0pfSx3cmFwOmZ1bmN0aW9uKHQpe3ZhciBuPW0odCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLndyYXBBbGwobj90LmNhbGwodGhpcyxlKTp0KX0pfSx1bndyYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGFyZW50KGUpLm5vdCgiYm9keSIpLmVhY2goZnVuY3Rpb24oKXtTKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KSx0aGlzfX0pLFMuZXhwci5wc2V1ZG9zLmhpZGRlbj1mdW5jdGlvbihlKXtyZXR1cm4hUy5leHByLnBzZXVkb3MudmlzaWJsZShlKX0sUy5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4hIShlLm9mZnNldFdpZHRofHxlLm9mZnNldEhlaWdodHx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl9LFMuYWpheFNldHRpbmdzLnhocj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IEMuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX07dmFyIEJ0PXswOjIwMCwxMjIzOjIwNH0sJHQ9Uy5hamF4U2V0dGluZ3MueGhyKCk7eS5jb3JzPSEhJHQmJiJ3aXRoQ3JlZGVudGlhbHMiaW4gJHQseS5hamF4PSR0PSEhJHQsUy5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGkpe3ZhciBvLGE7aWYoeS5jb3JzfHwkdCYmIWkuY3Jvc3NEb21haW4pcmV0dXJue3NlbmQ6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPWkueGhyKCk7aWYoci5vcGVuKGkudHlwZSxpLnVybCxpLmFzeW5jLGkudXNlcm5hbWUsaS5wYXNzd29yZCksaS54aHJGaWVsZHMpZm9yKG4gaW4gaS54aHJGaWVsZHMpcltuXT1pLnhockZpZWxkc1tuXTtmb3IobiBpbiBpLm1pbWVUeXBlJiZyLm92ZXJyaWRlTWltZVR5cGUmJnIub3ZlcnJpZGVNaW1lVHlwZShpLm1pbWVUeXBlKSxpLmNyb3NzRG9tYWlufHxlWyJYLVJlcXVlc3RlZC1XaXRoIl18fChlWyJYLVJlcXVlc3RlZC1XaXRoIl09IlhNTEh0dHBSZXF1ZXN0IiksZSlyLnNldFJlcXVlc3RIZWFkZXIobixlW25dKTtvPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe28mJihvPWE9ci5vbmxvYWQ9ci5vbmVycm9yPXIub25hYm9ydD1yLm9udGltZW91dD1yLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLCJhYm9ydCI9PT1lP3IuYWJvcnQoKToiZXJyb3IiPT09ZT8ibnVtYmVyIiE9dHlwZW9mIHIuc3RhdHVzP3QoMCwiZXJyb3IiKTp0KHIuc3RhdHVzLHIuc3RhdHVzVGV4dCk6dChCdFtyLnN0YXR1c118fHIuc3RhdHVzLHIuc3RhdHVzVGV4dCwidGV4dCIhPT0oci5yZXNwb25zZVR5cGV8fCJ0ZXh0Iil8fCJzdHJpbmciIT10eXBlb2Ygci5yZXNwb25zZVRleHQ/e2JpbmFyeTpyLnJlc3BvbnNlfTp7dGV4dDpyLnJlc3BvbnNlVGV4dH0sci5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpfX0sci5vbmxvYWQ9bygpLGE9ci5vbmVycm9yPXIub250aW1lb3V0PW8oImVycm9yIiksdm9pZCAwIT09ci5vbmFib3J0P3Iub25hYm9ydD1hOnIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PXIucmVhZHlTdGF0ZSYmQy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7byYmYSgpfSl9LG89bygiYWJvcnQiKTt0cnl7ci5zZW5kKGkuaGFzQ29udGVudCYmaS5kYXRhfHxudWxsKX1jYXRjaChlKXtpZihvKXRocm93IGV9fSxhYm9ydDpmdW5jdGlvbigpe28mJm8oKX19fSksUy5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe2UuY3Jvc3NEb21haW4mJihlLmNvbnRlbnRzLnNjcmlwdD0hMSl9KSxTLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6L1xiKD86amF2YXxlY21hKXNjcmlwdFxiL30sY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbihlKXtyZXR1cm4gUy5nbG9iYWxFdmFsKGUpLGV9fX0pLFMuYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihlKXt2b2lkIDA9PT1lLmNhY2hlJiYoZS5jYWNoZT0hMSksZS5jcm9zc0RvbWFpbiYmKGUudHlwZT0iR0VUIil9KSxTLmFqYXhUcmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24obil7dmFyIHIsaTtpZihuLmNyb3NzRG9tYWlufHxuLnNjcmlwdEF0dHJzKXJldHVybntzZW5kOmZ1bmN0aW9uKGUsdCl7cj1TKCI8c2NyaXB0PiIpLmF0dHIobi5zY3JpcHRBdHRyc3x8e30pLnByb3Aoe2NoYXJzZXQ6bi5zY3JpcHRDaGFyc2V0LHNyYzpuLnVybH0pLm9uKCJsb2FkIGVycm9yIixpPWZ1bmN0aW9uKGUpe3IucmVtb3ZlKCksaT1udWxsLGUmJnQoImVycm9yIj09PWUudHlwZT80MDQ6MjAwLGUudHlwZSl9KSxFLmhlYWQuYXBwZW5kQ2hpbGQoclswXSl9LGFib3J0OmZ1bmN0aW9uKCl7aSYmaSgpfX19KTt2YXIgX3QsenQ9W10sVXQ9Lyg9KVw/KD89JnwkKXxcP1w/LztTLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU9enQucG9wKCl8fFMuZXhwYW5kbysiXyIrd3QuZ3VpZCsrO3JldHVybiB0aGlzW2VdPSEwLGV9fSksUy5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGE9ITEhPT1lLmpzb25wJiYoVXQudGVzdChlLnVybCk/InVybCI6InN0cmluZyI9PXR5cGVvZiBlLmRhdGEmJjA9PT0oZS5jb250ZW50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiZVdC50ZXN0KGUuZGF0YSkmJiJkYXRhIik7aWYoYXx8Impzb25wIj09PWUuZGF0YVR5cGVzWzBdKXJldHVybiByPWUuanNvbnBDYWxsYmFjaz1tKGUuanNvbnBDYWxsYmFjayk/ZS5qc29ucENhbGxiYWNrKCk6ZS5qc29ucENhbGxiYWNrLGE/ZVthXT1lW2FdLnJlcGxhY2UoVXQsIiQxIityKTohMSE9PWUuanNvbnAmJihlLnVybCs9KFR0LnRlc3QoZS51cmwpPyImIjoiPyIpK2UuanNvbnArIj0iK3IpLGUuY29udmVydGVyc1sic2NyaXB0IGpzb24iXT1mdW5jdGlvbigpe3JldHVybiBvfHxTLmVycm9yKHIrIiB3YXMgbm90IGNhbGxlZCIpLG9bMF19LGUuZGF0YVR5cGVzWzBdPSJqc29uIixpPUNbcl0sQ1tyXT1mdW5jdGlvbigpe289YXJndW1lbnRzfSxuLmFsd2F5cyhmdW5jdGlvbigpe3ZvaWQgMD09PWk/UyhDKS5yZW1vdmVQcm9wKHIpOkNbcl09aSxlW3JdJiYoZS5qc29ucENhbGxiYWNrPXQuanNvbnBDYWxsYmFjayx6dC5wdXNoKHIpKSxvJiZtKGkpJiZpKG9bMF0pLG89aT12b2lkIDB9KSwic2NyaXB0In0pLHkuY3JlYXRlSFRNTERvY3VtZW50PSgoX3Q9RS5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHkpLmlubmVySFRNTD0iPGZvcm0+PC9mb3JtPjxmb3JtPjwvZm9ybT4iLDI9PT1fdC5jaGlsZE5vZGVzLmxlbmd0aCksUy5wYXJzZUhUTUw9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiJzdHJpbmciIT10eXBlb2YgZT9bXTooImJvb2xlYW4iPT10eXBlb2YgdCYmKG49dCx0PSExKSx0fHwoeS5jcmVhdGVIVE1MRG9jdW1lbnQ/KChyPSh0PUUuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKSkuY3JlYXRlRWxlbWVudCgiYmFzZSIpKS5ocmVmPUUubG9jYXRpb24uaHJlZix0LmhlYWQuYXBwZW5kQ2hpbGQocikpOnQ9RSksbz0hbiYmW10sKGk9Ti5leGVjKGUpKT9bdC5jcmVhdGVFbGVtZW50KGlbMV0pXTooaT14ZShbZV0sdCxvKSxvJiZvLmxlbmd0aCYmUyhvKS5yZW1vdmUoKSxTLm1lcmdlKFtdLGkuY2hpbGROb2RlcykpKTt2YXIgcixpLG99LFMuZm4ubG9hZD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGE9dGhpcyxzPWUuaW5kZXhPZigiICIpO3JldHVybi0xPHMmJihyPWh0KGUuc2xpY2UocykpLGU9ZS5zbGljZSgwLHMpKSxtKHQpPyhuPXQsdD12b2lkIDApOnQmJiJvYmplY3QiPT10eXBlb2YgdCYmKGk9IlBPU1QiKSwwPGEubGVuZ3RoJiZTLmFqYXgoe3VybDplLHR5cGU6aXx8IkdFVCIsZGF0YVR5cGU6Imh0bWwiLGRhdGE6dH0pLmRvbmUoZnVuY3Rpb24oZSl7bz1hcmd1bWVudHMsYS5odG1sKHI/UygiPGRpdj4iKS5hcHBlbmQoUy5wYXJzZUhUTUwoZSkpLmZpbmQocik6ZSl9KS5hbHdheXMobiYmZnVuY3Rpb24oZSx0KXthLmVhY2goZnVuY3Rpb24oKXtuLmFwcGx5KHRoaXMsb3x8W2UucmVzcG9uc2VUZXh0LHQsZV0pfSl9KSx0aGlzfSxTLmV4cHIucHNldWRvcy5hbmltYXRlZD1mdW5jdGlvbih0KXtyZXR1cm4gUy5ncmVwKFMudGltZXJzLGZ1bmN0aW9uKGUpe3JldHVybiB0PT09ZS5lbGVtfSkubGVuZ3RofSxTLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbD1TLmNzcyhlLCJwb3NpdGlvbiIpLGM9UyhlKSxmPXt9OyJzdGF0aWMiPT09bCYmKGUuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIikscz1jLm9mZnNldCgpLG89Uy5jc3MoZSwidG9wIiksdT1TLmNzcyhlLCJsZWZ0IiksKCJhYnNvbHV0ZSI9PT1sfHwiZml4ZWQiPT09bCkmJi0xPChvK3UpLmluZGV4T2YoImF1dG8iKT8oYT0ocj1jLnBvc2l0aW9uKCkpLnRvcCxpPXIubGVmdCk6KGE9cGFyc2VGbG9hdChvKXx8MCxpPXBhcnNlRmxvYXQodSl8fDApLG0odCkmJih0PXQuY2FsbChlLG4sUy5leHRlbmQoe30scykpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLXMudG9wK2EpLG51bGwhPXQubGVmdCYmKGYubGVmdD10LmxlZnQtcy5sZWZ0K2kpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLGYpOmMuY3NzKGYpfX0sUy5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbih0KXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT10P3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe1Mub2Zmc2V0LnNldE9mZnNldCh0aGlzLHQsZSl9KTt2YXIgZSxuLHI9dGhpc1swXTtyZXR1cm4gcj9yLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPyhlPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1yLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcse3RvcDplLnRvcCtuLnBhZ2VZT2Zmc2V0LGxlZnQ6ZS5sZWZ0K24ucGFnZVhPZmZzZXR9KTp7dG9wOjAsbGVmdDowfTp2b2lkIDB9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGUsdCxuLHI9dGhpc1swXSxpPXt0b3A6MCxsZWZ0OjB9O2lmKCJmaXhlZCI9PT1TLmNzcyhyLCJwb3NpdGlvbiIpKXQ9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlbHNle3Q9dGhpcy5vZmZzZXQoKSxuPXIub3duZXJEb2N1bWVudCxlPXIub2Zmc2V0UGFyZW50fHxuLmRvY3VtZW50RWxlbWVudDt3aGlsZShlJiYoZT09PW4uYm9keXx8ZT09PW4uZG9jdW1lbnRFbGVtZW50KSYmInN0YXRpYyI9PT1TLmNzcyhlLCJwb3NpdGlvbiIpKWU9ZS5wYXJlbnROb2RlO2UmJmUhPT1yJiYxPT09ZS5ub2RlVHlwZSYmKChpPVMoZSkub2Zmc2V0KCkpLnRvcCs9Uy5jc3MoZSwiYm9yZGVyVG9wV2lkdGgiLCEwKSxpLmxlZnQrPVMuY3NzKGUsImJvcmRlckxlZnRXaWR0aCIsITApKX1yZXR1cm57dG9wOnQudG9wLWkudG9wLVMuY3NzKHIsIm1hcmdpblRvcCIsITApLGxlZnQ6dC5sZWZ0LWkubGVmdC1TLmNzcyhyLCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vZmZzZXRQYXJlbnQ7d2hpbGUoZSYmInN0YXRpYyI9PT1TLmNzcyhlLCJwb3NpdGlvbiIpKWU9ZS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGV8fHJlfSl9fSksUy5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKHQsaSl7dmFyIG89InBhZ2VZT2Zmc2V0Ij09PWk7Uy5mblt0XT1mdW5jdGlvbihlKXtyZXR1cm4gJCh0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZih4KGUpP3I9ZTo5PT09ZS5ub2RlVHlwZSYmKHI9ZS5kZWZhdWx0Vmlldyksdm9pZCAwPT09bilyZXR1cm4gcj9yW2ldOmVbdF07cj9yLnNjcm9sbFRvKG8/ci5wYWdlWE9mZnNldDpuLG8/bjpyLnBhZ2VZT2Zmc2V0KTplW3RdPW59LHQsZSxhcmd1bWVudHMubGVuZ3RoKX19KSxTLmVhY2goWyJ0b3AiLCJsZWZ0Il0sZnVuY3Rpb24oZSxuKXtTLmNzc0hvb2tzW25dPUZlKHkucGl4ZWxQb3NpdGlvbixmdW5jdGlvbihlLHQpe2lmKHQpcmV0dXJuIHQ9V2UoZSxuKSxQZS50ZXN0KHQpP1MoZSkucG9zaXRpb24oKVtuXSsicHgiOnR9KX0pLFMuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LGZ1bmN0aW9uKGEscyl7Uy5lYWNoKHtwYWRkaW5nOiJpbm5lciIrYSxjb250ZW50OnMsIiI6Im91dGVyIithfSxmdW5jdGlvbihyLG8pe1MuZm5bb109ZnVuY3Rpb24oZSx0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoJiYocnx8ImJvb2xlYW4iIT10eXBlb2YgZSksaT1yfHwoITA9PT1lfHwhMD09PXQ/Im1hcmdpbiI6ImJvcmRlciIpO3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZSx0LG4pe3ZhciByO3JldHVybiB4KGUpPzA9PT1vLmluZGV4T2YoIm91dGVyIik/ZVsiaW5uZXIiK2FdOmUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2FdOjk9PT1lLm5vZGVUeXBlPyhyPWUuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KGUuYm9keVsic2Nyb2xsIithXSxyWyJzY3JvbGwiK2FdLGUuYm9keVsib2Zmc2V0IithXSxyWyJvZmZzZXQiK2FdLHJbImNsaWVudCIrYV0pKTp2b2lkIDA9PT1uP1MuY3NzKGUsdCxpKTpTLnN0eWxlKGUsdCxuLGkpfSxzLG4/ZTp2b2lkIDAsbil9fSl9KSxTLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihlLHQpe1MuZm5bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMub24odCxlKX19KSxTLmZuLmV4dGVuZCh7YmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoZSwiKioiKTp0aGlzLm9mZih0LGV8fCIqKiIsbil9LGhvdmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHR8fGUpfX0pLFMuZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihlLG4pe1MuZm5bbl09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMDxhcmd1bWVudHMubGVuZ3RoP3RoaXMub24obixudWxsLGUsdCk6dGhpcy50cmlnZ2VyKG4pfX0pO3ZhciBYdD0vXltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEwXSskL2c7Uy5wcm94eT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaTtpZigic3RyaW5nIj09dHlwZW9mIHQmJihuPWVbdF0sdD1lLGU9biksbShlKSlyZXR1cm4gcj1zLmNhbGwoYXJndW1lbnRzLDIpLChpPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodHx8dGhpcyxyLmNvbmNhdChzLmNhbGwoYXJndW1lbnRzKSkpfSkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxTLmd1aWQrKyxpfSxTLmhvbGRSZWFkeT1mdW5jdGlvbihlKXtlP1MucmVhZHlXYWl0Kys6Uy5yZWFkeSghMCl9LFMuaXNBcnJheT1BcnJheS5pc0FycmF5LFMucGFyc2VKU09OPUpTT04ucGFyc2UsUy5ub2RlTmFtZT1BLFMuaXNGdW5jdGlvbj1tLFMuaXNXaW5kb3c9eCxTLmNhbWVsQ2FzZT1YLFMudHlwZT13LFMubm93PURhdGUubm93LFMuaXNOdW1lcmljPWZ1bmN0aW9uKGUpe3ZhciB0PVMudHlwZShlKTtyZXR1cm4oIm51bWJlciI9PT10fHwic3RyaW5nIj09PXQpJiYhaXNOYU4oZS1wYXJzZUZsb2F0KGUpKX0sUy50cmltPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOihlKyIiKS5yZXBsYWNlKFh0LCIiKX0sImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIFN9KTt2YXIgVnQ9Qy5qUXVlcnksR3Q9Qy4kO3JldHVybiBTLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIEMuJD09PVMmJihDLiQ9R3QpLGUmJkMualF1ZXJ5PT09UyYmKEMualF1ZXJ5PVZ0KSxTfSwidW5kZWZpbmVkIj09dHlwZW9mIGUmJihDLmpRdWVyeT1DLiQ9UyksU30pOwo="}},"time_used":59,"timings":{"blocked":-1,"dns":3,"connect":9,"send":0,"wait":9,"receive":4,"ssl":29},"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.229Z","timestamp":1785120762229,"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=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\ncontent-type: image/png\r\ncontent-length: 1010\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Sun, 26 Jul 2026 05:38:23 GMT\r\nlast-modified: Wed, 30 Aug 2023 05:52:21 GMT\r\netag: \"0fb70690288109f594a3ee773a489890\"\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\nage: 76460\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: mzAgqMJgUFfqw3REzBvdy8eKFlOQ5iAsdqrYKwT3QkKpODGs5MNXUw==\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":1010,"size_decoded":1565,"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-07-27T05:24:59.843809Z","times_seen":1136,"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":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/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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.471Z","timestamp":1785120763471,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: 5cb4b3f34f35c76534700dbeb95a0c3d\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.744Z","timestamp":1785120763744,"http_version":"","security_state":"","security_info":null,"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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.599Z","timestamp":1785120761599,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.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://360trustwealthavenue.stglen.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.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: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 394947\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":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-27T05:13:02.326236Z","times_seen":247289,"resource_available":false,"data":"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"}},"time_used":88,"timings":{"blocked":-1,"dns":0,"connect":31,"send":0,"wait":18,"receive":38,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.824Z","timestamp":1785120761824,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 4099117\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 02:52:41 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=COwbPkEbP3BRMpESEOPjPL6HZYCn3B6bzv0qqWDvo53aSVDSWw%2FcpQxn6QEeVwyAljEgf4X%2Bi7Qxrn%2FNmjXv7qloWU2QYM4z5VQk4XrwwsRmFLwkKkzbNE68Dx9A\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859796bda0daa-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":19477,"size_decoded":7482,"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-07-27T05:24:59.830153Z","times_seen":1210,"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":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/3635.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.236Z","timestamp":1785120762236,"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=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\ncontent-type: image/png\r\ncontent-length: 2898\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Sun, 26 Jul 2026 03:07:53 GMT\r\nlast-modified: Thu, 16 Mar 2023 13:04:10 GMT\r\netag: \"0383d666db05fd337b9c48f5cca099b5\"\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 85490\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: MDoy-NdZJL_ujSJz1SyS28FGtsDS7ljRMwqJIX3wdAdHOZ484u8FLw==\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":3415,"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-07-27T05:24:59.936021Z","times_seen":1019,"resource_available":false,"data":"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"}},"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":"i.ytimg.com/vi_webp/Gc2en3nHxA4/default.webp","fqdn":"i.ytimg.com","domain":"ytimg.com","tld":"com"},"ip":{"addr":"142.250.178.118","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/Gc2en3nHxA4","date":"2026-07-27T02:52:43.390Z","timestamp":1785120763390,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /vi_webp/Gc2en3nHxA4/default.webp HTTP/1.1\r\nHost: i.ytimg.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://www.youtube.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-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":"HTTP/2 200 \r\naccept-ranges: bytes\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: 2218\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 02:46:32 GMT\r\nexpires: Mon, 27 Jul 2026 04:46:32 GMT\r\ncache-control: public, max-age=7200\r\nage: 371\r\netag: \"1398435974\"\r\ncontent-type: image/webp\r\nvary: Origin\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":0,"size_decoded":0,"mime_type":"image/webp","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.511Z","timestamp":1785120763511,"http_version":"HTTP/2","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/market-overview/?locale=en\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 02:52:43 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: 541c91884497e6c83daa360866a6fe47\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/11419.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.210Z","timestamp":1785120762210,"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=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\ncontent-type: image/png\r\ncontent-length: 1176\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 10 Jul 2026 07:52:55 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 03:37:21 GMT\r\ncache-control: public, max-age=86400\r\netag: \"39ab3ac48aa1693b8a5aef2412aadae4\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 83722\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Bum4WtOGQ6NvwCO5asEk4rWtKy1u-4BqN4sObgv6QQvw30o8WB_rHA==\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":1176,"size_decoded":1748,"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-07-27T05:24:59.956649Z","times_seen":605,"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":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":"s2.coinmarketcap.com/static/img/coins/64x64/22974.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.244Z","timestamp":1785120762244,"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=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\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: Sun, 26 Jul 2026 04:05:25 GMT\r\netag: \"a062e2c769af25c180143b158a03c7c9\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 82038\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: zeG9OFKVkq57tJmXn8qYlBqNkPGGoNx8osr1DcRi8s_nXI91gjH2bw==\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":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-07-27T05:24:59.861835Z","times_seen":1019,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABhUlEQVR4Xu2Zi06DQBBFF8rTGiVq/P8/JGogiMDYpSLmEq22bLdm7kmmtLeb0J4OJQxGlGMw0AYFYKANCsBAGxSAgTYoAANtUAAG2qAADLRBARhogwIw0AYFYKCNswhomgajPzHsqusH6e2TlXEuIEkSiaJI0jQ9upI0F2PCUcTaOBNgjBk/+FplBfyLDui6TsIwXHyBUyrPc2nbFne1Ck4EHPr1o3jX2tmV3BZ3i/emipNsXBOEEe5iVZwIsH96tlt/qu31zSL7Wk/PL/PrwT66YXUBB/k4kG0XhJt43PrEq4Cp3YuikLIsYeF5uAgBmyiR1/YNFp6HixBgy8Up7jdQAAbOoQAKGDcUQAEUQAEUQAEUoFCA7K/vp1mfrfuHx/G63wdeBFisADvnm7sgk77vcZlzvAio61qqqgIBuTgc/HyLFwETdnwWBMGngCzf4hLneBUwTwD3nHoD5Rg8C/APBWCgDQrAQBsUgIE2KAADbVAABtqgAAy0QQEYaIMCMNCGegHveof2oBXRtqkAAAAASUVORK5CYII="}},"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/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://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.455Z","timestamp":1785120763455,"http_version":"HTTP/2","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\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 02:52:43 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: db5a853c25e1085748408892ee339e12\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.502Z","timestamp":1785120763502,"http_version":"HTTP/2","security_state":"","security_info":null,"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/market-overview/?locale=en\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 02:52:43 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: a2d741d7fd3af4d1c99e2652e5cf31bd\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-07-27T05:14:11.3544Z","times_seen":17556491,"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.081Z","timestamp":1785120763081,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 56526c7c5b433d76259f30789739e422\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-27T05:26:55.634847Z","times_seen":214,"resource_available":false,"data":"OnJvb3QsW2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1waG9uZTo1NnB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtdGFibGV0OjgwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3A6MTAwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmU6MTZweDstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLXRhYmxldDoyNHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wOjMycHg7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1kZXNrdG9wOjQwcHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0OjE2cHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1sYXB0b3A6MjRweDstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWRlc2t0b3A6MjRweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXBob25lOjU2cHg7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQ6ODBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcDoxMDBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3A6MTIwcHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0OjI0cHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3A6MzJweDstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3A6NDBweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXBob25lOjE2cHg7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZS10YWJsZXQ6MTZweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcDoyNHB4Oy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcDoyNHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLXBob25lOjgwcHg7LS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0OjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcDoxNjBweDstLXYtcmh5dGhtLXNwYWNpbmctMS1kZXNrdG9wOjIwMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0Ojg4cHg7LS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3A6MTYwcHg7LS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmU6NDhweDstLXYtcmh5dGhtLXNwYWNpbmctMy10YWJsZXQ6NjRweDstLXYtcmh5dGhtLXNwYWNpbmctMy1sYXB0b3A6ODhweDstLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy00LXBob25lOjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0OjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcDo4MHB4Oy0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lOjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0OjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wOjQwcHg7LS12LXJoeXRobS1zcGFjaW5nLTUtZGVza3RvcDo0OHB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy0xOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMS1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy00OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNC1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lKX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fUBzdXBwb3J0cyBub3QgKGNvbnRhaW5lci10eXBlOmlubGluZS1zaXplKXtAbWVkaWEgKG1pbi13aWR0aDo3MDJweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDcwMnB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0KX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KXs6cm9vdHstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fUBtZWRpYSAobWluLXdpZHRoOjE0NDBweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEzNzRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19fUBjb250YWluZXIgY29udGVudC1jb250YWluZXIgKG1pbi13aWR0aDogMTM3NHB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0zOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWRlc2t0b3ApfX0udHYtdGV4dCBvbCwudHYtdGV4dCBwLC50di10ZXh0IHVse2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS42O21hcmdpbi1ib3R0b206MTJweH0udHYtdGV4dCBoMXtmb250LXNpemU6NDVweDttYXJnaW4tYm90dG9tOjMwcHg7bWFyZ2luLXRvcDozMHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDF7Zm9udC1zaXplOjM4cHh9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtdGV4dCBoMXtmb250LXNpemU6MzJweH19QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di10ZXh0IGgxe2ZvbnQtc2l6ZToyOHB4fX0udHYtdGV4dCBoMntmb250LXNpemU6MzFweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di10ZXh0IGgye2ZvbnQtc2l6ZToyNnB4fX1AbWVkaWEgKG1heC13aWR0aDo0NzlweCl7LnR2LXRleHQgaDJ7Zm9udC1zaXplOjI0cHh9fS50di10ZXh0IGgze2ZvbnQtc2l6ZToxN3B4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDN7Zm9udC1zaXplOjE2cHh9fS50di10ZXh0IGg0e2ZvbnQtc2l6ZToxNXB4fS50di10ZXh0IGgyLC50di10ZXh0IGgzLC50di10ZXh0IGg0e21hcmdpbi1ib3R0b206MjBweDttYXJnaW4tdG9wOjIwcHh9LnR2LXRleHQgaDE6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDI6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDM6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDQ6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS50di10ZXh0IG9sLC50di10ZXh0IHVse2xpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlfS50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIG9sLC50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIHVse2xpc3Qtc3R5bGUtcG9zaXRpb246b3V0c2lkZTtwYWRkaW5nLWlubGluZS1zdGFydDoxN3B4fS50di10ZXh0IGE6bm90KC50di1idXR0b24pOm5vdCgudHYtY2hhcnQtdmlld19fZGVzY3JpcHRpb25fX3RhZyksLnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0udHYtdGV4dCBhOm5vdCgudHYtYnV0dG9uKTpub3QoLnR2LWNoYXJ0LXZpZXdfX2Rlc2NyaXB0aW9uX190YWcpOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0udHYtdGV4dC0tZGFya2JnLC50di10ZXh0LS1kYXJrYmcgb2wsLnR2LXRleHQtLWRhcmtiZyBwLC50di10ZXh0LS1kYXJrYmcgdWx7Y29sb3I6I2ZmZn0uYXJpYS1saXZlLXJlZ2lvbnMtd3JhcHBlcntib3JkZXI6MDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7Y2xpcDpyZWN0KDAsMCwwLDApO292ZXJmbG93LXg6aGlkZGVufWh0bWx7Y29sb3Itc2NoZW1lOmxpZ2h0fWh0bWwudGhlbWUtZGFya3tjb2xvci1zY2hlbWU6ZGFya31odG1sLnRoZW1lLWRhcmsgaWZyYW1le2NvbG9yLXNjaGVtZTpub3JtYWx9Ym9keXtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLXdpZHRoOjMyMHB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5Lmktbm8tc2Nyb2xse292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnR9Ym9keS5pLW5vLXBhZGRpbmd7cGFkZGluZzowIWltcG9ydGFudH06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXNlbGVjdGlvbi1iZyl9LnNjcmVlbi1pd3I5T3Rwc3tib3R0b206MDtkaXNwbGF5Om5vbmU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDo4fS5zY3JlZW4taXdyOU90cHMuZmFkZS1pd3I5T3Rwc3thbmltYXRpb246c2NyZWVuZmFkZS1pd3I5T3RwcyAuM3MgZWFzZSBiYWNrd2FyZHM7ZGlzcGxheTpibG9ja31Aa2V5ZnJhbWVzIHNjcmVlbmZhZGUtaXdyOU90cHN7MCV7b3BhY2l0eTowfX0ucGFuZVNlcGFyYXRvci1haTlNWEo5a3ttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5a3toZWlnaHQ6N3B4O2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotM3B4O3dpZHRoOjEwMCU7ei1pbmRleDo1MH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLm1vYmlsZS1haTlNWEo5a3toZWlnaHQ6MTFweDt0b3A6LTVweH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmFjdGl2ZS1haTlNWEo5aywucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmhvdmVyZWQtYWk5TVhKOWssLnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5ay5zZWxlY3RlZC1haTlNWEo5a3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2N1cnNvcjpyb3ctcmVzaXplfS5wYW5lU2VwYXJhdG9yLWFpOU1YSjlrIC5oYW5kbGUtYWk5TVhKOWsuYWN0aXZlLWFpOU1YSjlrOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGp7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJTt6LWluZGV4OjN9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlci1iVENUUkNUai5oaWRkZW4tYlRDVFJDVGp7dmlzaWJpbGl0eTpoaWRkZW59LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7d2lkdGg6MTAwJX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1Rqe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtjb2x1bW4tZ2FwOjJweDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6MCAzcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtY2hpbGQoMSBvZiA6bm90KC5qcy1oaWRkZW4pKXtib3JkZXItc3RhcnQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czozcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtbGFzdC1jaGlsZCgtbisxIG9mIDpub3QoLmpzLWhpZGRlbikpe2JvcmRlci1lbmQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6M3B4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqOmhvdmVyOm5vdCgucmVhZG9ubHkpe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9fS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqLmV4cGFuZGVkLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24tYlRDVFJDVGp7dHJhbnNmb3JtOnNjYWxlWSgtMSl9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogZGl2e3BvaW50ZXItZXZlbnRzOmF1dG99LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dC1iVENUUkNUant3aGl0ZS1zcGFjZTpub3dyYXB9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93bi1iVENUUkNUanthbGlnbi1zZWxmOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1Rqe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGogLnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUantjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGo6aG92ZXI6bm90KC5yZWFkb25seSl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0ucHJpY2UtYXhpc3tjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGV9LnByaWNlLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnByaWNlLWF4aXMtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wcmljZS1heGlzLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnByaWNlLWF4aXNfX21vZGVCdXR0b25ze2JvdHRvbTowO21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZToxcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOmNhbGMoMTAwJSAtIDJweCk7ei1pbmRleDozfS5wcmljZS1heGlzX19tb2RlQnV0dG9uc19oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnBhbmV7Y3Vyc29yOmNyb3NzaGFpcjtvdmVyZmxvdzpoaWRkZW59LnBhbmUtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wYW5lLS1jdXJzb3ItZXJhc2Vye2N1cnNvcjp1cmwoZXJhc2VyLmM4MDYxMGEwNGE5MmQyNDY1YjAzLmN1ciksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRvdHtjdXJzb3I6dXJsKGRvdC4zZDYxN2I2YjAxZWRiYTgzYTdmNC5jdXIpLGRlZmF1bHR9LnBhbmUtLWN1cnNvci1wZXJmb3JtYW5jZXtjdXJzb3I6dXJsKHBlcmZvcm1hbmNlLjc2OWNmOWRkYTJlZGU3ZDEyYjc0LnN2ZyksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRlZmF1bHQsLnBhbmUtLWN1cnNvci1kZW1vbnN0cmF0aW9ue2N1cnNvcjpkZWZhdWx0fS5wYW5lLS1jdXJzb3ItZ3JhYmJpbmd7Y3Vyc29yOmdyYWJiaW5nfS5wYW5lLS1jdXJzb3Item9vbS1pbntjdXJzb3I6em9vbS1pbn0ucGFuZS0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5wYW5lLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5wYW5lLS1jdXJzb3Itbm9uZXtjdXJzb3I6bm9uZX0udGltZS1heGlze2N1cnNvcjpkZWZhdWx0fS50aW1lLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnRpbWUtYXhpcy0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5pY29uLWlyQTBvYUg4ey0tdWktbGliLWluLWluZm9ybWVyLWljb24tY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQpOy0taWNvbi1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1saWdodCl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtLWpHSTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC0takdJOnZhcigtLWNvbG9yLXR2LWJsdWUtODAwKX0uY2hhcnQtd2lkZ2V0e2JvcmRlci1zdHlsZTpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MjU2cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo1MTJweH0uY2hhcnQtbWFya3VwLXRhYmxle2JvcmRlcjpub25lO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDowcHh9LmNoYXJ0LW1hcmt1cC10YWJsZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyfS5jaGFydC1ndWktd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2x1bW4tZ2FwOjRweDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6NHB4IDA7cGFkZGluZy1pbmxpbmU6NHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5jaGFydC1ndWktd3JhcHBlcl9fbGVnZW5ke2ZsZXg6MSAxIGF1dG87bWF4LXdpZHRoOjEwMCV9LmNoYXJ0LWd1aS13cmFwcGVyX19wYW5lQ29udHJvbHN7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b30uYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXN7LS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXM6NHB4fS5jaGFydC1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSl9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lcntjb250YWluOnN0cmljdDtwb3NpdGlvbjpyZWxhdGl2ZX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmUtYmcpO2JvcmRlcjpub25lO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3otaW5kZXg6MH0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXI6MnB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yLHZhcigtLV8wLS1qR0kpKTtib3R0b206MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5jaGFydC1wYWdlIC5jaGFydC1jb250YWluZXIuaW5hY3RpdmUgLmJhY2stdG8tcHJlc2VudHtkaXNwbGF5Om5vbmV9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lci5uby1oZWFkZXItdG9vbGJhciAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntib3JkZXItc3RhcnQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4KX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm5vLWJvdHRvbS10b29sYmFyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci1lbmQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCl9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1sZWZ0LWNoYXJ0IC5jaGFydC1jb250YWluZXItYm9yZGVyLC5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWxlZnQtY2hhcnQubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4IDAgMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydCAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydC5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwIDRweCAwIDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWZ1bGwtd2lkdGgtY2hhcnQgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXJ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1mdWxsLXdpZHRoLWNoYXJ0Lm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCA0cHggMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5uby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzLmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXIsLmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMuYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpfS5jaGFydHNTcGxpdHRlci14cXNhT3g5Q3tiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCI7cG9zaXRpb246YWJzb2x1dGV9LmNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDLmhvdmVyZWQteHFzYU94OUN7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX0uY2hhcnQtY29udHJvbHMtYmFye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSk7Ym9yZGVyLXJhZGl1czowIDAgNHB4IDRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGFpbjpzdHJpY3Q7aGVpZ2h0OjM5cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlfS5uby1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXJ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uby1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udHJvbHMtYmFye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXIubXVsdGlwbGUtbGF5b3V0e2JvcmRlci1yYWRpdXM6NHB4fQ=="}},"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":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.737Z","timestamp":1785120763737,"http_version":"","security_state":"","security_info":null,"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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/3552.4c5535183b7a0330a89d.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.760Z","timestamp":1785120763760,"http_version":"","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"cdn.tailwindcss.com/3.4.17","fqdn":"cdn.tailwindcss.com","domain":"tailwindcss.com","tld":"com"},"ip":{"addr":"104.26.2.143","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.182Z","timestamp":1785120761182,"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":"tailwindcss.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 17 Jul 2026 20:38:38 GMT","end":"Thu, 15 Oct 2026 21:38:35 GMT"},"fingerprint":{"sha1":"AF:4F:AD:59:FA:ED:77:04:0D:32:56:48:B0:E5:1B:38:67:6D:7D:02","sha256":"E7:FC:CF:2D:6A:CC:F5:3C:4C:1E:9D:CD:21:8A:72:A3:DB:7C:B1:50:0F:83:D1:DC:E4:AD:25:90:8F:98:37:0F"}}},"request":{"raw":"GET /3.4.17 HTTP/1.1\r\nHost: cdn.tailwindcss.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://360trustwealthavenue.stglen.com/\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\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 02:52:41 GMT\r\ncontent-type: text/javascript\r\ncache-control: max-age=31536000\r\ncontent-encoding: br\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: MISS\r\nx-vercel-id: fra1::iad1::bj55r-1781146628084-40ce7f37f405\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\nage: 3974132\r\nlast-modified: Wed, 01 Jul 2026 01:49:34 GMT\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=G9TVg7N77fEqche2FuJs4jvlBJFb6A6Z%2Btp9oH8Yr34msMnLVz%2Fj6XVlpk%2BPi4rGTUIy7P623h0JOKqaPp8Ojq8nogC%2Bsc5FsXBikwWKMiuVT5bj8t7Rv%2B4EZCx%2BXZHKwpOU3XY%3D\"}]}\r\ncf-ray: a21859756e3e5687-OSL\r\nX-Firefox-Spdy: h2\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":407279,"size_decoded":127126,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (52853)","md5":"7a614b9a197e532c00d09a23b0996b5f","sha1":"1ff1738a40f3716e30e9031b181b0955ae578955","sha256":"176e894661aa9cdc9a5cba6c720044cbbf7b8bd80d1c9a142a7c24b1b6c50d15","sha512":"a67bc26f52d938358471be5671ff4b79e11af4e68b486aaf73a35a4c9bf3777aab51101af81563b4e5b7ba4b04dd8971fcfa9ee2c41fb10a0c1ee5604a99abd6","ssdeep":"12288:fpgrZxSAoNbJb0Wie75aUXGuyQZhK4O0s:RCVoNB0Wie75aUWmnO0s","tlshash":"e8844aa57396702647eb51e850ea1042f2beaa38840c44bcf7edd4da39e5e4440fbf79","first_seen":"2025-07-28T16:58:08.903462Z","last_seen":"2026-07-27T05:13:46.43355Z","times_seen":46569,"resource_available":true,"data":"KCgpPT57dmFyIHF2PU9iamVjdC5jcmVhdGU7dmFyIEhpPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgJHY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgTHY9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7dmFyIE12PU9iamVjdC5nZXRQcm90b3R5cGVPZixOdj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBkZj1yPT5IaShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaGY9cj0+e2lmKHR5cGVvZiByZXF1aXJlIT0idW5kZWZpbmVkIilyZXR1cm4gcmVxdWlyZShyKTt0aHJvdyBuZXcgRXJyb3IoJ0R5bmFtaWMgcmVxdWlyZSBvZiAiJytyKyciIGlzIG5vdCBzdXBwb3J0ZWQnKX07dmFyIFA9KHIsZSk9PigpPT4ociYmKGU9cihyPTApKSxlKTt2YXIgeD0ocixlKT0+KCk9PihlfHxyKChlPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxlKSxlLmV4cG9ydHMpLEdlPShyLGUpPT57ZGYocik7Zm9yKHZhciB0IGluIGUpSGkocix0LHtnZXQ6ZVt0XSxlbnVtZXJhYmxlOiEwfSl9LEJ2PShyLGUsdCk9PntpZihlJiZ0eXBlb2YgZT09Im9iamVjdCJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24iKWZvcihsZXQgaSBvZiBMdihlKSkhTnYuY2FsbChyLGkpJiZpIT09ImRlZmF1bHQiJiZIaShyLGkse2dldDooKT0+ZVtpXSxlbnVtZXJhYmxlOiEodD0kdihlLGkpKXx8dC5lbnVtZXJhYmxlfSk7cmV0dXJuIHJ9LHBlPXI9PkJ2KGRmKEhpKHIhPW51bGw/cXYoTXYocikpOnt9LCJkZWZhdWx0IixyJiZyLl9fZXNNb2R1bGUmJiJkZWZhdWx0ImluIHI/e2dldDooKT0+ci5kZWZhdWx0LGVudW1lcmFibGU6ITB9Ont2YWx1ZTpyLGVudW1lcmFibGU6ITB9KSkscik7dmFyIG0sdT1QKCgpPT57bT17cGxhdGZvcm06IiIsZW52Ont9LHZlcnNpb25zOntub2RlOiIxNC4xNy42In19fSk7dmFyIEZ2LGJlLGZ0PVAoKCk9Pnt1KCk7RnY9MCxiZT17cmVhZEZpbGVTeW5jOnI9PnNlbGZbcl18fCIiLHN0YXRTeW5jOigpPT4oe210aW1lTXM6RnYrK30pLHByb21pc2VzOntyZWFkRmlsZTpyPT5Qcm9taXNlLnJlc29sdmUoc2VsZltyXXx8IiIpfX19KTt2YXIgRnM9eCgob1AsZ2YpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgbWY9Y2xhc3N7Y29uc3RydWN0b3IoZT17fSl7aWYoIShlLm1heFNpemUmJmUubWF4U2l6ZT4wKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJgbWF4U2l6ZWAgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCIpO2lmKHR5cGVvZiBlLm1heEFnZT09Im51bWJlciImJmUubWF4QWdlPT09MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJgbWF4QWdlYCBtdXN0IGJlIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwIik7dGhpcy5tYXhTaXplPWUubWF4U2l6ZSx0aGlzLm1heEFnZT1lLm1heEFnZXx8MS8wLHRoaXMub25FdmljdGlvbj1lLm9uRXZpY3Rpb24sdGhpcy5jYWNoZT1uZXcgTWFwLHRoaXMub2xkQ2FjaGU9bmV3IE1hcCx0aGlzLl9zaXplPTB9X2VtaXRFdmljdGlvbnMoZSl7aWYodHlwZW9mIHRoaXMub25FdmljdGlvbj09ImZ1bmN0aW9uIilmb3IobGV0W3QsaV1vZiBlKXRoaXMub25FdmljdGlvbih0LGkudmFsdWUpfV9kZWxldGVJZkV4cGlyZWQoZSx0KXtyZXR1cm4gdHlwZW9mIHQuZXhwaXJ5PT0ibnVtYmVyIiYmdC5leHBpcnk8PURhdGUubm93KCk/KHR5cGVvZiB0aGlzLm9uRXZpY3Rpb249PSJmdW5jdGlvbiImJnRoaXMub25FdmljdGlvbihlLHQudmFsdWUpLHRoaXMuZGVsZXRlKGUpKTohMX1fZ2V0T3JEZWxldGVJZkV4cGlyZWQoZSx0KXtpZih0aGlzLl9kZWxldGVJZkV4cGlyZWQoZSx0KT09PSExKXJldHVybiB0LnZhbHVlfV9nZXRJdGVtVmFsdWUoZSx0KXtyZXR1cm4gdC5leHBpcnk/dGhpcy5fZ2V0T3JEZWxldGVJZkV4cGlyZWQoZSx0KTp0LnZhbHVlfV9wZWVrKGUsdCl7bGV0IGk9dC5nZXQoZSk7cmV0dXJuIHRoaXMuX2dldEl0ZW1WYWx1ZShlLGkpfV9zZXQoZSx0KXt0aGlzLmNhY2hlLnNldChlLHQpLHRoaXMuX3NpemUrKyx0aGlzLl9zaXplPj10aGlzLm1heFNpemUmJih0aGlzLl9zaXplPTAsdGhpcy5fZW1pdEV2aWN0aW9ucyh0aGlzLm9sZENhY2hlKSx0aGlzLm9sZENhY2hlPXRoaXMuY2FjaGUsdGhpcy5jYWNoZT1uZXcgTWFwKX1fbW92ZVRvUmVjZW50KGUsdCl7dGhpcy5vbGRDYWNoZS5kZWxldGUoZSksdGhpcy5fc2V0KGUsdCl9Kl9lbnRyaWVzQXNjZW5kaW5nKCl7Zm9yKGxldCBlIG9mIHRoaXMub2xkQ2FjaGUpe2xldFt0LGldPWU7dGhpcy5jYWNoZS5oYXModCl8fHRoaXMuX2RlbGV0ZUlmRXhwaXJlZCh0LGkpPT09ITEmJih5aWVsZCBlKX1mb3IobGV0IGUgb2YgdGhpcy5jYWNoZSl7bGV0W3QsaV09ZTt0aGlzLl9kZWxldGVJZkV4cGlyZWQodCxpKT09PSExJiYoeWllbGQgZSl9fWdldChlKXtpZih0aGlzLmNhY2hlLmhhcyhlKSl7bGV0IHQ9dGhpcy5jYWNoZS5nZXQoZSk7cmV0dXJuIHRoaXMuX2dldEl0ZW1WYWx1ZShlLHQpfWlmKHRoaXMub2xkQ2FjaGUuaGFzKGUpKXtsZXQgdD10aGlzLm9sZENhY2hlLmdldChlKTtpZih0aGlzLl9kZWxldGVJZkV4cGlyZWQoZSx0KT09PSExKXJldHVybiB0aGlzLl9tb3ZlVG9SZWNlbnQoZSx0KSx0LnZhbHVlfX1zZXQoZSx0LHttYXhBZ2U6aT10aGlzLm1heEFnZT09PTEvMD92b2lkIDA6RGF0ZS5ub3coKSt0aGlzLm1heEFnZX09e30pe3RoaXMuY2FjaGUuaGFzKGUpP3RoaXMuY2FjaGUuc2V0KGUse3ZhbHVlOnQsbWF4QWdlOml9KTp0aGlzLl9zZXQoZSx7dmFsdWU6dCxleHBpcnk6aX0pfWhhcyhlKXtyZXR1cm4gdGhpcy5jYWNoZS5oYXMoZSk/IXRoaXMuX2RlbGV0ZUlmRXhwaXJlZChlLHRoaXMuY2FjaGUuZ2V0KGUpKTp0aGlzLm9sZENhY2hlLmhhcyhlKT8hdGhpcy5fZGVsZXRlSWZFeHBpcmVkKGUsdGhpcy5vbGRDYWNoZS5nZXQoZSkpOiExfXBlZWsoZSl7aWYodGhpcy5jYWNoZS5oYXMoZSkpcmV0dXJuIHRoaXMuX3BlZWsoZSx0aGlzLmNhY2hlKTtpZih0aGlzLm9sZENhY2hlLmhhcyhlKSlyZXR1cm4gdGhpcy5fcGVlayhlLHRoaXMub2xkQ2FjaGUpfWRlbGV0ZShlKXtsZXQgdD10aGlzLmNhY2hlLmRlbGV0ZShlKTtyZXR1cm4gdCYmdGhpcy5fc2l6ZS0tLHRoaXMub2xkQ2FjaGUuZGVsZXRlKGUpfHx0fWNsZWFyKCl7dGhpcy5jYWNoZS5jbGVhcigpLHRoaXMub2xkQ2FjaGUuY2xlYXIoKSx0aGlzLl9zaXplPTB9cmVzaXplKGUpe2lmKCEoZSYmZT4wKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJgbWF4U2l6ZWAgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCIpO2xldCB0PVsuLi50aGlzLl9lbnRyaWVzQXNjZW5kaW5nKCldLGk9dC5sZW5ndGgtZTtpPDA/KHRoaXMuY2FjaGU9bmV3IE1hcCh0KSx0aGlzLm9sZENhY2hlPW5ldyBNYXAsdGhpcy5fc2l6ZT10Lmxlbmd0aCk6KGk+MCYmdGhpcy5fZW1pdEV2aWN0aW9ucyh0LnNsaWNlKDAsaSkpLHRoaXMub2xkQ2FjaGU9bmV3IE1hcCh0LnNsaWNlKGkpKSx0aGlzLmNhY2hlPW5ldyBNYXAsdGhpcy5fc2l6ZT0wKSx0aGlzLm1heFNpemU9ZX0qa2V5cygpe2ZvcihsZXRbZV1vZiB0aGlzKXlpZWxkIGV9KnZhbHVlcygpe2ZvcihsZXRbLGVdb2YgdGhpcyl5aWVsZCBlfSpbU3ltYm9sLml0ZXJhdG9yXSgpe2ZvcihsZXQgZSBvZiB0aGlzLmNhY2hlKXtsZXRbdCxpXT1lO3RoaXMuX2RlbGV0ZUlmRXhwaXJlZCh0LGkpPT09ITEmJih5aWVsZFt0LGkudmFsdWVdKX1mb3IobGV0IGUgb2YgdGhpcy5vbGRDYWNoZSl7bGV0W3QsaV09ZTt0aGlzLmNhY2hlLmhhcyh0KXx8dGhpcy5fZGVsZXRlSWZFeHBpcmVkKHQsaSk9PT0hMSYmKHlpZWxkW3QsaS52YWx1ZV0pfX0qZW50cmllc0Rlc2NlbmRpbmcoKXtsZXQgZT1bLi4udGhpcy5jYWNoZV07Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDstLXQpe2xldCBpPWVbdF0sW24sc109aTt0aGlzLl9kZWxldGVJZkV4cGlyZWQobixzKT09PSExJiYoeWllbGRbbixzLnZhbHVlXSl9ZT1bLi4udGhpcy5vbGRDYWNoZV07Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDstLXQpe2xldCBpPWVbdF0sW24sc109aTt0aGlzLmNhY2hlLmhhcyhuKXx8dGhpcy5fZGVsZXRlSWZFeHBpcmVkKG4scyk9PT0hMSYmKHlpZWxkW24scy52YWx1ZV0pfX0qZW50cmllc0FzY2VuZGluZygpe2ZvcihsZXRbZSx0XW9mIHRoaXMuX2VudHJpZXNBc2NlbmRpbmcoKSl5aWVsZFtlLHQudmFsdWVdfWdldCBzaXplKCl7aWYoIXRoaXMuX3NpemUpcmV0dXJuIHRoaXMub2xkQ2FjaGUuc2l6ZTtsZXQgZT0wO2ZvcihsZXQgdCBvZiB0aGlzLm9sZENhY2hlLmtleXMoKSl0aGlzLmNhY2hlLmhhcyh0KXx8ZSsrO3JldHVybiBNYXRoLm1pbih0aGlzLl9zaXplK2UsdGhpcy5tYXhTaXplKX19O2dmLmV4cG9ydHM9bWZ9KTt2YXIgeWYsYmY9UCgoKT0+e3UoKTt5Zj1yPT5yJiZyLl9oYXNofSk7ZnVuY3Rpb24gV2kocil7cmV0dXJuIHlmKHIse2lnbm9yZVVua25vd246ITB9KX12YXIgd2Y9UCgoKT0+e3UoKTtiZigpfSk7ZnVuY3Rpb24geHQocil7aWYocj1gJHtyfWAscj09PSIwIilyZXR1cm4iMCI7aWYoL15bKy1dPyhcZCt8XGQqXC5cZCspKGVbKy1dP1xkKyk/KCV8XHcrKT8kLy50ZXN0KHIpKXJldHVybiByLnJlcGxhY2UoL15bKy1dPy8sdD0+dD09PSItIj8iIjoiLSIpO2xldCBlPVsidmFyIiwiY2FsYyIsIm1pbiIsIm1heCIsImNsYW1wIl07Zm9yKGxldCB0IG9mIGUpaWYoci5pbmNsdWRlcyhgJHt0fShgKSlyZXR1cm5gY2FsYygke3J9ICogLTEpYH12YXIgR2k9UCgoKT0+e3UoKX0pO3ZhciB2Zix4Zj1QKCgpPT57dSgpO3ZmPVsicHJlZmxpZ2h0IiwiY29udGFpbmVyIiwiYWNjZXNzaWJpbGl0eSIsInBvaW50ZXJFdmVudHMiLCJ2aXNpYmlsaXR5IiwicG9zaXRpb24iLCJpbnNldCIsImlzb2xhdGlvbiIsInpJbmRleCIsIm9yZGVyIiwiZ3JpZENvbHVtbiIsImdyaWRDb2x1bW5TdGFydCIsImdyaWRDb2x1bW5FbmQiLCJncmlkUm93IiwiZ3JpZFJvd1N0YXJ0IiwiZ3JpZFJvd0VuZCIsImZsb2F0IiwiY2xlYXIiLCJtYXJnaW4iLCJib3hTaXppbmciLCJsaW5lQ2xhbXAiLCJkaXNwbGF5IiwiYXNwZWN0UmF0aW8iLCJzaXplIiwiaGVpZ2h0IiwibWF4SGVpZ2h0IiwibWluSGVpZ2h0Iiwid2lkdGgiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwiZmxleCIsImZsZXhTaHJpbmsiLCJmbGV4R3JvdyIsImZsZXhCYXNpcyIsInRhYmxlTGF5b3V0IiwiY2FwdGlvblNpZGUiLCJib3JkZXJDb2xsYXBzZSIsImJvcmRlclNwYWNpbmciLCJ0cmFuc2Zvcm1PcmlnaW4iLCJ0cmFuc2xhdGUiLCJyb3RhdGUiLCJza2V3Iiwic2NhbGUiLCJ0cmFuc2Zvcm0iLCJhbmltYXRpb24iLCJjdXJzb3IiLCJ0b3VjaEFjdGlvbiIsInVzZXJTZWxlY3QiLCJyZXNpemUiLCJzY3JvbGxTbmFwVHlwZSIsInNjcm9sbFNuYXBBbGlnbiIsInNjcm9sbFNuYXBTdG9wIiwic2Nyb2xsTWFyZ2luIiwic2Nyb2xsUGFkZGluZyIsImxpc3RTdHlsZVBvc2l0aW9uIiwibGlzdFN0eWxlVHlwZSIsImxpc3RTdHlsZUltYWdlIiwiYXBwZWFyYW5jZSIsImNvbHVtbnMiLCJicmVha0JlZm9yZSIsImJyZWFrSW5zaWRlIiwiYnJlYWtBZnRlciIsImdyaWRBdXRvQ29sdW1ucyIsImdyaWRBdXRvRmxvdyIsImdyaWRBdXRvUm93cyIsImdyaWRUZW1wbGF0ZUNvbHVtbnMiLCJncmlkVGVtcGxhdGVSb3dzIiwiZmxleERpcmVjdGlvbiIsImZsZXhXcmFwIiwicGxhY2VDb250ZW50IiwicGxhY2VJdGVtcyIsImFsaWduQ29udGVudCIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImp1c3RpZnlJdGVtcyIsImdhcCIsInNwYWNlIiwiZGl2aWRlV2lkdGgiLCJkaXZpZGVTdHlsZSIsImRpdmlkZUNvbG9yIiwiZGl2aWRlT3BhY2l0eSIsInBsYWNlU2VsZiIsImFsaWduU2VsZiIsImp1c3RpZnlTZWxmIiwib3ZlcmZsb3ciLCJvdmVyc2Nyb2xsQmVoYXZpb3IiLCJzY3JvbGxCZWhhdmlvciIsInRleHRPdmVyZmxvdyIsImh5cGhlbnMiLCJ3aGl0ZXNwYWNlIiwidGV4dFdyYXAiLCJ3b3JkQnJlYWsiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJXaWR0aCIsImJvcmRlclN0eWxlIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJPcGFjaXR5IiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZE9wYWNpdHkiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJncmFkaWVudENvbG9yU3RvcHMiLCJib3hEZWNvcmF0aW9uQnJlYWsiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRBdHRhY2htZW50IiwiYmFja2dyb3VuZENsaXAiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kUmVwZWF0IiwiYmFja2dyb3VuZE9yaWdpbiIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsIm9iamVjdEZpdCIsIm9iamVjdFBvc2l0aW9uIiwicGFkZGluZyIsInRleHRBbGlnbiIsInRleHRJbmRlbnQiLCJ2ZXJ0aWNhbEFsaWduIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsInRleHRUcmFuc2Zvcm0iLCJmb250U3R5bGUiLCJmb250VmFyaWFudE51bWVyaWMiLCJsaW5lSGVpZ2h0IiwibGV0dGVyU3BhY2luZyIsInRleHRDb2xvciIsInRleHRPcGFjaXR5IiwidGV4dERlY29yYXRpb24iLCJ0ZXh0RGVjb3JhdGlvbkNvbG9yIiwidGV4dERlY29yYXRpb25TdHlsZSIsInRleHREZWNvcmF0aW9uVGhpY2tuZXNzIiwidGV4dFVuZGVybGluZU9mZnNldCIsImZvbnRTbW9vdGhpbmciLCJwbGFjZWhvbGRlckNvbG9yIiwicGxhY2Vob2xkZXJPcGFjaXR5IiwiY2FyZXRDb2xvciIsImFjY2VudENvbG9yIiwib3BhY2l0eSIsImJhY2tncm91bmRCbGVuZE1vZGUiLCJtaXhCbGVuZE1vZGUiLCJib3hTaGFkb3ciLCJib3hTaGFkb3dDb2xvciIsIm91dGxpbmVTdHlsZSIsIm91dGxpbmVXaWR0aCIsIm91dGxpbmVPZmZzZXQiLCJvdXRsaW5lQ29sb3IiLCJyaW5nV2lkdGgiLCJyaW5nQ29sb3IiLCJyaW5nT3BhY2l0eSIsInJpbmdPZmZzZXRXaWR0aCIsInJpbmdPZmZzZXRDb2xvciIsImJsdXIiLCJicmlnaHRuZXNzIiwiY29udHJhc3QiLCJkcm9wU2hhZG93IiwiZ3JheXNjYWxlIiwiaHVlUm90YXRlIiwiaW52ZXJ0Iiwic2F0dXJhdGUiLCJzZXBpYSIsImZpbHRlciIsImJhY2tkcm9wQmx1ciIsImJhY2tkcm9wQnJpZ2h0bmVzcyIsImJhY2tkcm9wQ29udHJhc3QiLCJiYWNrZHJvcEdyYXlzY2FsZSIsImJhY2tkcm9wSHVlUm90YXRlIiwiYmFja2Ryb3BJbnZlcnQiLCJiYWNrZHJvcE9wYWNpdHkiLCJiYWNrZHJvcFNhdHVyYXRlIiwiYmFja2Ryb3BTZXBpYSIsImJhY2tkcm9wRmlsdGVyIiwidHJhbnNpdGlvblByb3BlcnR5IiwidHJhbnNpdGlvbkRlbGF5IiwidHJhbnNpdGlvbkR1cmF0aW9uIiwidHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uIiwid2lsbENoYW5nZSIsImNvbnRhaW4iLCJjb250ZW50IiwiZm9yY2VkQ29sb3JBZGp1c3QiXX0pO2Z1bmN0aW9uIGtmKHIsZSl7cmV0dXJuIHI9PT12b2lkIDA/ZTpBcnJheS5pc0FycmF5KHIpP3I6Wy4uLm5ldyBTZXQoZS5maWx0ZXIoaT0+ciE9PSExJiZyW2ldIT09ITEpLmNvbmNhdChPYmplY3Qua2V5cyhyKS5maWx0ZXIoaT0+cltpXSE9PSExKSkpXX12YXIgU2Y9UCgoKT0+e3UoKX0pO3ZhciBBZj17fTtHZShBZix7ZGVmYXVsdDooKT0+UWV9KTt2YXIgUWUsUWk9UCgoKT0+e3UoKTtRZT1uZXcgUHJveHkoe30se2dldDooKT0+U3RyaW5nfSl9KTtmdW5jdGlvbiBqcyhyLGUsdCl7dHlwZW9mIG0hPSJ1bmRlZmluZWQiJiZtLmVudi5KRVNUX1dPUktFUl9JRHx8dCYmQ2YuaGFzKHQpfHwodCYmQ2YuYWRkKHQpLGNvbnNvbGUud2FybigiIiksZS5mb3JFYWNoKGk9PmNvbnNvbGUud2FybihyLCItIixpKSkpfWZ1bmN0aW9uIHpzKHIpe3JldHVybiBRZS5kaW0ocil9dmFyIENmLEcsQmU9UCgoKT0+e3UoKTtRaSgpO0NmPW5ldyBTZXQ7Rz17aW5mbyhyLGUpe2pzKFFlLmJvbGQoUWUuY3lhbigiaW5mbyIpKSwuLi5BcnJheS5pc0FycmF5KHIpP1tyXTpbZSxyXSl9LHdhcm4ocixlKXtbImNvbnRlbnQtcHJvYmxlbXMiXS5pbmNsdWRlcyhyKXx8anMoUWUuYm9sZChRZS55ZWxsb3coIndhcm4iKSksLi4uQXJyYXkuaXNBcnJheShyKT9bcl06W2Uscl0pfSxyaXNrKHIsZSl7anMoUWUuYm9sZChRZS5tYWdlbnRhKCJyaXNrIikpLC4uLkFycmF5LmlzQXJyYXkocik/W3JdOltlLHJdKX19fSk7dmFyIF9mPXt9O0dlKF9mLHtkZWZhdWx0OigpPT5Vc30pO2Z1bmN0aW9uIHFyKHt2ZXJzaW9uOnIsZnJvbTplLHRvOnR9KXtHLndhcm4oYCR7ZX0tY29sb3ItcmVuYW1lZGAsW2BBcyBvZiBUYWlsd2luZCBDU1MgJHtyfSwgXGAke2V9XGAgaGFzIGJlZW4gcmVuYW1lZCB0byBcYCR7dH1cYC5gLCJVcGRhdGUgeW91ciBjb25maWd1cmF0aW9uIGZpbGUgdG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcuIl0pfXZhciBVcyxWcz1QKCgpPT57dSgpO0JlKCk7VXM9e2luaGVyaXQ6ImluaGVyaXQiLGN1cnJlbnQ6ImN1cnJlbnRDb2xvciIsdHJhbnNwYXJlbnQ6InRyYW5zcGFyZW50IixibGFjazoiIzAwMCIsd2hpdGU6IiNmZmYiLHNsYXRlOns1MDoiI2Y4ZmFmYyIsMTAwOiIjZjFmNWY5IiwyMDA6IiNlMmU4ZjAiLDMwMDoiI2NiZDVlMSIsNDAwOiIjOTRhM2I4Iiw1MDA6IiM2NDc0OGIiLDYwMDoiIzQ3NTU2OSIsNzAwOiIjMzM0MTU1Iiw4MDA6IiMxZTI5M2IiLDkwMDoiIzBmMTcyYSIsOTUwOiIjMDIwNjE3In0sZ3JheTp7NTA6IiNmOWZhZmIiLDEwMDoiI2YzZjRmNiIsMjAwOiIjZTVlN2ViIiwzMDA6IiNkMWQ1ZGIiLDQwMDoiIzljYTNhZiIsNTAwOiIjNmI3MjgwIiw2MDA6IiM0YjU1NjMiLDcwMDoiIzM3NDE1MSIsODAwOiIjMWYyOTM3Iiw5MDA6IiMxMTE4MjciLDk1MDoiIzAzMDcxMiJ9LHppbmM6ezUwOiIjZmFmYWZhIiwxMDA6IiNmNGY0ZjUiLDIwMDoiI2U0ZTRlNyIsMzAwOiIjZDRkNGQ4Iiw0MDA6IiNhMWExYWEiLDUwMDoiIzcxNzE3YSIsNjAwOiIjNTI1MjViIiw3MDA6IiMzZjNmNDYiLDgwMDoiIzI3MjcyYSIsOTAwOiIjMTgxODFiIiw5NTA6IiMwOTA5MGIifSxuZXV0cmFsOns1MDoiI2ZhZmFmYSIsMTAwOiIjZjVmNWY1IiwyMDA6IiNlNWU1ZTUiLDMwMDoiI2Q0ZDRkNCIsNDAwOiIjYTNhM2EzIiw1MDA6IiM3MzczNzMiLDYwMDoiIzUyNTI1MiIsNzAwOiIjNDA0MDQwIiw4MDA6IiMyNjI2MjYiLDkwMDoiIzE3MTcxNyIsOTUwOiIjMGEwYTBhIn0sc3RvbmU6ezUwOiIjZmFmYWY5IiwxMDA6IiNmNWY1ZjQiLDIwMDoiI2U3ZTVlNCIsMzAwOiIjZDZkM2QxIiw0MDA6IiNhOGEyOWUiLDUwMDoiIzc4NzE2YyIsNjAwOiIjNTc1MzRlIiw3MDA6IiM0NDQwM2MiLDgwMDoiIzI5MjUyNCIsOTAwOiIjMWMxOTE3Iiw5NTA6IiMwYzBhMDkifSxyZWQ6ezUwOiIjZmVmMmYyIiwxMDA6IiNmZWUyZTIiLDIwMDoiI2ZlY2FjYSIsMzAwOiIjZmNhNWE1Iiw0MDA6IiNmODcxNzEiLDUwMDoiI2VmNDQ0NCIsNjAwOiIjZGMyNjI2Iiw3MDA6IiNiOTFjMWMiLDgwMDoiIzk5MWIxYiIsOTAwOiIjN2YxZDFkIiw5NTA6IiM0NTBhMGEifSxvcmFuZ2U6ezUwOiIjZmZmN2VkIiwxMDA6IiNmZmVkZDUiLDIwMDoiI2ZlZDdhYSIsMzAwOiIjZmRiYTc0Iiw0MDA6IiNmYjkyM2MiLDUwMDoiI2Y5NzMxNiIsNjAwOiIjZWE1ODBjIiw3MDA6IiNjMjQxMGMiLDgwMDoiIzlhMzQxMiIsOTAwOiIjN2MyZDEyIiw5NTA6IiM0MzE0MDcifSxhbWJlcjp7NTA6IiNmZmZiZWIiLDEwMDoiI2ZlZjNjNyIsMjAwOiIjZmRlNjhhIiwzMDA6IiNmY2QzNGQiLDQwMDoiI2ZiYmYyNCIsNTAwOiIjZjU5ZTBiIiw2MDA6IiNkOTc3MDYiLDcwMDoiI2I0NTMwOSIsODAwOiIjOTI0MDBlIiw5MDA6IiM3ODM1MGYiLDk1MDoiIzQ1MWEwMyJ9LHllbGxvdzp7NTA6IiNmZWZjZTgiLDEwMDoiI2ZlZjljMyIsMjAwOiIjZmVmMDhhIiwzMDA6IiNmZGUwNDciLDQwMDoiI2ZhY2MxNSIsNTAwOiIjZWFiMzA4Iiw2MDA6IiNjYThhMDQiLDcwMDoiI2ExNjIwNyIsODAwOiIjODU0ZDBlIiw5MDA6IiM3MTNmMTIiLDk1MDoiIzQyMjAwNiJ9LGxpbWU6ezUwOiIjZjdmZWU3IiwxMDA6IiNlY2ZjY2IiLDIwMDoiI2Q5Zjk5ZCIsMzAwOiIjYmVmMjY0Iiw0MDA6IiNhM2U2MzUiLDUwMDoiIzg0Y2MxNiIsNjAwOiIjNjVhMzBkIiw3MDA6IiM0ZDdjMGYiLDgwMDoiIzNmNjIxMiIsOTAwOiIjMzY1MzE0Iiw5NTA6IiMxYTJlMDUifSxncmVlbjp7NTA6IiNmMGZkZjQiLDEwMDoiI2RjZmNlNyIsMjAwOiIjYmJmN2QwIiwzMDA6IiM4NmVmYWMiLDQwMDoiIzRhZGU4MCIsNTAwOiIjMjJjNTVlIiw2MDA6IiMxNmEzNGEiLDcwMDoiIzE1ODAzZCIsODAwOiIjMTY2NTM0Iiw5MDA6IiMxNDUzMmQiLDk1MDoiIzA1MmUxNiJ9LGVtZXJhbGQ6ezUwOiIjZWNmZGY1IiwxMDA6IiNkMWZhZTUiLDIwMDoiI2E3ZjNkMCIsMzAwOiIjNmVlN2I3Iiw0MDA6IiMzNGQzOTkiLDUwMDoiIzEwYjk4MSIsNjAwOiIjMDU5NjY5Iiw3MDA6IiMwNDc4NTciLDgwMDoiIzA2NWY0NiIsOTAwOiIjMDY0ZTNiIiw5NTA6IiMwMjJjMjIifSx0ZWFsOns1MDoiI2YwZmRmYSIsMTAwOiIjY2NmYmYxIiwyMDA6IiM5OWY2ZTQiLDMwMDoiIzVlZWFkNCIsNDAwOiIjMmRkNGJmIiw1MDA6IiMxNGI4YTYiLDYwMDoiIzBkOTQ4OCIsNzAwOiIjMGY3NjZlIiw4MDA6IiMxMTVlNTkiLDkwMDoiIzEzNGU0YSIsOTUwOiIjMDQyZjJlIn0sY3lhbjp7NTA6IiNlY2ZlZmYiLDEwMDoiI2NmZmFmZSIsMjAwOiIjYTVmM2ZjIiwzMDA6IiM2N2U4ZjkiLDQwMDoiIzIyZDNlZSIsNTAwOiIjMDZiNmQ0Iiw2MDA6IiMwODkxYjIiLDcwMDoiIzBlNzQ5MCIsODAwOiIjMTU1ZTc1Iiw5MDA6IiMxNjRlNjMiLDk1MDoiIzA4MzM0NCJ9LHNreTp7NTA6IiNmMGY5ZmYiLDEwMDoiI2UwZjJmZSIsMjAwOiIjYmFlNmZkIiwzMDA6IiM3ZGQzZmMiLDQwMDoiIzM4YmRmOCIsNTAwOiIjMGVhNWU5Iiw2MDA6IiMwMjg0YzciLDcwMDoiIzAzNjlhMSIsODAwOiIjMDc1OTg1Iiw5MDA6IiMwYzRhNmUiLDk1MDoiIzA4MmY0OSJ9LGJsdWU6ezUwOiIjZWZmNmZmIiwxMDA6IiNkYmVhZmUiLDIwMDoiI2JmZGJmZSIsMzAwOiIjOTNjNWZkIiw0MDA6IiM2MGE1ZmEiLDUwMDoiIzNiODJmNiIsNjAwOiIjMjU2M2ViIiw3MDA6IiMxZDRlZDgiLDgwMDoiIzFlNDBhZiIsOTAwOiIjMWUzYThhIiw5NTA6IiMxNzI1NTQifSxpbmRpZ286ezUwOiIjZWVmMmZmIiwxMDA6IiNlMGU3ZmYiLDIwMDoiI2M3ZDJmZSIsMzAwOiIjYTViNGZjIiw0MDA6IiM4MThjZjgiLDUwMDoiIzYzNjZmMSIsNjAwOiIjNGY0NmU1Iiw3MDA6IiM0MzM4Y2EiLDgwMDoiIzM3MzBhMyIsOTAwOiIjMzEyZTgxIiw5NTA6IiMxZTFiNGIifSx2aW9sZXQ6ezUwOiIjZjVmM2ZmIiwxMDA6IiNlZGU5ZmUiLDIwMDoiI2RkZDZmZSIsMzAwOiIjYzRiNWZkIiw0MDA6IiNhNzhiZmEiLDUwMDoiIzhiNWNmNiIsNjAwOiIjN2MzYWVkIiw3MDA6IiM2ZDI4ZDkiLDgwMDoiIzViMjFiNiIsOTAwOiIjNGMxZDk1Iiw5NTA6IiMyZTEwNjUifSxwdXJwbGU6ezUwOiIjZmFmNWZmIiwxMDA6IiNmM2U4ZmYiLDIwMDoiI2U5ZDVmZiIsMzAwOiIjZDhiNGZlIiw0MDA6IiNjMDg0ZmMiLDUwMDoiI2E4NTVmNyIsNjAwOiIjOTMzM2VhIiw3MDA6IiM3ZTIyY2UiLDgwMDoiIzZiMjFhOCIsOTAwOiIjNTgxYzg3Iiw5NTA6IiMzYjA3NjQifSxmdWNoc2lhOns1MDoiI2ZkZjRmZiIsMTAwOiIjZmFlOGZmIiwyMDA6IiNmNWQwZmUiLDMwMDoiI2YwYWJmYyIsNDAwOiIjZTg3OWY5Iiw1MDA6IiNkOTQ2ZWYiLDYwMDoiI2MwMjZkMyIsNzAwOiIjYTIxY2FmIiw4MDA6IiM4NjE5OGYiLDkwMDoiIzcwMWE3NSIsOTUwOiIjNGEwNDRlIn0scGluazp7NTA6IiNmZGYyZjgiLDEwMDoiI2ZjZTdmMyIsMjAwOiIjZmJjZmU4IiwzMDA6IiNmOWE4ZDQiLDQwMDoiI2Y0NzJiNiIsNTAwOiIjZWM0ODk5Iiw2MDA6IiNkYjI3NzciLDcwMDoiI2JlMTg1ZCIsODAwOiIjOWQxNzRkIiw5MDA6IiM4MzE4NDMiLDk1MDoiIzUwMDcyNCJ9LHJvc2U6ezUwOiIjZmZmMWYyIiwxMDA6IiNmZmU0ZTYiLDIwMDoiI2ZlY2RkMyIsMzAwOiIjZmRhNGFmIiw0MDA6IiNmYjcxODUiLDUwMDoiI2Y0M2Y1ZSIsNjAwOiIjZTExZDQ4Iiw3MDA6IiNiZTEyM2MiLDgwMDoiIzlmMTIzOSIsOTAwOiIjODgxMzM3Iiw5NTA6IiM0YzA1MTkifSxnZXQgbGlnaHRCbHVlKCl7cmV0dXJuIHFyKHt2ZXJzaW9uOiJ2Mi4yIixmcm9tOiJsaWdodEJsdWUiLHRvOiJza3kifSksdGhpcy5za3l9LGdldCB3YXJtR3JheSgpe3JldHVybiBxcih7dmVyc2lvbjoidjMuMCIsZnJvbToid2FybUdyYXkiLHRvOiJzdG9uZSJ9KSx0aGlzLnN0b25lfSxnZXQgdHJ1ZUdyYXkoKXtyZXR1cm4gcXIoe3ZlcnNpb246InYzLjAiLGZyb206InRydWVHcmF5Iix0bzoibmV1dHJhbCJ9KSx0aGlzLm5ldXRyYWx9LGdldCBjb29sR3JheSgpe3JldHVybiBxcih7dmVyc2lvbjoidjMuMCIsZnJvbToiY29vbEdyYXkiLHRvOiJncmF5In0pLHRoaXMuZ3JheX0sZ2V0IGJsdWVHcmF5KCl7cmV0dXJuIHFyKHt2ZXJzaW9uOiJ2My4wIixmcm9tOiJibHVlR3JheSIsdG86InNsYXRlIn0pLHRoaXMuc2xhdGV9fX0pO2Z1bmN0aW9uIEhzKHIsLi4uZSl7Zm9yKGxldCB0IG9mIGUpe2ZvcihsZXQgaSBpbiB0KXI/Lmhhc093blByb3BlcnR5Py4oaSl8fChyW2ldPXRbaV0pO2ZvcihsZXQgaSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKXI/Lmhhc093blByb3BlcnR5Py4oaSl8fChyW2ldPXRbaV0pfXJldHVybiByfXZhciBFZj1QKCgpPT57dSgpfSk7ZnVuY3Rpb24ga3Qocil7aWYoQXJyYXkuaXNBcnJheShyKSlyZXR1cm4gcjtsZXQgZT1yLnNwbGl0KCJbIikubGVuZ3RoLTEsdD1yLnNwbGl0KCJdIikubGVuZ3RoLTE7aWYoZSE9PXQpdGhyb3cgbmV3IEVycm9yKGBQYXRoIGlzIGludmFsaWQuIEhhcyB1bmJhbGFuY2VkIGJyYWNrZXRzOiAke3J9YCk7cmV0dXJuIHIuc3BsaXQoL1wuKD8hW15cW10qXF0pfFtcW1xdXS9nKS5maWx0ZXIoQm9vbGVhbil9dmFyIFlpPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiB3ZShyLGUpe3JldHVybiBLaS5mdXR1cmUuaW5jbHVkZXMoZSk/ci5mdXR1cmU9PT0iYWxsInx8KHI/LmZ1dHVyZT8uW2VdPz9PZltlXT8/ITEpOktpLmV4cGVyaW1lbnRhbC5pbmNsdWRlcyhlKT9yLmV4cGVyaW1lbnRhbD09PSJhbGwifHwocj8uZXhwZXJpbWVudGFsPy5bZV0/P09mW2VdPz8hMSk6ITF9ZnVuY3Rpb24gVGYocil7cmV0dXJuIHIuZXhwZXJpbWVudGFsPT09ImFsbCI/S2kuZXhwZXJpbWVudGFsOk9iamVjdC5rZXlzKHI/LmV4cGVyaW1lbnRhbD8/e30pLmZpbHRlcihlPT5LaS5leHBlcmltZW50YWwuaW5jbHVkZXMoZSkmJnIuZXhwZXJpbWVudGFsW2VdKX1mdW5jdGlvbiBSZihyKXtpZihtLmVudi5KRVNUX1dPUktFUl9JRD09PXZvaWQgMCYmVGYocikubGVuZ3RoPjApe2xldCBlPVRmKHIpLm1hcCh0PT5RZS55ZWxsb3codCkpLmpvaW4oIiwgIik7Ry53YXJuKCJleHBlcmltZW50YWwtZmxhZ3MtZW5hYmxlZCIsW2BZb3UgaGF2ZSBlbmFibGVkIGV4cGVyaW1lbnRhbCBmZWF0dXJlczogJHtlfWAsIkV4cGVyaW1lbnRhbCBmZWF0dXJlcyBpbiBUYWlsd2luZCBDU1MgYXJlIG5vdCBjb3ZlcmVkIGJ5IHNlbXZlciwgbWF5IGludHJvZHVjZSBicmVha2luZyBjaGFuZ2VzLCBhbmQgY2FuIGNoYW5nZSBhdCBhbnkgdGltZS4iXSl9fXZhciBPZixLaSxjdD1QKCgpPT57dSgpO1FpKCk7QmUoKTtPZj17b3B0aW1pemVVbml2ZXJzYWxEZWZhdWx0czohMSxnZW5lcmFsaXplZE1vZGlmaWVyczohMCxkaXNhYmxlQ29sb3JPcGFjaXR5VXRpbGl0aWVzQnlEZWZhdWx0OiExLHJlbGF0aXZlQ29udGVudFBhdGhzQnlEZWZhdWx0OiExfSxLaT17ZnV0dXJlOlsiaG92ZXJPbmx5V2hlblN1cHBvcnRlZCIsInJlc3BlY3REZWZhdWx0UmluZ0NvbG9yT3BhY2l0eSIsImRpc2FibGVDb2xvck9wYWNpdHlVdGlsaXRpZXNCeURlZmF1bHQiLCJyZWxhdGl2ZUNvbnRlbnRQYXRoc0J5RGVmYXVsdCJdLGV4cGVyaW1lbnRhbDpbIm9wdGltaXplVW5pdmVyc2FsRGVmYXVsdHMiLCJnZW5lcmFsaXplZE1vZGlmaWVycyJdfX0pO2Z1bmN0aW9uIFBmKHIpeygoKT0+e2lmKHIucHVyZ2V8fCFyLmNvbnRlbnR8fCFBcnJheS5pc0FycmF5KHIuY29udGVudCkmJiEodHlwZW9mIHIuY29udGVudD09Im9iamVjdCImJnIuY29udGVudCE9PW51bGwpKXJldHVybiExO2lmKEFycmF5LmlzQXJyYXkoci5jb250ZW50KSlyZXR1cm4gci5jb250ZW50LmV2ZXJ5KHQ9PnR5cGVvZiB0PT0ic3RyaW5nIj8hMDohKHR5cGVvZiB0Py5yYXchPSJzdHJpbmcifHx0Py5leHRlbnNpb24mJnR5cGVvZiB0Py5leHRlbnNpb24hPSJzdHJpbmciKSk7aWYodHlwZW9mIHIuY29udGVudD09Im9iamVjdCImJnIuY29udGVudCE9PW51bGwpe2lmKE9iamVjdC5rZXlzKHIuY29udGVudCkuc29tZSh0PT4hWyJmaWxlcyIsInJlbGF0aXZlIiwiZXh0cmFjdCIsInRyYW5zZm9ybSJdLmluY2x1ZGVzKHQpKSlyZXR1cm4hMTtpZihBcnJheS5pc0FycmF5KHIuY29udGVudC5maWxlcykpe2lmKCFyLmNvbnRlbnQuZmlsZXMuZXZlcnkodD0+dHlwZW9mIHQ9PSJzdHJpbmciPyEwOiEodHlwZW9mIHQ/LnJhdyE9InN0cmluZyJ8fHQ/LmV4dGVuc2lvbiYmdHlwZW9mIHQ/LmV4dGVuc2lvbiE9InN0cmluZyIpKSlyZXR1cm4hMTtpZih0eXBlb2Ygci5jb250ZW50LmV4dHJhY3Q9PSJvYmplY3QiKXtmb3IobGV0IHQgb2YgT2JqZWN0LnZhbHVlcyhyLmNvbnRlbnQuZXh0cmFjdCkpaWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpcmV0dXJuITF9ZWxzZSBpZighKHIuY29udGVudC5leHRyYWN0PT09dm9pZCAwfHx0eXBlb2Ygci5jb250ZW50LmV4dHJhY3Q9PSJmdW5jdGlvbiIpKXJldHVybiExO2lmKHR5cGVvZiByLmNvbnRlbnQudHJhbnNmb3JtPT0ib2JqZWN0Iil7Zm9yKGxldCB0IG9mIE9iamVjdC52YWx1ZXMoci5jb250ZW50LnRyYW5zZm9ybSkpaWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpcmV0dXJuITF9ZWxzZSBpZighKHIuY29udGVudC50cmFuc2Zvcm09PT12b2lkIDB8fHR5cGVvZiByLmNvbnRlbnQudHJhbnNmb3JtPT0iZnVuY3Rpb24iKSlyZXR1cm4hMTtpZih0eXBlb2Ygci5jb250ZW50LnJlbGF0aXZlIT0iYm9vbGVhbiImJnR5cGVvZiByLmNvbnRlbnQucmVsYXRpdmUhPSJ1bmRlZmluZWQiKXJldHVybiExfXJldHVybiEwfXJldHVybiExfSkoKXx8Ry53YXJuKCJwdXJnZS1kZXByZWNhdGlvbiIsWyJUaGUgYHB1cmdlYC9gY29udGVudGAgb3B0aW9ucyBoYXZlIGNoYW5nZWQgaW4gVGFpbHdpbmQgQ1NTIHYzLjAuIiwiVXBkYXRlIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlIHRvIGVsaW1pbmF0ZSB0aGlzIHdhcm5pbmcuIiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy91cGdyYWRlLWd1aWRlI2NvbmZpZ3VyZS1jb250ZW50LXNvdXJjZXMiXSksci5zYWZlbGlzdD0oKCk9PntsZXR7Y29udGVudDp0LHB1cmdlOmksc2FmZWxpc3Q6bn09cjtyZXR1cm4gQXJyYXkuaXNBcnJheShuKT9uOkFycmF5LmlzQXJyYXkodD8uc2FmZWxpc3QpP3Quc2FmZWxpc3Q6QXJyYXkuaXNBcnJheShpPy5zYWZlbGlzdCk/aS5zYWZlbGlzdDpBcnJheS5pc0FycmF5KGk/Lm9wdGlvbnM/LnNhZmVsaXN0KT9pLm9wdGlvbnMuc2FmZWxpc3Q6W119KSgpLHIuYmxvY2tsaXN0PSgoKT0+e2xldHtibG9ja2xpc3Q6dH09cjtpZihBcnJheS5pc0FycmF5KHQpKXtpZih0LmV2ZXJ5KGk9PnR5cGVvZiBpPT0ic3RyaW5nIikpcmV0dXJuIHQ7Ry53YXJuKCJibG9ja2xpc3QtaW52YWxpZCIsWyJUaGUgYGJsb2NrbGlzdGAgb3B0aW9uIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncy4iLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NvbnRlbnQtY29uZmlndXJhdGlvbiNkaXNjYXJkaW5nLWNsYXNzZXMiXSl9cmV0dXJuW119KSgpLHR5cGVvZiByLnByZWZpeD09ImZ1bmN0aW9uIj8oRy53YXJuKCJwcmVmaXgtZnVuY3Rpb24iLFsiQXMgb2YgVGFpbHdpbmQgQ1NTIHYzLjAsIGBwcmVmaXhgIGNhbm5vdCBiZSBhIGZ1bmN0aW9uLiIsIlVwZGF0ZSBgcHJlZml4YCBpbiB5b3VyIGNvbmZpZ3VyYXRpb24gdG8gYmUgYSBzdHJpbmcgdG8gZWxpbWluYXRlIHRoaXMgd2FybmluZy4iLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3VwZ3JhZGUtZ3VpZGUjcHJlZml4LWNhbm5vdC1iZS1hLWZ1bmN0aW9uIl0pLHIucHJlZml4PSIiKTpyLnByZWZpeD1yLnByZWZpeD8/IiIsci5jb250ZW50PXtyZWxhdGl2ZTooKCk9PntsZXR7Y29udGVudDp0fT1yO3JldHVybiB0Py5yZWxhdGl2ZT90LnJlbGF0aXZlOndlKHIsInJlbGF0aXZlQ29udGVudFBhdGhzQnlEZWZhdWx0Iil9KSgpLGZpbGVzOigoKT0+e2xldHtjb250ZW50OnQscHVyZ2U6aX09cjtyZXR1cm4gQXJyYXkuaXNBcnJheShpKT9pOkFycmF5LmlzQXJyYXkoaT8uY29udGVudCk/aS5jb250ZW50OkFycmF5LmlzQXJyYXkodCk/dDpBcnJheS5pc0FycmF5KHQ/LmNvbnRlbnQpP3QuY29udGVudDpBcnJheS5pc0FycmF5KHQ/LmZpbGVzKT90LmZpbGVzOltdfSkoKSxleHRyYWN0OigoKT0+e2xldCB0PSgoKT0+ci5wdXJnZT8uZXh0cmFjdD9yLnB1cmdlLmV4dHJhY3Q6ci5jb250ZW50Py5leHRyYWN0P3IuY29udGVudC5leHRyYWN0OnIucHVyZ2U/LmV4dHJhY3Q/LkRFRkFVTFQ/ci5wdXJnZS5leHRyYWN0LkRFRkFVTFQ6ci5jb250ZW50Py5leHRyYWN0Py5ERUZBVUxUP3IuY29udGVudC5leHRyYWN0LkRFRkFVTFQ6ci5wdXJnZT8ub3B0aW9ucz8uZXh0cmFjdG9ycz9yLnB1cmdlLm9wdGlvbnMuZXh0cmFjdG9yczpyLmNvbnRlbnQ/Lm9wdGlvbnM/LmV4dHJhY3RvcnM/ci5jb250ZW50Lm9wdGlvbnMuZXh0cmFjdG9yczp7fSkoKSxpPXt9LG49KCgpPT57aWYoci5wdXJnZT8ub3B0aW9ucz8uZGVmYXVsdEV4dHJhY3RvcilyZXR1cm4gci5wdXJnZS5vcHRpb25zLmRlZmF1bHRFeHRyYWN0b3I7aWYoci5jb250ZW50Py5vcHRpb25zPy5kZWZhdWx0RXh0cmFjdG9yKXJldHVybiByLmNvbnRlbnQub3B0aW9ucy5kZWZhdWx0RXh0cmFjdG9yfSkoKTtpZihuIT09dm9pZCAwJiYoaS5ERUZBVUxUPW4pLHR5cGVvZiB0PT0iZnVuY3Rpb24iKWkuREVGQVVMVD10O2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSlmb3IobGV0e2V4dGVuc2lvbnM6cyxleHRyYWN0b3I6YX1vZiB0Pz9bXSlmb3IobGV0IG8gb2YgcylpW29dPWE7ZWxzZSB0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsJiZPYmplY3QuYXNzaWduKGksdCk7cmV0dXJuIGl9KSgpLHRyYW5zZm9ybTooKCk9PntsZXQgdD0oKCk9PnIucHVyZ2U/LnRyYW5zZm9ybT9yLnB1cmdlLnRyYW5zZm9ybTpyLmNvbnRlbnQ/LnRyYW5zZm9ybT9yLmNvbnRlbnQudHJhbnNmb3JtOnIucHVyZ2U/LnRyYW5zZm9ybT8uREVGQVVMVD9yLnB1cmdlLnRyYW5zZm9ybS5ERUZBVUxUOnIuY29udGVudD8udHJhbnNmb3JtPy5ERUZBVUxUP3IuY29udGVudC50cmFuc2Zvcm0uREVGQVVMVDp7fSkoKSxpPXt9O3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIj9pLkRFRkFVTFQ9dDp0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsJiZPYmplY3QuYXNzaWduKGksdCksaX0pKCl9O2ZvcihsZXQgdCBvZiByLmNvbnRlbnQuZmlsZXMpaWYodHlwZW9mIHQ9PSJzdHJpbmciJiYveyhbXixdKj8pfS9nLnRlc3QodCkpe0cud2FybigiaW52YWxpZC1nbG9iLWJyYWNlcyIsW2BUaGUgZ2xvYiBwYXR0ZXJuICR7enModCl9IGluIHlvdXIgVGFpbHdpbmQgQ1NTIGNvbmZpZ3VyYXRpb24gaXMgaW52YWxpZC5gLGBVcGRhdGUgaXQgdG8gJHt6cyh0LnJlcGxhY2UoL3soW14sXSo/KX0vZywiJDEiKSl9IHRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nLmBdKTticmVha31yZXR1cm4gcn12YXIgSWY9UCgoKT0+e3UoKTtjdCgpO0JlKCl9KTtmdW5jdGlvbiBrZShyKXtpZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocikhPT0iW29iamVjdCBPYmplY3RdIilyZXR1cm4hMTtsZXQgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2Yocik7cmV0dXJuIGU9PT1udWxsfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1udWxsfXZhciBLdD1QKCgpPT57dSgpfSk7ZnVuY3Rpb24gU3Qocil7cmV0dXJuIEFycmF5LmlzQXJyYXkocik/ci5tYXAoZT0+U3QoZSkpOnR5cGVvZiByPT0ib2JqZWN0IiYmciE9PW51bGw/T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHIpLm1hcCgoW2UsdF0pPT5bZSxTdCh0KV0pKTpyfXZhciBYaT1QKCgpPT57dSgpfSk7ZnVuY3Rpb24ganQocil7cmV0dXJuIHIucmVwbGFjZSgvXFwsL2csIlxcMmMgIil9dmFyIFppPVAoKCk9Pnt1KCl9KTt2YXIgV3MsRGY9UCgoKT0+e3UoKTtXcz17YWxpY2VibHVlOlsyNDAsMjQ4LDI1NV0sYW50aXF1ZXdoaXRlOlsyNTAsMjM1LDIxNV0sYXF1YTpbMCwyNTUsMjU1XSxhcXVhbWFyaW5lOlsxMjcsMjU1LDIxMl0sYXp1cmU6WzI0MCwyNTUsMjU1XSxiZWlnZTpbMjQ1LDI0NSwyMjBdLGJpc3F1ZTpbMjU1LDIyOCwxOTZdLGJsYWNrOlswLDAsMF0sYmxhbmNoZWRhbG1vbmQ6WzI1NSwyMzUsMjA1XSxibHVlOlswLDAsMjU1XSxibHVldmlvbGV0OlsxMzgsNDMsMjI2XSxicm93bjpbMTY1LDQyLDQyXSxidXJseXdvb2Q6WzIyMiwxODQsMTM1XSxjYWRldGJsdWU6Wzk1LDE1OCwxNjBdLGNoYXJ0cmV1c2U6WzEyNywyNTUsMF0sY2hvY29sYXRlOlsyMTAsMTA1LDMwXSxjb3JhbDpbMjU1LDEyNyw4MF0sY29ybmZsb3dlcmJsdWU6WzEwMCwxNDksMjM3XSxjb3Juc2lsazpbMjU1LDI0OCwyMjBdLGNyaW1zb246WzIyMCwyMCw2MF0sY3lhbjpbMCwyNTUsMjU1XSxkYXJrYmx1ZTpbMCwwLDEzOV0sZGFya2N5YW46WzAsMTM5LDEzOV0sZGFya2dvbGRlbnJvZDpbMTg0LDEzNCwxMV0sZGFya2dyYXk6WzE2OSwxNjksMTY5XSxkYXJrZ3JlZW46WzAsMTAwLDBdLGRhcmtncmV5OlsxNjksMTY5LDE2OV0sZGFya2toYWtpOlsxODksMTgzLDEwN10sZGFya21hZ2VudGE6WzEzOSwwLDEzOV0sZGFya29saXZlZ3JlZW46Wzg1LDEwNyw0N10sZGFya29yYW5nZTpbMjU1LDE0MCwwXSxkYXJrb3JjaGlkOlsxNTMsNTAsMjA0XSxkYXJrcmVkOlsxMzksMCwwXSxkYXJrc2FsbW9uOlsyMzMsMTUwLDEyMl0sZGFya3NlYWdyZWVuOlsxNDMsMTg4LDE0M10sZGFya3NsYXRlYmx1ZTpbNzIsNjEsMTM5XSxkYXJrc2xhdGVncmF5Ols0Nyw3OSw3OV0sZGFya3NsYXRlZ3JleTpbNDcsNzksNzldLGRhcmt0dXJxdW9pc2U6WzAsMjA2LDIwOV0sZGFya3Zpb2xldDpbMTQ4LDAsMjExXSxkZWVwcGluazpbMjU1LDIwLDE0N10sZGVlcHNreWJsdWU6WzAsMTkxLDI1NV0sZGltZ3JheTpbMTA1LDEwNSwxMDVdLGRpbWdyZXk6WzEwNSwxMDUsMTA1XSxkb2RnZXJibHVlOlszMCwxNDQsMjU1XSxmaXJlYnJpY2s6WzE3OCwzNCwzNF0sZmxvcmFsd2hpdGU6WzI1NSwyNTAsMjQwXSxmb3Jlc3RncmVlbjpbMzQsMTM5LDM0XSxmdWNoc2lhOlsyNTUsMCwyNTVdLGdhaW5zYm9ybzpbMjIwLDIyMCwyMjBdLGdob3N0d2hpdGU6WzI0OCwyNDgsMjU1XSxnb2xkOlsyNTUsMjE1LDBdLGdvbGRlbnJvZDpbMjE4LDE2NSwzMl0sZ3JheTpbMTI4LDEyOCwxMjhdLGdyZWVuOlswLDEyOCwwXSxncmVlbnllbGxvdzpbMTczLDI1NSw0N10sZ3JleTpbMTI4LDEyOCwxMjhdLGhvbmV5ZGV3OlsyNDAsMjU1LDI0MF0saG90cGluazpbMjU1LDEwNSwxODBdLGluZGlhbnJlZDpbMjA1LDkyLDkyXSxpbmRpZ286Wzc1LDAsMTMwXSxpdm9yeTpbMjU1LDI1NSwyNDBdLGtoYWtpOlsyNDAsMjMwLDE0MF0sbGF2ZW5kZXI6WzIzMCwyMzAsMjUwXSxsYXZlbmRlcmJsdXNoOlsyNTUsMjQwLDI0NV0sbGF3bmdyZWVuOlsxMjQsMjUyLDBdLGxlbW9uY2hpZmZvbjpbMjU1LDI1MCwyMDVdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxpZ2h0Y29yYWw6WzI0MCwxMjgsMTI4XSxsaWdodGN5YW46WzIyNCwyNTUsMjU1XSxsaWdodGdvbGRlbnJvZHllbGxvdzpbMjUwLDI1MCwyMTBdLGxpZ2h0Z3JheTpbMjExLDIxMSwyMTFdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6WzIxMSwyMTEsMjExXSxsaWdodHBpbms6WzI1NSwxODIsMTkzXSxsaWdodHNhbG1vbjpbMjU1LDE2MCwxMjJdLGxpZ2h0c2VhZ3JlZW46WzMyLDE3OCwxNzBdLGxpZ2h0c2t5Ymx1ZTpbMTM1LDIwNiwyNTBdLGxpZ2h0c2xhdGVncmF5OlsxMTksMTM2LDE1M10sbGlnaHRzbGF0ZWdyZXk6WzExOSwxMzYsMTUzXSxsaWdodHN0ZWVsYmx1ZTpbMTc2LDE5NiwyMjJdLGxpZ2h0eWVsbG93OlsyNTUsMjU1LDIyNF0sbGltZTpbMCwyNTUsMF0sbGltZWdyZWVuOls1MCwyMDUsNTBdLGxpbmVuOlsyNTAsMjQwLDIzMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEyOCwwLDBdLG1lZGl1bWFxdWFtYXJpbmU6WzEwMiwyMDUsMTcwXSxtZWRpdW1ibHVlOlswLDAsMjA1XSxtZWRpdW1vcmNoaWQ6WzE4Niw4NSwyMTFdLG1lZGl1bXB1cnBsZTpbMTQ3LDExMiwyMTldLG1lZGl1bXNlYWdyZWVuOls2MCwxNzksMTEzXSxtZWRpdW1zbGF0ZWJsdWU6WzEyMywxMDQsMjM4XSxtZWRpdW1zcHJpbmdncmVlbjpbMCwyNTAsMTU0XSxtZWRpdW10dXJxdW9pc2U6WzcyLDIwOSwyMDRdLG1lZGl1bXZpb2xldHJlZDpbMTk5LDIxLDEzM10sbWlkbmlnaHRibHVlOlsyNSwyNSwxMTJdLG1pbnRjcmVhbTpbMjQ1LDI1NSwyNTBdLG1pc3R5cm9zZTpbMjU1LDIyOCwyMjVdLG1vY2Nhc2luOlsyNTUsMjI4LDE4MV0sbmF2YWpvd2hpdGU6WzI1NSwyMjIsMTczXSxuYXZ5OlswLDAsMTI4XSxvbGRsYWNlOlsyNTMsMjQ1LDIzMF0sb2xpdmU6WzEyOCwxMjgsMF0sb2xpdmVkcmFiOlsxMDcsMTQyLDM1XSxvcmFuZ2U6WzI1NSwxNjUsMF0sb3JhbmdlcmVkOlsyNTUsNjksMF0sb3JjaGlkOlsyMTgsMTEyLDIxNF0scGFsZWdvbGRlbnJvZDpbMjM4LDIzMiwxNzBdLHBhbGVncmVlbjpbMTUyLDI1MSwxNTJdLHBhbGV0dXJxdW9pc2U6WzE3NSwyMzgsMjM4XSxwYWxldmlvbGV0cmVkOlsyMTksMTEyLDE0N10scGFwYXlhd2hpcDpbMjU1LDIzOSwyMTNdLHBlYWNocHVmZjpbMjU1LDIxOCwxODVdLHBlcnU6WzIwNSwxMzMsNjNdLHBpbms6WzI1NSwxOTIsMjAzXSxwbHVtOlsyMjEsMTYwLDIyMV0scG93ZGVyYmx1ZTpbMTc2LDIyNCwyMzBdLHB1cnBsZTpbMTI4LDAsMTI4XSxyZWJlY2NhcHVycGxlOlsxMDIsNTEsMTUzXSxyZWQ6WzI1NSwwLDBdLHJvc3licm93bjpbMTg4LDE0MywxNDNdLHJveWFsYmx1ZTpbNjUsMTA1LDIyNV0sc2FkZGxlYnJvd246WzEzOSw2OSwxOV0sc2FsbW9uOlsyNTAsMTI4LDExNF0sc2FuZHlicm93bjpbMjQ0LDE2NCw5Nl0sc2VhZ3JlZW46WzQ2LDEzOSw4N10sc2Vhc2hlbGw6WzI1NSwyNDUsMjM4XSxzaWVubmE6WzE2MCw4Miw0NV0sc2lsdmVyOlsxOTIsMTkyLDE5Ml0sc2t5Ymx1ZTpbMTM1LDIwNiwyMzVdLHNsYXRlYmx1ZTpbMTA2LDkwLDIwNV0sc2xhdGVncmF5OlsxMTIsMTI4LDE0NF0sc2xhdGVncmV5OlsxMTIsMTI4LDE0NF0sc25vdzpbMjU1LDI1MCwyNTBdLHNwcmluZ2dyZWVuOlswLDI1NSwxMjddLHN0ZWVsYmx1ZTpbNzAsMTMwLDE4MF0sdGFuOlsyMTAsMTgwLDE0MF0sdGVhbDpbMCwxMjgsMTI4XSx0aGlzdGxlOlsyMTYsMTkxLDIxNl0sdG9tYXRvOlsyNTUsOTksNzFdLHR1cnF1b2lzZTpbNjQsMjI0LDIwOF0sdmlvbGV0OlsyMzgsMTMwLDIzOF0sd2hlYXQ6WzI0NSwyMjIsMTc5XSx3aGl0ZTpbMjU1LDI1NSwyNTVdLHdoaXRlc21va2U6WzI0NSwyNDUsMjQ1XSx5ZWxsb3c6WzI1NSwyNTUsMF0seWVsbG93Z3JlZW46WzE1NCwyMDUsNTBdfX0pO2Z1bmN0aW9uICRyKHIse2xvb3NlOmU9ITF9PXt9KXtpZih0eXBlb2YgciE9InN0cmluZyIpcmV0dXJuIG51bGw7aWYocj1yLnRyaW0oKSxyPT09InRyYW5zcGFyZW50IilyZXR1cm57bW9kZToicmdiIixjb2xvcjpbIjAiLCIwIiwiMCJdLGFscGhhOiIwIn07aWYociBpbiBXcylyZXR1cm57bW9kZToicmdiIixjb2xvcjpXc1tyXS5tYXAocz0+cy50b1N0cmluZygpKX07bGV0IHQ9ci5yZXBsYWNlKHp2LChzLGEsbyxsLGMpPT5bIiMiLGEsYSxvLG8sbCxsLGM/YytjOiIiXS5qb2luKCIiKSkubWF0Y2goanYpO2lmKHQhPT1udWxsKXJldHVybnttb2RlOiJyZ2IiLGNvbG9yOltwYXJzZUludCh0WzFdLDE2KSxwYXJzZUludCh0WzJdLDE2KSxwYXJzZUludCh0WzNdLDE2KV0ubWFwKHM9PnMudG9TdHJpbmcoKSksYWxwaGE6dFs0XT8ocGFyc2VJbnQodFs0XSwxNikvMjU1KS50b1N0cmluZygpOnZvaWQgMH07bGV0IGk9ci5tYXRjaChVdik/P3IubWF0Y2goVnYpO2lmKGk9PT1udWxsKXJldHVybiBudWxsO2xldCBuPVtpWzJdLGlbM10saVs0XV0uZmlsdGVyKEJvb2xlYW4pLm1hcChzPT5zLnRvU3RyaW5nKCkpO3JldHVybiBuLmxlbmd0aD09PTImJm5bMF0uc3RhcnRzV2l0aCgidmFyKCIpP3ttb2RlOmlbMV0sY29sb3I6W25bMF1dLGFscGhhOm5bMV19OiFlJiZuLmxlbmd0aCE9PTN8fG4ubGVuZ3RoPDMmJiFuLnNvbWUocz0+L152YXJcKC4qP1wpJC8udGVzdChzKSk/bnVsbDp7bW9kZTppWzFdLGNvbG9yOm4sYWxwaGE6aVs1XT8udG9TdHJpbmc/LigpfX1mdW5jdGlvbiBHcyh7bW9kZTpyLGNvbG9yOmUsYWxwaGE6dH0pe2xldCBpPXQhPT12b2lkIDA7cmV0dXJuIHI9PT0icmdiYSJ8fHI9PT0iaHNsYSI/YCR7cn0oJHtlLmpvaW4oIiwgIil9JHtpP2AsICR7dH1gOiIifSlgOmAke3J9KCR7ZS5qb2luKCIgIil9JHtpP2AgLyAke3R9YDoiIn0pYH12YXIganYsenYsQXQsSmkscWYsQ3QsVXYsVnYsUXM9UCgoKT0+e3UoKTtEZigpO2p2PS9eIyhbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KT8kL2ksenY9L14jKFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pPyQvaSxBdD0vKD86XGQrfFxkKlwuXGQrKSU/LyxKaT0vKD86XHMqLFxzKnxccyspLyxxZj0vXHMqWywvXVxzKi8sQ3Q9L3ZhclwoLS0oPzpbXiApXSo/KSg/OiwoPzpbXiApXSo/fHZhclwoLS1bXiApXSo/XCkpKT9cKS8sVXY9bmV3IFJlZ0V4cChgXihyZ2JhPylcXChcXHMqKCR7QXQuc291cmNlfXwke0N0LnNvdXJjZX0pKD86JHtKaS5zb3VyY2V9KCR7QXQuc291cmNlfXwke0N0LnNvdXJjZX0pKT8oPzoke0ppLnNvdXJjZX0oJHtBdC5zb3VyY2V9fCR7Q3Quc291cmNlfSkpPyg/OiR7cWYuc291cmNlfSgke0F0LnNvdXJjZX18JHtDdC5zb3VyY2V9KSk/XFxzKlxcKSRgKSxWdj1uZXcgUmVnRXhwKGBeKGhzbGE/KVxcKFxccyooKD86JHtBdC5zb3VyY2V9KSg/OmRlZ3xyYWR8Z3JhZHx0dXJuKT98JHtDdC5zb3VyY2V9KSg/OiR7Smkuc291cmNlfSgke0F0LnNvdXJjZX18JHtDdC5zb3VyY2V9KSk/KD86JHtKaS5zb3VyY2V9KCR7QXQuc291cmNlfXwke0N0LnNvdXJjZX0pKT8oPzoke3FmLnNvdXJjZX0oJHtBdC5zb3VyY2V9fCR7Q3Quc291cmNlfSkpP1xccypcXCkkYCl9KTtmdW5jdGlvbiBKZShyLGUsdCl7aWYodHlwZW9mIHI9PSJmdW5jdGlvbiIpcmV0dXJuIHIoe29wYWNpdHlWYWx1ZTplfSk7bGV0IGk9JHIocix7bG9vc2U6ITB9KTtyZXR1cm4gaT09PW51bGw/dDpHcyh7Li4uaSxhbHBoYTplfSl9ZnVuY3Rpb24gQWUoe2NvbG9yOnIscHJvcGVydHk6ZSx2YXJpYWJsZTp0fSl7bGV0IGk9W10uY29uY2F0KGUpO2lmKHR5cGVvZiByPT0iZnVuY3Rpb24iKXJldHVybntbdF06IjEiLC4uLk9iamVjdC5mcm9tRW50cmllcyhpLm1hcChzPT5bcyxyKHtvcGFjaXR5VmFyaWFibGU6dCxvcGFjaXR5VmFsdWU6YHZhcigke3R9LCAxKWB9KV0pKX07bGV0IG49JHIocik7cmV0dXJuIG49PT1udWxsP09iamVjdC5mcm9tRW50cmllcyhpLm1hcChzPT5bcyxyXSkpOm4uYWxwaGEhPT12b2lkIDA/T2JqZWN0LmZyb21FbnRyaWVzKGkubWFwKHM9PltzLHJdKSk6e1t0XToiMSIsLi4uT2JqZWN0LmZyb21FbnRyaWVzKGkubWFwKHM9PltzLEdzKHsuLi5uLGFscGhhOmB2YXIoJHt0fSwgMSlgfSldKSl9fXZhciBMcj1QKCgpPT57dSgpO1FzKCl9KTtmdW5jdGlvbiB2ZShyLGUpe2xldCB0PVtdLGk9W10sbj0wLHM9ITE7Zm9yKGxldCBhPTA7YTxyLmxlbmd0aDthKyspe2xldCBvPXJbYV07dC5sZW5ndGg9PT0wJiZvPT09ZVswXSYmIXMmJihlLmxlbmd0aD09PTF8fHIuc2xpY2UoYSxhK2UubGVuZ3RoKT09PWUpJiYoaS5wdXNoKHIuc2xpY2UobixhKSksbj1hK2UubGVuZ3RoKSxzPXM/ITE6bz09PSJcXCIsbz09PSIoInx8bz09PSJbInx8bz09PSJ7Ij90LnB1c2gobyk6KG89PT0iKSImJnRbdC5sZW5ndGgtMV09PT0iKCJ8fG89PT0iXSImJnRbdC5sZW5ndGgtMV09PT0iWyJ8fG89PT0ifSImJnRbdC5sZW5ndGgtMV09PT0ieyIpJiZ0LnBvcCgpfXJldHVybiBpLnB1c2goci5zbGljZShuKSksaX12YXIgenQ9UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIGVuKHIpe3JldHVybiB2ZShyLCIsIikubWFwKHQ9PntsZXQgaT10LnRyaW0oKSxuPXtyYXc6aX0scz1pLnNwbGl0KFd2KSxhPW5ldyBTZXQ7Zm9yKGxldCBvIG9mIHMpJGYubGFzdEluZGV4PTAsIWEuaGFzKCJLRVlXT1JEIikmJkh2LmhhcyhvKT8obi5rZXl3b3JkPW8sYS5hZGQoIktFWVdPUkQiKSk6JGYudGVzdChvKT9hLmhhcygiWCIpP2EuaGFzKCJZIik/YS5oYXMoIkJMVVIiKT9hLmhhcygiU1BSRUFEIil8fChuLnNwcmVhZD1vLGEuYWRkKCJTUFJFQUQiKSk6KG4uYmx1cj1vLGEuYWRkKCJCTFVSIikpOihuLnk9byxhLmFkZCgiWSIpKToobi54PW8sYS5hZGQoIlgiKSk6bi5jb2xvcj8obi51bmtub3dufHwobi51bmtub3duPVtdKSxuLnVua25vd24ucHVzaChvKSk6bi5jb2xvcj1vO3JldHVybiBuLnZhbGlkPW4ueCE9PXZvaWQgMCYmbi55IT09dm9pZCAwLG59KX1mdW5jdGlvbiBMZihyKXtyZXR1cm4gci5tYXAoZT0+ZS52YWxpZD9bZS5rZXl3b3JkLGUueCxlLnksZS5ibHVyLGUuc3ByZWFkLGUuY29sb3JdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIik6ZS5yYXcpLmpvaW4oIiwgIil9dmFyIEh2LFd2LCRmLFlzPVAoKCk9Pnt1KCk7enQoKTtIdj1uZXcgU2V0KFsiaW5zZXQiLCJpbmhlcml0IiwiaW5pdGlhbCIsInJldmVydCIsInVuc2V0Il0pLFd2PS9cICsoPyFbXihdKlwpKS9nLCRmPS9eLT8oXGQrfFwuXGQrKSguKj8pJC9nfSk7ZnVuY3Rpb24gS3Mocil7cmV0dXJuIEd2LnNvbWUoZT0+bmV3IFJlZ0V4cChgXiR7ZX1cXCguKlxcKWApLnRlc3QocikpfWZ1bmN0aW9uIEsocixlPW51bGwsdD0hMCl7bGV0IGk9ZSYmUXYuaGFzKGUucHJvcGVydHkpO3JldHVybiByLnN0YXJ0c1dpdGgoIi0tIikmJiFpP2B2YXIoJHtyfSlgOnIuaW5jbHVkZXMoInVybCgiKT9yLnNwbGl0KC8odXJsXCguKj9cKSkvZykuZmlsdGVyKEJvb2xlYW4pLm1hcChuPT4vXnVybFwoLio/XCkkLy50ZXN0KG4pP246SyhuLGUsITEpKS5qb2luKCIiKToocj1yLnJlcGxhY2UoLyhbXlxcXSlfKy9nLChuLHMpPT5zKyIgIi5yZXBlYXQobi5sZW5ndGgtMSkpLnJlcGxhY2UoL15fL2csIiAiKS5yZXBsYWNlKC9cXF8vZywiXyIpLHQmJihyPXIudHJpbSgpKSxyPVl2KHIpLHIpfWZ1bmN0aW9uIFllKHIpe3JldHVybiByLmluY2x1ZGVzKCI9IikmJihyPXIucmVwbGFjZSgvKD0uKikvZywoZSx0KT0+e2lmKHRbMV09PT0iJyJ8fHRbMV09PT0nIicpcmV0dXJuIHQ7aWYodC5sZW5ndGg+Mil7bGV0IGk9dFt0Lmxlbmd0aC0xXTtpZih0W3QubGVuZ3RoLTJdPT09IiAiJiYoaT09PSJpInx8aT09PSJJInx8aT09PSJzInx8aT09PSJTIikpcmV0dXJuYD0iJHt0LnNsaWNlKDEsLTIpfSIgJHt0W3QubGVuZ3RoLTFdfWB9cmV0dXJuYD0iJHt0LnNsaWNlKDEpfSJgfSkpLHJ9ZnVuY3Rpb24gWXYocil7bGV0IGU9WyJ0aGVtZSJdLHQ9WyJtaW4tY29udGVudCIsIm1heC1jb250ZW50IiwiZml0LWNvbnRlbnQiLCJzYWZlLWFyZWEtaW5zZXQtdG9wIiwic2FmZS1hcmVhLWluc2V0LXJpZ2h0Iiwic2FmZS1hcmVhLWluc2V0LWJvdHRvbSIsInNhZmUtYXJlYS1pbnNldC1sZWZ0IiwidGl0bGViYXItYXJlYS14IiwidGl0bGViYXItYXJlYS15IiwidGl0bGViYXItYXJlYS13aWR0aCIsInRpdGxlYmFyLWFyZWEtaGVpZ2h0Iiwia2V5Ym9hcmQtaW5zZXQtdG9wIiwia2V5Ym9hcmQtaW5zZXQtcmlnaHQiLCJrZXlib2FyZC1pbnNldC1ib3R0b20iLCJrZXlib2FyZC1pbnNldC1sZWZ0Iiwia2V5Ym9hcmQtaW5zZXQtd2lkdGgiLCJrZXlib2FyZC1pbnNldC1oZWlnaHQiLCJyYWRpYWwtZ3JhZGllbnQiLCJsaW5lYXItZ3JhZGllbnQiLCJjb25pYy1ncmFkaWVudCIsInJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQiLCJyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50IiwicmVwZWF0aW5nLWNvbmljLWdyYWRpZW50IiwiYW5jaG9yLXNpemUiXTtyZXR1cm4gci5yZXBsYWNlKC8oY2FsY3xtaW58bWF4fGNsYW1wKVwoLitcKS9nLGk9PntsZXQgbj0iIjtmdW5jdGlvbiBzKCl7bGV0IGE9bi50cmltRW5kKCk7cmV0dXJuIGFbYS5sZW5ndGgtMV19Zm9yKGxldCBhPTA7YTxpLmxlbmd0aDthKyspe2xldCBvPWZ1bmN0aW9uKGYpe3JldHVybiBmLnNwbGl0KCIiKS5ldmVyeSgoZCxwKT0+aVthK3BdPT09ZCl9LGw9ZnVuY3Rpb24oZil7bGV0IGQ9MS8wO2ZvcihsZXQgaCBvZiBmKXtsZXQgYj1pLmluZGV4T2YoaCxhKTtiIT09LTEmJmI8ZCYmKGQ9Yil9bGV0IHA9aS5zbGljZShhLGQpO3JldHVybiBhKz1wLmxlbmd0aC0xLHB9LGM9aVthXTtpZihvKCJ2YXIiKSluKz1sKFsiKSIsIiwiXSk7ZWxzZSBpZih0LnNvbWUoZj0+byhmKSkpe2xldCBmPXQuZmluZChkPT5vKGQpKTtuKz1mLGErPWYubGVuZ3RoLTF9ZWxzZSBlLnNvbWUoZj0+byhmKSk/bis9bChbIikiXSk6bygiWyIpP24rPWwoWyJdIl0pOlsiKyIsIi0iLCIqIiwiLyJdLmluY2x1ZGVzKGMpJiYhWyIoIiwiKyIsIi0iLCIqIiwiLyIsIiwiXS5pbmNsdWRlcyhzKCkpP24rPWAgJHtjfSBgOm4rPWN9cmV0dXJuIG4ucmVwbGFjZSgvXHMrL2csIiAiKX0pfWZ1bmN0aW9uIFhzKHIpe3JldHVybiByLnN0YXJ0c1dpdGgoInVybCgiKX1mdW5jdGlvbiBacyhyKXtyZXR1cm4haXNOYU4oTnVtYmVyKHIpKXx8S3Mocil9ZnVuY3Rpb24gTXIocil7cmV0dXJuIHIuZW5kc1dpdGgoIiUiKSYmWnMoci5zbGljZSgwLC0xKSl8fEtzKHIpfWZ1bmN0aW9uIE5yKHIpe3JldHVybiByPT09IjAifHxuZXcgUmVnRXhwKGBeWystXT9bMC05XSouP1swLTldKyg/OltlRV1bKy1dP1swLTldKyk/JHtYdn0kYCkudGVzdChyKXx8S3Mocil9ZnVuY3Rpb24gTWYocil7cmV0dXJuIFp2LmhhcyhyKX1mdW5jdGlvbiBOZihyKXtsZXQgZT1lbihLKHIpKTtmb3IobGV0IHQgb2YgZSlpZighdC52YWxpZClyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBCZihyKXtsZXQgZT0wO3JldHVybiB2ZShyLCJfIikuZXZlcnkoaT0+KGk9SyhpKSxpLnN0YXJ0c1dpdGgoInZhcigiKT8hMDokcihpLHtsb29zZTohMH0pIT09bnVsbD8oZSsrLCEwKTohMSkpP2U+MDohMX1mdW5jdGlvbiBGZihyKXtsZXQgZT0wO3JldHVybiB2ZShyLCIsIikuZXZlcnkoaT0+KGk9SyhpKSxpLnN0YXJ0c1dpdGgoInZhcigiKT8hMDpYcyhpKXx8ZXgoaSl8fFsiZWxlbWVudCgiLCJpbWFnZSgiLCJjcm9zcy1mYWRlKCIsImltYWdlLXNldCgiXS5zb21lKG49Pmkuc3RhcnRzV2l0aChuKSk/KGUrKywhMCk6ITEpKT9lPjA6ITF9ZnVuY3Rpb24gZXgocil7cj1LKHIpO2ZvcihsZXQgZSBvZiBKdilpZihyLnN0YXJ0c1dpdGgoYCR7ZX0oYCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gamYocil7bGV0IGU9MDtyZXR1cm4gdmUociwiXyIpLmV2ZXJ5KGk9PihpPUsoaSksaS5zdGFydHNXaXRoKCJ2YXIoIik/ITA6dHguaGFzKGkpfHxOcihpKXx8TXIoaSk/KGUrKywhMCk6ITEpKT9lPjA6ITF9ZnVuY3Rpb24gemYocil7bGV0IGU9MDtyZXR1cm4gdmUociwiLCIpLmV2ZXJ5KGk9PihpPUsoaSksaS5zdGFydHNXaXRoKCJ2YXIoIik/ITA6aS5pbmNsdWRlcygiICIpJiYhLyhbJyJdKShbXiInXSspXDEvZy50ZXN0KGkpfHwvXlxkL2cudGVzdChpKT8hMTooZSsrLCEwKSkpP2U+MDohMX1mdW5jdGlvbiBVZihyKXtyZXR1cm4gcnguaGFzKHIpfWZ1bmN0aW9uIFZmKHIpe3JldHVybiBpeC5oYXMocil9ZnVuY3Rpb24gSGYocil7cmV0dXJuIG54LmhhcyhyKX12YXIgR3YsUXYsS3YsWHYsWnYsSnYsdHgscngsaXgsbngsQnI9UCgoKT0+e3UoKTtRcygpO1lzKCk7enQoKTtHdj1bIm1pbiIsIm1heCIsImNsYW1wIiwiY2FsYyJdO1F2PW5ldyBTZXQoWyJzY3JvbGwtdGltZWxpbmUtbmFtZSIsInRpbWVsaW5lLXNjb3BlIiwidmlldy10aW1lbGluZS1uYW1lIiwiZm9udC1wYWxldHRlIiwiYW5jaG9yLW5hbWUiLCJhbmNob3Itc2NvcGUiLCJwb3NpdGlvbi1hbmNob3IiLCJwb3NpdGlvbi10cnktb3B0aW9ucyIsInNjcm9sbC10aW1lbGluZSIsImFuaW1hdGlvbi10aW1lbGluZSIsInZpZXctdGltZWxpbmUiLCJwb3NpdGlvbi10cnkiXSk7S3Y9WyJjbSIsIm1tIiwiUSIsImluIiwicGMiLCJwdCIsInB4IiwiZW0iLCJleCIsImNoIiwicmVtIiwibGgiLCJybGgiLCJ2dyIsInZoIiwidm1pbiIsInZtYXgiLCJ2YiIsInZpIiwic3Z3Iiwic3ZoIiwibHZ3IiwibHZoIiwiZHZ3IiwiZHZoIiwiY3F3IiwiY3FoIiwiY3FpIiwiY3FiIiwiY3FtaW4iLCJjcW1heCJdLFh2PWAoPzoke0t2LmpvaW4oInwiKX0pYDtadj1uZXcgU2V0KFsidGhpbiIsIm1lZGl1bSIsInRoaWNrIl0pO0p2PW5ldyBTZXQoWyJjb25pYy1ncmFkaWVudCIsImxpbmVhci1ncmFkaWVudCIsInJhZGlhbC1ncmFkaWVudCIsInJlcGVhdGluZy1jb25pYy1ncmFkaWVudCIsInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiLCJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50Il0pO3R4PW5ldyBTZXQoWyJjZW50ZXIiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXSk7cng9bmV3IFNldChbInNlcmlmIiwic2Fucy1zZXJpZiIsIm1vbm9zcGFjZSIsImN1cnNpdmUiLCJmYW50YXN5Iiwic3lzdGVtLXVpIiwidWktc2VyaWYiLCJ1aS1zYW5zLXNlcmlmIiwidWktbW9ub3NwYWNlIiwidWktcm91bmRlZCIsIm1hdGgiLCJlbW9qaSIsImZhbmdzb25nIl0pO2l4PW5ldyBTZXQoWyJ4eC1zbWFsbCIsIngtc21hbGwiLCJzbWFsbCIsIm1lZGl1bSIsImxhcmdlIiwieC1sYXJnZSIsInh4LWxhcmdlIiwieHh4LWxhcmdlIl0pO254PW5ldyBTZXQoWyJsYXJnZXIiLCJzbWFsbGVyIl0pfSk7ZnVuY3Rpb24gV2Yocil7bGV0IGU9WyJjb3ZlciIsImNvbnRhaW4iXTtyZXR1cm4gdmUociwiLCIpLmV2ZXJ5KHQ9PntsZXQgaT12ZSh0LCJfIikuZmlsdGVyKEJvb2xlYW4pO3JldHVybiBpLmxlbmd0aD09PTEmJmUuaW5jbHVkZXMoaVswXSk/ITA6aS5sZW5ndGghPT0xJiZpLmxlbmd0aCE9PTI/ITE6aS5ldmVyeShuPT5OcihuKXx8TXIobil8fG49PT0iYXV0byIpfSl9dmFyIEdmPVAoKCk9Pnt1KCk7QnIoKTt6dCgpfSk7ZnVuY3Rpb24gUWYocixlKXtyLndhbGtDbGFzc2VzKHQ9Pnt0LnZhbHVlPWUodC52YWx1ZSksdC5yYXdzJiZ0LnJhd3MudmFsdWUmJih0LnJhd3MudmFsdWU9anQodC5yYXdzLnZhbHVlKSl9KX1mdW5jdGlvbiBZZihyLGUpe2lmKCFfdChyKSlyZXR1cm47bGV0IHQ9ci5zbGljZSgxLC0xKTtpZighIWUodCkpcmV0dXJuIEsodCl9ZnVuY3Rpb24gc3gocixlPXt9LHQpe2xldCBpPWVbcl07aWYoaSE9PXZvaWQgMClyZXR1cm4geHQoaSk7aWYoX3Qocikpe2xldCBuPVlmKHIsdCk7cmV0dXJuIG49PT12b2lkIDA/dm9pZCAwOnh0KG4pfX1mdW5jdGlvbiB0bihyLGU9e30se3ZhbGlkYXRlOnQ9KCk9PiEwfT17fSl7bGV0IGk9ZS52YWx1ZXM/LltyXTtyZXR1cm4gaSE9PXZvaWQgMD9pOmUuc3VwcG9ydHNOZWdhdGl2ZVZhbHVlcyYmci5zdGFydHNXaXRoKCItIik/c3goci5zbGljZSgxKSxlLnZhbHVlcyx0KTpZZihyLHQpfWZ1bmN0aW9uIF90KHIpe3JldHVybiByLnN0YXJ0c1dpdGgoIlsiKSYmci5lbmRzV2l0aCgiXSIpfWZ1bmN0aW9uIEtmKHIpe2xldCBlPXIubGFzdEluZGV4T2YoIi8iKSx0PXIubGFzdEluZGV4T2YoIlsiLGUpLGk9ci5pbmRleE9mKCJdIixlKTtyZXR1cm4gcltlLTFdPT09Il0ifHxyW2UrMV09PT0iWyJ8fHQhPT0tMSYmaSE9PS0xJiZ0PGUmJmU8aSYmKGU9ci5sYXN0SW5kZXhPZigiLyIsdCkpLGU9PT0tMXx8ZT09PXIubGVuZ3RoLTE/W3Isdm9pZCAwXTpfdChyKSYmIXIuaW5jbHVkZXMoIl0vWyIpP1tyLHZvaWQgMF06W3Iuc2xpY2UoMCxlKSxyLnNsaWNlKGUrMSldfWZ1bmN0aW9uIFh0KHIpe2lmKHR5cGVvZiByPT0ic3RyaW5nIiYmci5pbmNsdWRlcygiPGFscGhhLXZhbHVlPiIpKXtsZXQgZT1yO3JldHVybih7b3BhY2l0eVZhbHVlOnQ9MX0pPT5lLnJlcGxhY2UoLzxhbHBoYS12YWx1ZT4vZyx0KX1yZXR1cm4gcn1mdW5jdGlvbiBYZihyKXtyZXR1cm4gSyhyLnNsaWNlKDEsLTEpKX1mdW5jdGlvbiBheChyLGU9e30se3RhaWx3aW5kQ29uZmlnOnQ9e319PXt9KXtpZihlLnZhbHVlcz8uW3JdIT09dm9pZCAwKXJldHVybiBYdChlLnZhbHVlcz8uW3JdKTtsZXRbaSxuXT1LZihyKTtpZihuIT09dm9pZCAwKXtsZXQgcz1lLnZhbHVlcz8uW2ldPz8oX3QoaSk/aS5zbGljZSgxLC0xKTp2b2lkIDApO3JldHVybiBzPT09dm9pZCAwP3ZvaWQgMDoocz1YdChzKSxfdChuKT9KZShzLFhmKG4pKTp0LnRoZW1lPy5vcGFjaXR5Py5bbl09PT12b2lkIDA/dm9pZCAwOkplKHMsdC50aGVtZS5vcGFjaXR5W25dKSl9cmV0dXJuIHRuKHIsZSx7dmFsaWRhdGU6QmZ9KX1mdW5jdGlvbiBveChyLGU9e30pe3JldHVybiBlLnZhbHVlcz8uW3JdfWZ1bmN0aW9uIHFlKHIpe3JldHVybihlLHQpPT50bihlLHQse3ZhbGlkYXRlOnJ9KX1mdW5jdGlvbiBseChyLGUpe2xldCB0PXIuaW5kZXhPZihlKTtyZXR1cm4gdD09PS0xP1t2b2lkIDAscl06W3Iuc2xpY2UoMCx0KSxyLnNsaWNlKHQrMSldfWZ1bmN0aW9uIGVhKHIsZSx0LGkpe2lmKHQudmFsdWVzJiZlIGluIHQudmFsdWVzKWZvcihsZXR7dHlwZTpzfW9mIHI/P1tdKXtsZXQgYT1Kc1tzXShlLHQse3RhaWx3aW5kQ29uZmlnOml9KTtpZihhIT09dm9pZCAwKXJldHVyblthLHMsbnVsbF19aWYoX3QoZSkpe2xldCBzPWUuc2xpY2UoMSwtMSksW2Esb109bHgocywiOiIpO2lmKCEvXltcdy1fXSskL2cudGVzdChhKSlvPXM7ZWxzZSBpZihhIT09dm9pZCAwJiYhWmYuaW5jbHVkZXMoYSkpcmV0dXJuW107aWYoby5sZW5ndGg+MCYmWmYuaW5jbHVkZXMoYSkpcmV0dXJuW3RuKGBbJHtvfV1gLHQpLGEsbnVsbF19bGV0IG49dGEocixlLHQsaSk7Zm9yKGxldCBzIG9mIG4pcmV0dXJuIHM7cmV0dXJuW119ZnVuY3Rpb24qdGEocixlLHQsaSl7bGV0IG49d2UoaSwiZ2VuZXJhbGl6ZWRNb2RpZmllcnMiKSxbcyxhXT1LZihlKTtpZihuJiZ0Lm1vZGlmaWVycyE9bnVsbCYmKHQubW9kaWZpZXJzPT09ImFueSJ8fHR5cGVvZiB0Lm1vZGlmaWVycz09Im9iamVjdCImJihhJiZfdChhKXx8YSBpbiB0Lm1vZGlmaWVycykpfHwocz1lLGE9dm9pZCAwKSxhIT09dm9pZCAwJiZzPT09IiImJihzPSJERUZBVUxUIiksYSE9PXZvaWQgMCYmdHlwZW9mIHQubW9kaWZpZXJzPT0ib2JqZWN0Iil7bGV0IGw9dC5tb2RpZmllcnM/LlthXT8/bnVsbDtsIT09bnVsbD9hPWw6X3QoYSkmJihhPVhmKGEpKX1mb3IobGV0e3R5cGU6bH1vZiByPz9bXSl7bGV0IGM9SnNbbF0ocyx0LHt0YWlsd2luZENvbmZpZzppfSk7YyE9PXZvaWQgMCYmKHlpZWxkW2MsbCxhPz9udWxsXSl9fXZhciBKcyxaZixGcj1QKCgpPT57dSgpO1ppKCk7THIoKTtCcigpO0dpKCk7R2YoKTtjdCgpO0pzPXthbnk6dG4sY29sb3I6YXgsdXJsOnFlKFhzKSxpbWFnZTpxZShGZiksbGVuZ3RoOnFlKE5yKSxwZXJjZW50YWdlOnFlKE1yKSxwb3NpdGlvbjpxZShqZiksbG9va3VwOm94LCJnZW5lcmljLW5hbWUiOnFlKFVmKSwiZmFtaWx5LW5hbWUiOnFlKHpmKSxudW1iZXI6cWUoWnMpLCJsaW5lLXdpZHRoIjpxZShNZiksImFic29sdXRlLXNpemUiOnFlKFZmKSwicmVsYXRpdmUtc2l6ZSI6cWUoSGYpLHNoYWRvdzpxZShOZiksc2l6ZTpxZShXZil9LFpmPU9iamVjdC5rZXlzKEpzKX0pO2Z1bmN0aW9uIFgocil7cmV0dXJuIHR5cGVvZiByPT0iZnVuY3Rpb24iP3Ioe30pOnJ9dmFyIHJhPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBadChyKXtyZXR1cm4gdHlwZW9mIHI9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24ganIociwuLi5lKXtsZXQgdD1lLnBvcCgpO2ZvcihsZXQgaSBvZiBlKWZvcihsZXQgbiBpbiBpKXtsZXQgcz10KHJbbl0saVtuXSk7cz09PXZvaWQgMD9rZShyW25dKSYma2UoaVtuXSk/cltuXT1qcih7fSxyW25dLGlbbl0sdCk6cltuXT1pW25dOnJbbl09c31yZXR1cm4gcn1mdW5jdGlvbiB1eChyLC4uLmUpe3JldHVybiBadChyKT9yKC4uLmUpOnJ9ZnVuY3Rpb24gZngocil7cmV0dXJuIHIucmVkdWNlKChlLHtleHRlbmQ6dH0pPT5qcihlLHQsKGksbik9Pmk9PT12b2lkIDA/W25dOkFycmF5LmlzQXJyYXkoaSk/W24sLi4uaV06W24saV0pLHt9KX1mdW5jdGlvbiBjeChyKXtyZXR1cm57Li4uci5yZWR1Y2UoKGUsdCk9PkhzKGUsdCkse30pLGV4dGVuZDpmeChyKX19ZnVuY3Rpb24gSmYocixlKXtpZihBcnJheS5pc0FycmF5KHIpJiZrZShyWzBdKSlyZXR1cm4gci5jb25jYXQoZSk7aWYoQXJyYXkuaXNBcnJheShlKSYma2UoZVswXSkmJmtlKHIpKXJldHVybltyLC4uLmVdO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9ZnVuY3Rpb24gcHgoe2V4dGVuZDpyLC4uLmV9KXtyZXR1cm4ganIoZSxyLCh0LGkpPT4hWnQodCkmJiFpLnNvbWUoWnQpP2pyKHt9LHQsLi4uaSxKZik6KG4scyk9PmpyKHt9LC4uLlt0LC4uLmldLm1hcChhPT51eChhLG4scykpLEpmKSl9ZnVuY3Rpb24qZHgocil7bGV0IGU9a3Qocik7aWYoZS5sZW5ndGg9PT0wfHwoeWllbGQgZSxBcnJheS5pc0FycmF5KHIpKSlyZXR1cm47bGV0IHQ9L14oLio/KVxzKlwvXHMqKFteL10rKSQvLGk9ci5tYXRjaCh0KTtpZihpIT09bnVsbCl7bGV0WyxuLHNdPWksYT1rdChuKTthLmFscGhhPXMseWllbGQgYX19ZnVuY3Rpb24gaHgocil7bGV0IGU9KHQsaSk9Pntmb3IobGV0IG4gb2YgZHgodCkpe2xldCBzPTAsYT1yO2Zvcig7YSE9bnVsbCYmczxuLmxlbmd0aDspYT1hW25bcysrXV0sYT1adChhKSYmKG4uYWxwaGE9PT12b2lkIDB8fHM8PW4ubGVuZ3RoLTEpP2EoZSxpYSk6YTtpZihhIT09dm9pZCAwKXtpZihuLmFscGhhIT09dm9pZCAwKXtsZXQgbz1YdChhKTtyZXR1cm4gSmUobyxuLmFscGhhLFgobykpfXJldHVybiBrZShhKT9TdChhKTphfX1yZXR1cm4gaX07cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7dGhlbWU6ZSwuLi5pYX0pLE9iamVjdC5rZXlzKHIpLnJlZHVjZSgodCxpKT0+KHRbaV09WnQocltpXSk/cltpXShlLGlhKTpyW2ldLHQpLHt9KX1mdW5jdGlvbiBlYyhyKXtsZXQgZT1bXTtyZXR1cm4gci5mb3JFYWNoKHQ9PntlPVsuLi5lLHRdO2xldCBpPXQ/LnBsdWdpbnM/P1tdO2kubGVuZ3RoIT09MCYmaS5mb3JFYWNoKG49PntuLl9faXNPcHRpb25zRnVuY3Rpb24mJihuPW4oKSksZT1bLi4uZSwuLi5lYyhbbj8uY29uZmlnPz97fV0pXX0pfSksZX1mdW5jdGlvbiBteChyKXtyZXR1cm5bLi4ucl0ucmVkdWNlUmlnaHQoKHQsaSk9Plp0KGkpP2koe2NvcmVQbHVnaW5zOnR9KTprZihpLHQpLHZmKX1mdW5jdGlvbiBneChyKXtyZXR1cm5bLi4ucl0ucmVkdWNlUmlnaHQoKHQsaSk9PlsuLi50LC4uLmldLFtdKX1mdW5jdGlvbiBuYShyKXtsZXQgZT1bLi4uZWMocikse3ByZWZpeDoiIixpbXBvcnRhbnQ6ITEsc2VwYXJhdG9yOiI6In1dO3JldHVybiBQZihIcyh7dGhlbWU6aHgocHgoY3goZS5tYXAodD0+dD8udGhlbWU/P3t9KSkpKSxjb3JlUGx1Z2luczpteChlLm1hcCh0PT50LmNvcmVQbHVnaW5zKSkscGx1Z2luczpneChyLm1hcCh0PT50Py5wbHVnaW5zPz9bXSkpfSwuLi5lKSl9dmFyIGlhLHRjPVAoKCk9Pnt1KCk7R2koKTt4ZigpO1NmKCk7VnMoKTtFZigpO1lpKCk7SWYoKTtLdCgpO1hpKCk7RnIoKTtMcigpO3JhKCk7aWE9e2NvbG9yczpVcyxuZWdhdGl2ZShyKXtyZXR1cm4gT2JqZWN0LmtleXMocikuZmlsdGVyKGU9PnJbZV0hPT0iMCIpLnJlZHVjZSgoZSx0KT0+e2xldCBpPXh0KHJbdF0pO3JldHVybiBpIT09dm9pZCAwJiYoZVtgLSR7dH1gXT1pKSxlfSx7fSl9LGJyZWFrcG9pbnRzKHIpe3JldHVybiBPYmplY3Qua2V5cyhyKS5maWx0ZXIoZT0+dHlwZW9mIHJbZV09PSJzdHJpbmciKS5yZWR1Y2UoKGUsdCk9Pih7Li4uZSxbYHNjcmVlbi0ke3R9YF06clt0XX0pLHt9KX19fSk7dmFyIHJuPXgoKGYzLHJjKT0+e3UoKTtyYy5leHBvcnRzPXtjb250ZW50OltdLHByZXNldHM6W10sZGFya01vZGU6Im1lZGlhIix0aGVtZTp7YWNjZW50Q29sb3I6KHt0aGVtZTpyfSk9Pih7Li4ucigiY29sb3JzIiksYXV0bzoiYXV0byJ9KSxhbmltYXRpb246e25vbmU6Im5vbmUiLHNwaW46InNwaW4gMXMgbGluZWFyIGluZmluaXRlIixwaW5nOiJwaW5nIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIGluZmluaXRlIixwdWxzZToicHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZSIsYm91bmNlOiJib3VuY2UgMXMgaW5maW5pdGUifSxhcmlhOntidXN5OididXN5PSJ0cnVlIicsY2hlY2tlZDonY2hlY2tlZD0idHJ1ZSInLGRpc2FibGVkOidkaXNhYmxlZD0idHJ1ZSInLGV4cGFuZGVkOidleHBhbmRlZD0idHJ1ZSInLGhpZGRlbjonaGlkZGVuPSJ0cnVlIicscHJlc3NlZDoncHJlc3NlZD0idHJ1ZSInLHJlYWRvbmx5OidyZWFkb25seT0idHJ1ZSInLHJlcXVpcmVkOidyZXF1aXJlZD0idHJ1ZSInLHNlbGVjdGVkOidzZWxlY3RlZD0idHJ1ZSInfSxhc3BlY3RSYXRpbzp7YXV0bzoiYXV0byIsc3F1YXJlOiIxIC8gMSIsdmlkZW86IjE2IC8gOSJ9LGJhY2tkcm9wQmx1cjooe3RoZW1lOnJ9KT0+cigiYmx1ciIpLGJhY2tkcm9wQnJpZ2h0bmVzczooe3RoZW1lOnJ9KT0+cigiYnJpZ2h0bmVzcyIpLGJhY2tkcm9wQ29udHJhc3Q6KHt0aGVtZTpyfSk9PnIoImNvbnRyYXN0IiksYmFja2Ryb3BHcmF5c2NhbGU6KHt0aGVtZTpyfSk9PnIoImdyYXlzY2FsZSIpLGJhY2tkcm9wSHVlUm90YXRlOih7dGhlbWU6cn0pPT5yKCJodWVSb3RhdGUiKSxiYWNrZHJvcEludmVydDooe3RoZW1lOnJ9KT0+cigiaW52ZXJ0IiksYmFja2Ryb3BPcGFjaXR5Oih7dGhlbWU6cn0pPT5yKCJvcGFjaXR5IiksYmFja2Ryb3BTYXR1cmF0ZTooe3RoZW1lOnJ9KT0+cigic2F0dXJhdGUiKSxiYWNrZHJvcFNlcGlhOih7dGhlbWU6cn0pPT5yKCJzZXBpYSIpLGJhY2tncm91bmRDb2xvcjooe3RoZW1lOnJ9KT0+cigiY29sb3JzIiksYmFja2dyb3VuZEltYWdlOntub25lOiJub25lIiwiZ3JhZGllbnQtdG8tdCI6ImxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSkiLCJncmFkaWVudC10by10ciI6ImxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSkiLCJncmFkaWVudC10by1yIjoibGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpIiwiZ3JhZGllbnQtdG8tYnIiOiJsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCB2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpIiwiZ3JhZGllbnQtdG8tYiI6ImxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSkiLCJncmFkaWVudC10by1ibCI6ImxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKSIsImdyYWRpZW50LXRvLWwiOiJsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKSIsImdyYWRpZW50LXRvLXRsIjoibGluZWFyLWdyYWRpZW50KHRvIHRvcCBsZWZ0LCB2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpIn0sYmFja2dyb3VuZE9wYWNpdHk6KHt0aGVtZTpyfSk9PnIoIm9wYWNpdHkiKSxiYWNrZ3JvdW5kUG9zaXRpb246e2JvdHRvbToiYm90dG9tIixjZW50ZXI6ImNlbnRlciIsbGVmdDoibGVmdCIsImxlZnQtYm90dG9tIjoibGVmdCBib3R0b20iLCJsZWZ0LXRvcCI6ImxlZnQgdG9wIixyaWdodDoicmlnaHQiLCJyaWdodC1ib3R0b20iOiJyaWdodCBib3R0b20iLCJyaWdodC10b3AiOiJyaWdodCB0b3AiLHRvcDoidG9wIn0sYmFja2dyb3VuZFNpemU6e2F1dG86ImF1dG8iLGNvdmVyOiJjb3ZlciIsY29udGFpbjoiY29udGFpbiJ9LGJsdXI6ezA6IjAiLG5vbmU6IiIsc206IjRweCIsREVGQVVMVDoiOHB4IixtZDoiMTJweCIsbGc6IjE2cHgiLHhsOiIyNHB4IiwiMnhsIjoiNDBweCIsIjN4bCI6IjY0cHgifSxib3JkZXJDb2xvcjooe3RoZW1lOnJ9KT0+KHsuLi5yKCJjb2xvcnMiKSxERUZBVUxUOnIoImNvbG9ycy5ncmF5LjIwMCIsImN1cnJlbnRDb2xvciIpfSksYm9yZGVyT3BhY2l0eTooe3RoZW1lOnJ9KT0+cigib3BhY2l0eSIpLGJvcmRlclJhZGl1czp7bm9uZToiMHB4IixzbToiMC4xMjVyZW0iLERFRkFVTFQ6IjAuMjVyZW0iLG1kOiIwLjM3NXJlbSIsbGc6IjAuNXJlbSIseGw6IjAuNzVyZW0iLCIyeGwiOiIxcmVtIiwiM3hsIjoiMS41cmVtIixmdWxsOiI5OTk5cHgifSxib3JkZXJTcGFjaW5nOih7dGhlbWU6cn0pPT4oey4uLnIoInNwYWNpbmciKX0pLGJvcmRlcldpZHRoOntERUZBVUxUOiIxcHgiLDA6IjBweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LGJveFNoYWRvdzp7c206IjAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpIixERUZBVUxUOiIwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpIixtZDoiMCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKSIsbGc6IjAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKSIseGw6IjAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMSkiLCIyeGwiOiIwIDI1cHggNTBweCAtMTJweCByZ2IoMCAwIDAgLyAwLjI1KSIsaW5uZXI6Imluc2V0IDAgMnB4IDRweCAwIHJnYigwIDAgMCAvIDAuMDUpIixub25lOiJub25lIn0sYm94U2hhZG93Q29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLGJyaWdodG5lc3M6ezA6IjAiLDUwOiIuNSIsNzU6Ii43NSIsOTA6Ii45Iiw5NToiLjk1IiwxMDA6IjEiLDEwNToiMS4wNSIsMTEwOiIxLjEiLDEyNToiMS4yNSIsMTUwOiIxLjUiLDIwMDoiMiJ9LGNhcmV0Q29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLGNvbG9yczooe2NvbG9yczpyfSk9Pih7aW5oZXJpdDpyLmluaGVyaXQsY3VycmVudDpyLmN1cnJlbnQsdHJhbnNwYXJlbnQ6ci50cmFuc3BhcmVudCxibGFjazpyLmJsYWNrLHdoaXRlOnIud2hpdGUsc2xhdGU6ci5zbGF0ZSxncmF5OnIuZ3JheSx6aW5jOnIuemluYyxuZXV0cmFsOnIubmV1dHJhbCxzdG9uZTpyLnN0b25lLHJlZDpyLnJlZCxvcmFuZ2U6ci5vcmFuZ2UsYW1iZXI6ci5hbWJlcix5ZWxsb3c6ci55ZWxsb3csbGltZTpyLmxpbWUsZ3JlZW46ci5ncmVlbixlbWVyYWxkOnIuZW1lcmFsZCx0ZWFsOnIudGVhbCxjeWFuOnIuY3lhbixza3k6ci5za3ksYmx1ZTpyLmJsdWUsaW5kaWdvOnIuaW5kaWdvLHZpb2xldDpyLnZpb2xldCxwdXJwbGU6ci5wdXJwbGUsZnVjaHNpYTpyLmZ1Y2hzaWEscGluazpyLnBpbmsscm9zZTpyLnJvc2V9KSxjb2x1bW5zOnthdXRvOiJhdXRvIiwxOiIxIiwyOiIyIiwzOiIzIiw0OiI0Iiw1OiI1Iiw2OiI2Iiw3OiI3Iiw4OiI4Iiw5OiI5IiwxMDoiMTAiLDExOiIxMSIsMTI6IjEyIiwiM3hzIjoiMTZyZW0iLCIyeHMiOiIxOHJlbSIseHM6IjIwcmVtIixzbToiMjRyZW0iLG1kOiIyOHJlbSIsbGc6IjMycmVtIix4bDoiMzZyZW0iLCIyeGwiOiI0MnJlbSIsIjN4bCI6IjQ4cmVtIiwiNHhsIjoiNTZyZW0iLCI1eGwiOiI2NHJlbSIsIjZ4bCI6IjcycmVtIiwiN3hsIjoiODByZW0ifSxjb250YWluZXI6e30sY29udGVudDp7bm9uZToibm9uZSJ9LGNvbnRyYXN0OnswOiIwIiw1MDoiLjUiLDc1OiIuNzUiLDEwMDoiMSIsMTI1OiIxLjI1IiwxNTA6IjEuNSIsMjAwOiIyIn0sY3Vyc29yOnthdXRvOiJhdXRvIixkZWZhdWx0OiJkZWZhdWx0Iixwb2ludGVyOiJwb2ludGVyIix3YWl0OiJ3YWl0Iix0ZXh0OiJ0ZXh0Iixtb3ZlOiJtb3ZlIixoZWxwOiJoZWxwIiwibm90LWFsbG93ZWQiOiJub3QtYWxsb3dlZCIsbm9uZToibm9uZSIsImNvbnRleHQtbWVudSI6ImNvbnRleHQtbWVudSIscHJvZ3Jlc3M6InByb2dyZXNzIixjZWxsOiJjZWxsIixjcm9zc2hhaXI6ImNyb3NzaGFpciIsInZlcnRpY2FsLXRleHQiOiJ2ZXJ0aWNhbC10ZXh0IixhbGlhczoiYWxpYXMiLGNvcHk6ImNvcHkiLCJuby1kcm9wIjoibm8tZHJvcCIsZ3JhYjoiZ3JhYiIsZ3JhYmJpbmc6ImdyYWJiaW5nIiwiYWxsLXNjcm9sbCI6ImFsbC1zY3JvbGwiLCJjb2wtcmVzaXplIjoiY29sLXJlc2l6ZSIsInJvdy1yZXNpemUiOiJyb3ctcmVzaXplIiwibi1yZXNpemUiOiJuLXJlc2l6ZSIsImUtcmVzaXplIjoiZS1yZXNpemUiLCJzLXJlc2l6ZSI6InMtcmVzaXplIiwidy1yZXNpemUiOiJ3LXJlc2l6ZSIsIm5lLXJlc2l6ZSI6Im5lLXJlc2l6ZSIsIm53LXJlc2l6ZSI6Im53LXJlc2l6ZSIsInNlLXJlc2l6ZSI6InNlLXJlc2l6ZSIsInN3LXJlc2l6ZSI6InN3LXJlc2l6ZSIsImV3LXJlc2l6ZSI6ImV3LXJlc2l6ZSIsIm5zLXJlc2l6ZSI6Im5zLXJlc2l6ZSIsIm5lc3ctcmVzaXplIjoibmVzdy1yZXNpemUiLCJud3NlLXJlc2l6ZSI6Im53c2UtcmVzaXplIiwiem9vbS1pbiI6Inpvb20taW4iLCJ6b29tLW91dCI6Inpvb20tb3V0In0sZGl2aWRlQ29sb3I6KHt0aGVtZTpyfSk9PnIoImJvcmRlckNvbG9yIiksZGl2aWRlT3BhY2l0eTooe3RoZW1lOnJ9KT0+cigiYm9yZGVyT3BhY2l0eSIpLGRpdmlkZVdpZHRoOih7dGhlbWU6cn0pPT5yKCJib3JkZXJXaWR0aCIpLGRyb3BTaGFkb3c6e3NtOiIwIDFweCAxcHggcmdiKDAgMCAwIC8gMC4wNSkiLERFRkFVTFQ6WyIwIDFweCAycHggcmdiKDAgMCAwIC8gMC4xKSIsIjAgMXB4IDFweCByZ2IoMCAwIDAgLyAwLjA2KSJdLG1kOlsiMCA0cHggM3B4IHJnYigwIDAgMCAvIDAuMDcpIiwiMCAycHggMnB4IHJnYigwIDAgMCAvIDAuMDYpIl0sbGc6WyIwIDEwcHggOHB4IHJnYigwIDAgMCAvIDAuMDQpIiwiMCA0cHggM3B4IHJnYigwIDAgMCAvIDAuMSkiXSx4bDpbIjAgMjBweCAxM3B4IHJnYigwIDAgMCAvIDAuMDMpIiwiMCA4cHggNXB4IHJnYigwIDAgMCAvIDAuMDgpIl0sIjJ4bCI6IjAgMjVweCAyNXB4IHJnYigwIDAgMCAvIDAuMTUpIixub25lOiIwIDAgIzAwMDAifSxmaWxsOih7dGhlbWU6cn0pPT4oe25vbmU6Im5vbmUiLC4uLnIoImNvbG9ycyIpfSksZmxleDp7MToiMSAxIDAlIixhdXRvOiIxIDEgYXV0byIsaW5pdGlhbDoiMCAxIGF1dG8iLG5vbmU6Im5vbmUifSxmbGV4QmFzaXM6KHt0aGVtZTpyfSk9Pih7YXV0bzoiYXV0byIsLi4ucigic3BhY2luZyIpLCIxLzIiOiI1MCUiLCIxLzMiOiIzMy4zMzMzMzMlIiwiMi8zIjoiNjYuNjY2NjY3JSIsIjEvNCI6IjI1JSIsIjIvNCI6IjUwJSIsIjMvNCI6Ijc1JSIsIjEvNSI6IjIwJSIsIjIvNSI6IjQwJSIsIjMvNSI6IjYwJSIsIjQvNSI6IjgwJSIsIjEvNiI6IjE2LjY2NjY2NyUiLCIyLzYiOiIzMy4zMzMzMzMlIiwiMy82IjoiNTAlIiwiNC82IjoiNjYuNjY2NjY3JSIsIjUvNiI6IjgzLjMzMzMzMyUiLCIxLzEyIjoiOC4zMzMzMzMlIiwiMi8xMiI6IjE2LjY2NjY2NyUiLCIzLzEyIjoiMjUlIiwiNC8xMiI6IjMzLjMzMzMzMyUiLCI1LzEyIjoiNDEuNjY2NjY3JSIsIjYvMTIiOiI1MCUiLCI3LzEyIjoiNTguMzMzMzMzJSIsIjgvMTIiOiI2Ni42NjY2NjclIiwiOS8xMiI6Ijc1JSIsIjEwLzEyIjoiODMuMzMzMzMzJSIsIjExLzEyIjoiOTEuNjY2NjY3JSIsZnVsbDoiMTAwJSJ9KSxmbGV4R3Jvdzp7MDoiMCIsREVGQVVMVDoiMSJ9LGZsZXhTaHJpbms6ezA6IjAiLERFRkFVTFQ6IjEifSxmb250RmFtaWx5OntzYW5zOlsidWktc2Fucy1zZXJpZiIsInN5c3RlbS11aSIsInNhbnMtc2VyaWYiLCciQXBwbGUgQ29sb3IgRW1vamkiJywnIlNlZ29lIFVJIEVtb2ppIicsJyJTZWdvZSBVSSBTeW1ib2wiJywnIk5vdG8gQ29sb3IgRW1vamkiJ10sc2VyaWY6WyJ1aS1zZXJpZiIsIkdlb3JnaWEiLCJDYW1icmlhIiwnIlRpbWVzIE5ldyBSb21hbiInLCJUaW1lcyIsInNlcmlmIl0sbW9ubzpbInVpLW1vbm9zcGFjZSIsIlNGTW9uby1SZWd1bGFyIiwiTWVubG8iLCJNb25hY28iLCJDb25zb2xhcyIsJyJMaWJlcmF0aW9uIE1vbm8iJywnIkNvdXJpZXIgTmV3IicsIm1vbm9zcGFjZSJdfSxmb250U2l6ZTp7eHM6WyIwLjc1cmVtIix7bGluZUhlaWdodDoiMXJlbSJ9XSxzbTpbIjAuODc1cmVtIix7bGluZUhlaWdodDoiMS4yNXJlbSJ9XSxiYXNlOlsiMXJlbSIse2xpbmVIZWlnaHQ6IjEuNXJlbSJ9XSxsZzpbIjEuMTI1cmVtIix7bGluZUhlaWdodDoiMS43NXJlbSJ9XSx4bDpbIjEuMjVyZW0iLHtsaW5lSGVpZ2h0OiIxLjc1cmVtIn1dLCIyeGwiOlsiMS41cmVtIix7bGluZUhlaWdodDoiMnJlbSJ9XSwiM3hsIjpbIjEuODc1cmVtIix7bGluZUhlaWdodDoiMi4yNXJlbSJ9XSwiNHhsIjpbIjIuMjVyZW0iLHtsaW5lSGVpZ2h0OiIyLjVyZW0ifV0sIjV4bCI6WyIzcmVtIix7bGluZUhlaWdodDoiMSJ9XSwiNnhsIjpbIjMuNzVyZW0iLHtsaW5lSGVpZ2h0OiIxIn1dLCI3eGwiOlsiNC41cmVtIix7bGluZUhlaWdodDoiMSJ9XSwiOHhsIjpbIjZyZW0iLHtsaW5lSGVpZ2h0OiIxIn1dLCI5eGwiOlsiOHJlbSIse2xpbmVIZWlnaHQ6IjEifV19LGZvbnRXZWlnaHQ6e3RoaW46IjEwMCIsZXh0cmFsaWdodDoiMjAwIixsaWdodDoiMzAwIixub3JtYWw6IjQwMCIsbWVkaXVtOiI1MDAiLHNlbWlib2xkOiI2MDAiLGJvbGQ6IjcwMCIsZXh0cmFib2xkOiI4MDAiLGJsYWNrOiI5MDAifSxnYXA6KHt0aGVtZTpyfSk9PnIoInNwYWNpbmciKSxncmFkaWVudENvbG9yU3RvcHM6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLGdyYWRpZW50Q29sb3JTdG9wUG9zaXRpb25zOnsiMCUiOiIwJSIsIjUlIjoiNSUiLCIxMCUiOiIxMCUiLCIxNSUiOiIxNSUiLCIyMCUiOiIyMCUiLCIyNSUiOiIyNSUiLCIzMCUiOiIzMCUiLCIzNSUiOiIzNSUiLCI0MCUiOiI0MCUiLCI0NSUiOiI0NSUiLCI1MCUiOiI1MCUiLCI1NSUiOiI1NSUiLCI2MCUiOiI2MCUiLCI2NSUiOiI2NSUiLCI3MCUiOiI3MCUiLCI3NSUiOiI3NSUiLCI4MCUiOiI4MCUiLCI4NSUiOiI4NSUiLCI5MCUiOiI5MCUiLCI5NSUiOiI5NSUiLCIxMDAlIjoiMTAwJSJ9LGdyYXlzY2FsZTp7MDoiMCIsREVGQVVMVDoiMTAwJSJ9LGdyaWRBdXRvQ29sdW1uczp7YXV0bzoiYXV0byIsbWluOiJtaW4tY29udGVudCIsbWF4OiJtYXgtY29udGVudCIsZnI6Im1pbm1heCgwLCAxZnIpIn0sZ3JpZEF1dG9Sb3dzOnthdXRvOiJhdXRvIixtaW46Im1pbi1jb250ZW50IixtYXg6Im1heC1jb250ZW50IixmcjoibWlubWF4KDAsIDFmcikifSxncmlkQ29sdW1uOnthdXRvOiJhdXRvIiwic3Bhbi0xIjoic3BhbiAxIC8gc3BhbiAxIiwic3Bhbi0yIjoic3BhbiAyIC8gc3BhbiAyIiwic3Bhbi0zIjoic3BhbiAzIC8gc3BhbiAzIiwic3Bhbi00Ijoic3BhbiA0IC8gc3BhbiA0Iiwic3Bhbi01Ijoic3BhbiA1IC8gc3BhbiA1Iiwic3Bhbi02Ijoic3BhbiA2IC8gc3BhbiA2Iiwic3Bhbi03Ijoic3BhbiA3IC8gc3BhbiA3Iiwic3Bhbi04Ijoic3BhbiA4IC8gc3BhbiA4Iiwic3Bhbi05Ijoic3BhbiA5IC8gc3BhbiA5Iiwic3Bhbi0xMCI6InNwYW4gMTAgLyBzcGFuIDEwIiwic3Bhbi0xMSI6InNwYW4gMTEgLyBzcGFuIDExIiwic3Bhbi0xMiI6InNwYW4gMTIgLyBzcGFuIDEyIiwic3Bhbi1mdWxsIjoiMSAvIC0xIn0sZ3JpZENvbHVtbkVuZDp7YXV0bzoiYXV0byIsMToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMTA6IjEwIiwxMToiMTEiLDEyOiIxMiIsMTM6IjEzIn0sZ3JpZENvbHVtblN0YXJ0OnthdXRvOiJhdXRvIiwxOiIxIiwyOiIyIiwzOiIzIiw0OiI0Iiw1OiI1Iiw2OiI2Iiw3OiI3Iiw4OiI4Iiw5OiI5IiwxMDoiMTAiLDExOiIxMSIsMTI6IjEyIiwxMzoiMTMifSxncmlkUm93OnthdXRvOiJhdXRvIiwic3Bhbi0xIjoic3BhbiAxIC8gc3BhbiAxIiwic3Bhbi0yIjoic3BhbiAyIC8gc3BhbiAyIiwic3Bhbi0zIjoic3BhbiAzIC8gc3BhbiAzIiwic3Bhbi00Ijoic3BhbiA0IC8gc3BhbiA0Iiwic3Bhbi01Ijoic3BhbiA1IC8gc3BhbiA1Iiwic3Bhbi02Ijoic3BhbiA2IC8gc3BhbiA2Iiwic3Bhbi03Ijoic3BhbiA3IC8gc3BhbiA3Iiwic3Bhbi04Ijoic3BhbiA4IC8gc3BhbiA4Iiwic3Bhbi05Ijoic3BhbiA5IC8gc3BhbiA5Iiwic3Bhbi0xMCI6InNwYW4gMTAgLyBzcGFuIDEwIiwic3Bhbi0xMSI6InNwYW4gMTEgLyBzcGFuIDExIiwic3Bhbi0xMiI6InNwYW4gMTIgLyBzcGFuIDEyIiwic3Bhbi1mdWxsIjoiMSAvIC0xIn0sZ3JpZFJvd0VuZDp7YXV0bzoiYXV0byIsMToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMTA6IjEwIiwxMToiMTEiLDEyOiIxMiIsMTM6IjEzIn0sZ3JpZFJvd1N0YXJ0OnthdXRvOiJhdXRvIiwxOiIxIiwyOiIyIiwzOiIzIiw0OiI0Iiw1OiI1Iiw2OiI2Iiw3OiI3Iiw4OiI4Iiw5OiI5IiwxMDoiMTAiLDExOiIxMSIsMTI6IjEyIiwxMzoiMTMifSxncmlkVGVtcGxhdGVDb2x1bW5zOntub25lOiJub25lIixzdWJncmlkOiJzdWJncmlkIiwxOiJyZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpIiwyOiJyZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpIiwzOiJyZXBlYXQoMywgbWlubWF4KDAsIDFmcikpIiw0OiJyZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpIiw1OiJyZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpIiw2OiJyZXBlYXQoNiwgbWlubWF4KDAsIDFmcikpIiw3OiJyZXBlYXQoNywgbWlubWF4KDAsIDFmcikpIiw4OiJyZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpIiw5OiJyZXBlYXQoOSwgbWlubWF4KDAsIDFmcikpIiwxMDoicmVwZWF0KDEwLCBtaW5tYXgoMCwgMWZyKSkiLDExOiJyZXBlYXQoMTEsIG1pbm1heCgwLCAxZnIpKSIsMTI6InJlcGVhdCgxMiwgbWlubWF4KDAsIDFmcikpIn0sZ3JpZFRlbXBsYXRlUm93czp7bm9uZToibm9uZSIsc3ViZ3JpZDoic3ViZ3JpZCIsMToicmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKSIsMjoicmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKSIsMzoicmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKSIsNDoicmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKSIsNToicmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKSIsNjoicmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKSIsNzoicmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKSIsODoicmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKSIsOToicmVwZWF0KDksIG1pbm1heCgwLCAxZnIpKSIsMTA6InJlcGVhdCgxMCwgbWlubWF4KDAsIDFmcikpIiwxMToicmVwZWF0KDExLCBtaW5tYXgoMCwgMWZyKSkiLDEyOiJyZXBlYXQoMTIsIG1pbm1heCgwLCAxZnIpKSJ9LGhlaWdodDooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIiksIjEvMiI6IjUwJSIsIjEvMyI6IjMzLjMzMzMzMyUiLCIyLzMiOiI2Ni42NjY2NjclIiwiMS80IjoiMjUlIiwiMi80IjoiNTAlIiwiMy80IjoiNzUlIiwiMS81IjoiMjAlIiwiMi81IjoiNDAlIiwiMy81IjoiNjAlIiwiNC81IjoiODAlIiwiMS82IjoiMTYuNjY2NjY3JSIsIjIvNiI6IjMzLjMzMzMzMyUiLCIzLzYiOiI1MCUiLCI0LzYiOiI2Ni42NjY2NjclIiwiNS82IjoiODMuMzMzMzMzJSIsZnVsbDoiMTAwJSIsc2NyZWVuOiIxMDB2aCIsc3ZoOiIxMDBzdmgiLGx2aDoiMTAwbHZoIixkdmg6IjEwMGR2aCIsbWluOiJtaW4tY29udGVudCIsbWF4OiJtYXgtY29udGVudCIsZml0OiJmaXQtY29udGVudCJ9KSxodWVSb3RhdGU6ezA6IjBkZWciLDE1OiIxNWRlZyIsMzA6IjMwZGVnIiw2MDoiNjBkZWciLDkwOiI5MGRlZyIsMTgwOiIxODBkZWcifSxpbnNldDooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIiksIjEvMiI6IjUwJSIsIjEvMyI6IjMzLjMzMzMzMyUiLCIyLzMiOiI2Ni42NjY2NjclIiwiMS80IjoiMjUlIiwiMi80IjoiNTAlIiwiMy80IjoiNzUlIixmdWxsOiIxMDAlIn0pLGludmVydDp7MDoiMCIsREVGQVVMVDoiMTAwJSJ9LGtleWZyYW1lczp7c3Bpbjp7dG86e3RyYW5zZm9ybToicm90YXRlKDM2MGRlZykifX0scGluZzp7Ijc1JSwgMTAwJSI6e3RyYW5zZm9ybToic2NhbGUoMikiLG9wYWNpdHk6IjAifX0scHVsc2U6eyI1MCUiOntvcGFjaXR5OiIuNSJ9fSxib3VuY2U6eyIwJSwgMTAwJSI6e3RyYW5zZm9ybToidHJhbnNsYXRlWSgtMjUlKSIsYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246ImN1YmljLWJlemllcigwLjgsMCwxLDEpIn0sIjUwJSI6e3RyYW5zZm9ybToibm9uZSIsYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246ImN1YmljLWJlemllcigwLDAsMC4yLDEpIn19fSxsZXR0ZXJTcGFjaW5nOnt0aWdodGVyOiItMC4wNWVtIix0aWdodDoiLTAuMDI1ZW0iLG5vcm1hbDoiMGVtIix3aWRlOiIwLjAyNWVtIix3aWRlcjoiMC4wNWVtIix3aWRlc3Q6IjAuMWVtIn0sbGluZUhlaWdodDp7bm9uZToiMSIsdGlnaHQ6IjEuMjUiLHNudWc6IjEuMzc1Iixub3JtYWw6IjEuNSIscmVsYXhlZDoiMS42MjUiLGxvb3NlOiIyIiwzOiIuNzVyZW0iLDQ6IjFyZW0iLDU6IjEuMjVyZW0iLDY6IjEuNXJlbSIsNzoiMS43NXJlbSIsODoiMnJlbSIsOToiMi4yNXJlbSIsMTA6IjIuNXJlbSJ9LGxpc3RTdHlsZVR5cGU6e25vbmU6Im5vbmUiLGRpc2M6ImRpc2MiLGRlY2ltYWw6ImRlY2ltYWwifSxsaXN0U3R5bGVJbWFnZTp7bm9uZToibm9uZSJ9LG1hcmdpbjooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIil9KSxsaW5lQ2xhbXA6ezE6IjEiLDI6IjIiLDM6IjMiLDQ6IjQiLDU6IjUiLDY6IjYifSxtYXhIZWlnaHQ6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpLG5vbmU6Im5vbmUiLGZ1bGw6IjEwMCUiLHNjcmVlbjoiMTAwdmgiLHN2aDoiMTAwc3ZoIixsdmg6IjEwMGx2aCIsZHZoOiIxMDBkdmgiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksbWF4V2lkdGg6KHt0aGVtZTpyLGJyZWFrcG9pbnRzOmV9KT0+KHsuLi5yKCJzcGFjaW5nIiksbm9uZToibm9uZSIseHM6IjIwcmVtIixzbToiMjRyZW0iLG1kOiIyOHJlbSIsbGc6IjMycmVtIix4bDoiMzZyZW0iLCIyeGwiOiI0MnJlbSIsIjN4bCI6IjQ4cmVtIiwiNHhsIjoiNTZyZW0iLCI1eGwiOiI2NHJlbSIsIjZ4bCI6IjcycmVtIiwiN3hsIjoiODByZW0iLGZ1bGw6IjEwMCUiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQiLHByb3NlOiI2NWNoIiwuLi5lKHIoInNjcmVlbnMiKSl9KSxtaW5IZWlnaHQ6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpLGZ1bGw6IjEwMCUiLHNjcmVlbjoiMTAwdmgiLHN2aDoiMTAwc3ZoIixsdmg6IjEwMGx2aCIsZHZoOiIxMDBkdmgiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksbWluV2lkdGg6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpLGZ1bGw6IjEwMCUiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksb2JqZWN0UG9zaXRpb246e2JvdHRvbToiYm90dG9tIixjZW50ZXI6ImNlbnRlciIsbGVmdDoibGVmdCIsImxlZnQtYm90dG9tIjoibGVmdCBib3R0b20iLCJsZWZ0LXRvcCI6ImxlZnQgdG9wIixyaWdodDoicmlnaHQiLCJyaWdodC1ib3R0b20iOiJyaWdodCBib3R0b20iLCJyaWdodC10b3AiOiJyaWdodCB0b3AiLHRvcDoidG9wIn0sb3BhY2l0eTp7MDoiMCIsNToiMC4wNSIsMTA6IjAuMSIsMTU6IjAuMTUiLDIwOiIwLjIiLDI1OiIwLjI1IiwzMDoiMC4zIiwzNToiMC4zNSIsNDA6IjAuNCIsNDU6IjAuNDUiLDUwOiIwLjUiLDU1OiIwLjU1Iiw2MDoiMC42Iiw2NToiMC42NSIsNzA6IjAuNyIsNzU6IjAuNzUiLDgwOiIwLjgiLDg1OiIwLjg1Iiw5MDoiMC45Iiw5NToiMC45NSIsMTAwOiIxIn0sb3JkZXI6e2ZpcnN0OiItOTk5OSIsbGFzdDoiOTk5OSIsbm9uZToiMCIsMToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMTA6IjEwIiwxMToiMTEiLDEyOiIxMiJ9LG91dGxpbmVDb2xvcjooe3RoZW1lOnJ9KT0+cigiY29sb3JzIiksb3V0bGluZU9mZnNldDp7MDoiMHB4IiwxOiIxcHgiLDI6IjJweCIsNDoiNHB4Iiw4OiI4cHgifSxvdXRsaW5lV2lkdGg6ezA6IjBweCIsMToiMXB4IiwyOiIycHgiLDQ6IjRweCIsODoiOHB4In0scGFkZGluZzooe3RoZW1lOnJ9KT0+cigic3BhY2luZyIpLHBsYWNlaG9sZGVyQ29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLHBsYWNlaG9sZGVyT3BhY2l0eTooe3RoZW1lOnJ9KT0+cigib3BhY2l0eSIpLHJpbmdDb2xvcjooe3RoZW1lOnJ9KT0+KHtERUZBVUxUOnIoImNvbG9ycy5ibHVlLjUwMCIsIiMzYjgyZjYiKSwuLi5yKCJjb2xvcnMiKX0pLHJpbmdPZmZzZXRDb2xvcjooe3RoZW1lOnJ9KT0+cigiY29sb3JzIikscmluZ09mZnNldFdpZHRoOnswOiIwcHgiLDE6IjFweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LHJpbmdPcGFjaXR5Oih7dGhlbWU6cn0pPT4oe0RFRkFVTFQ6IjAuNSIsLi4ucigib3BhY2l0eSIpfSkscmluZ1dpZHRoOntERUZBVUxUOiIzcHgiLDA6IjBweCIsMToiMXB4IiwyOiIycHgiLDQ6IjRweCIsODoiOHB4In0scm90YXRlOnswOiIwZGVnIiwxOiIxZGVnIiwyOiIyZGVnIiwzOiIzZGVnIiw2OiI2ZGVnIiwxMjoiMTJkZWciLDQ1OiI0NWRlZyIsOTA6IjkwZGVnIiwxODA6IjE4MGRlZyJ9LHNhdHVyYXRlOnswOiIwIiw1MDoiLjUiLDEwMDoiMSIsMTUwOiIxLjUiLDIwMDoiMiJ9LHNjYWxlOnswOiIwIiw1MDoiLjUiLDc1OiIuNzUiLDkwOiIuOSIsOTU6Ii45NSIsMTAwOiIxIiwxMDU6IjEuMDUiLDExMDoiMS4xIiwxMjU6IjEuMjUiLDE1MDoiMS41In0sc2NyZWVuczp7c206IjY0MHB4IixtZDoiNzY4cHgiLGxnOiIxMDI0cHgiLHhsOiIxMjgwcHgiLCIyeGwiOiIxNTM2cHgifSxzY3JvbGxNYXJnaW46KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpfSksc2Nyb2xsUGFkZGluZzooe3RoZW1lOnJ9KT0+cigic3BhY2luZyIpLHNlcGlhOnswOiIwIixERUZBVUxUOiIxMDAlIn0sc2tldzp7MDoiMGRlZyIsMToiMWRlZyIsMjoiMmRlZyIsMzoiM2RlZyIsNjoiNmRlZyIsMTI6IjEyZGVnIn0sc3BhY2U6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpfSksc3BhY2luZzp7cHg6IjFweCIsMDoiMHB4IiwuNToiMC4xMjVyZW0iLDE6IjAuMjVyZW0iLDEuNToiMC4zNzVyZW0iLDI6IjAuNXJlbSIsMi41OiIwLjYyNXJlbSIsMzoiMC43NXJlbSIsMy41OiIwLjg3NXJlbSIsNDoiMXJlbSIsNToiMS4yNXJlbSIsNjoiMS41cmVtIiw3OiIxLjc1cmVtIiw4OiIycmVtIiw5OiIyLjI1cmVtIiwxMDoiMi41cmVtIiwxMToiMi43NXJlbSIsMTI6IjNyZW0iLDE0OiIzLjVyZW0iLDE2OiI0cmVtIiwyMDoiNXJlbSIsMjQ6IjZyZW0iLDI4OiI3cmVtIiwzMjoiOHJlbSIsMzY6IjlyZW0iLDQwOiIxMHJlbSIsNDQ6IjExcmVtIiw0ODoiMTJyZW0iLDUyOiIxM3JlbSIsNTY6IjE0cmVtIiw2MDoiMTVyZW0iLDY0OiIxNnJlbSIsNzI6IjE4cmVtIiw4MDoiMjByZW0iLDk2OiIyNHJlbSJ9LHN0cm9rZTooe3RoZW1lOnJ9KT0+KHtub25lOiJub25lIiwuLi5yKCJjb2xvcnMiKX0pLHN0cm9rZVdpZHRoOnswOiIwIiwxOiIxIiwyOiIyIn0sc3VwcG9ydHM6e30sZGF0YTp7fSx0ZXh0Q29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLHRleHREZWNvcmF0aW9uQ29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLHRleHREZWNvcmF0aW9uVGhpY2tuZXNzOnthdXRvOiJhdXRvIiwiZnJvbS1mb250IjoiZnJvbS1mb250IiwwOiIwcHgiLDE6IjFweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LHRleHRJbmRlbnQ6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpfSksdGV4dE9wYWNpdHk6KHt0aGVtZTpyfSk9PnIoIm9wYWNpdHkiKSx0ZXh0VW5kZXJsaW5lT2Zmc2V0OnthdXRvOiJhdXRvIiwwOiIwcHgiLDE6IjFweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LHRyYW5zZm9ybU9yaWdpbjp7Y2VudGVyOiJjZW50ZXIiLHRvcDoidG9wIiwidG9wLXJpZ2h0IjoidG9wIHJpZ2h0IixyaWdodDoicmlnaHQiLCJib3R0b20tcmlnaHQiOiJib3R0b20gcmlnaHQiLGJvdHRvbToiYm90dG9tIiwiYm90dG9tLWxlZnQiOiJib3R0b20gbGVmdCIsbGVmdDoibGVmdCIsInRvcC1sZWZ0IjoidG9wIGxlZnQifSx0cmFuc2l0aW9uRGVsYXk6ezA6IjBzIiw3NToiNzVtcyIsMTAwOiIxMDBtcyIsMTUwOiIxNTBtcyIsMjAwOiIyMDBtcyIsMzAwOiIzMDBtcyIsNTAwOiI1MDBtcyIsNzAwOiI3MDBtcyIsMWUzOiIxMDAwbXMifSx0cmFuc2l0aW9uRHVyYXRpb246e0RFRkFVTFQ6IjE1MG1zIiwwOiIwcyIsNzU6Ijc1bXMiLDEwMDoiMTAwbXMiLDE1MDoiMTUwbXMiLDIwMDoiMjAwbXMiLDMwMDoiMzAwbXMiLDUwMDoiNTAwbXMiLDcwMDoiNzAwbXMiLDFlMzoiMTAwMG1zIn0sdHJhbnNpdGlvblByb3BlcnR5Ontub25lOiJub25lIixhbGw6ImFsbCIsREVGQVVMVDoiY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIiLGNvbG9yczoiY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UiLG9wYWNpdHk6Im9wYWNpdHkiLHNoYWRvdzoiYm94LXNoYWRvdyIsdHJhbnNmb3JtOiJ0cmFuc2Zvcm0ifSx0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246e0RFRkFVTFQ6ImN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkiLGxpbmVhcjoibGluZWFyIixpbjoiY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSkiLG91dDoiY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkiLCJpbi1vdXQiOiJjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIn0sdHJhbnNsYXRlOih7dGhlbWU6cn0pPT4oey4uLnIoInNwYWNpbmciKSwiMS8yIjoiNTAlIiwiMS8zIjoiMzMuMzMzMzMzJSIsIjIvMyI6IjY2LjY2NjY2NyUiLCIxLzQiOiIyNSUiLCIyLzQiOiI1MCUiLCIzLzQiOiI3NSUiLGZ1bGw6IjEwMCUifSksc2l6ZTooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIiksIjEvMiI6IjUwJSIsIjEvMyI6IjMzLjMzMzMzMyUiLCIyLzMiOiI2Ni42NjY2NjclIiwiMS80IjoiMjUlIiwiMi80IjoiNTAlIiwiMy80IjoiNzUlIiwiMS81IjoiMjAlIiwiMi81IjoiNDAlIiwiMy81IjoiNjAlIiwiNC81IjoiODAlIiwiMS82IjoiMTYuNjY2NjY3JSIsIjIvNiI6IjMzLjMzMzMzMyUiLCIzLzYiOiI1MCUiLCI0LzYiOiI2Ni42NjY2NjclIiwiNS82IjoiODMuMzMzMzMzJSIsIjEvMTIiOiI4LjMzMzMzMyUiLCIyLzEyIjoiMTYuNjY2NjY3JSIsIjMvMTIiOiIyNSUiLCI0LzEyIjoiMzMuMzMzMzMzJSIsIjUvMTIiOiI0MS42NjY2NjclIiwiNi8xMiI6IjUwJSIsIjcvMTIiOiI1OC4zMzMzMzMlIiwiOC8xMiI6IjY2LjY2NjY2NyUiLCI5LzEyIjoiNzUlIiwiMTAvMTIiOiI4My4zMzMzMzMlIiwiMTEvMTIiOiI5MS42NjY2NjclIixmdWxsOiIxMDAlIixtaW46Im1pbi1jb250ZW50IixtYXg6Im1heC1jb250ZW50IixmaXQ6ImZpdC1jb250ZW50In0pLHdpZHRoOih7dGhlbWU6cn0pPT4oe2F1dG86ImF1dG8iLC4uLnIoInNwYWNpbmciKSwiMS8yIjoiNTAlIiwiMS8zIjoiMzMuMzMzMzMzJSIsIjIvMyI6IjY2LjY2NjY2NyUiLCIxLzQiOiIyNSUiLCIyLzQiOiI1MCUiLCIzLzQiOiI3NSUiLCIxLzUiOiIyMCUiLCIyLzUiOiI0MCUiLCIzLzUiOiI2MCUiLCI0LzUiOiI4MCUiLCIxLzYiOiIxNi42NjY2NjclIiwiMi82IjoiMzMuMzMzMzMzJSIsIjMvNiI6IjUwJSIsIjQvNiI6IjY2LjY2NjY2NyUiLCI1LzYiOiI4My4zMzMzMzMlIiwiMS8xMiI6IjguMzMzMzMzJSIsIjIvMTIiOiIxNi42NjY2NjclIiwiMy8xMiI6IjI1JSIsIjQvMTIiOiIzMy4zMzMzMzMlIiwiNS8xMiI6IjQxLjY2NjY2NyUiLCI2LzEyIjoiNTAlIiwiNy8xMiI6IjU4LjMzMzMzMyUiLCI4LzEyIjoiNjYuNjY2NjY3JSIsIjkvMTIiOiI3NSUiLCIxMC8xMiI6IjgzLjMzMzMzMyUiLCIxMS8xMiI6IjkxLjY2NjY2NyUiLGZ1bGw6IjEwMCUiLHNjcmVlbjoiMTAwdnciLHN2dzoiMTAwc3Z3Iixsdnc6IjEwMGx2dyIsZHZ3OiIxMDBkdnciLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksd2lsbENoYW5nZTp7YXV0bzoiYXV0byIsc2Nyb2xsOiJzY3JvbGwtcG9zaXRpb24iLGNvbnRlbnRzOiJjb250ZW50cyIsdHJhbnNmb3JtOiJ0cmFuc2Zvcm0ifSx6SW5kZXg6e2F1dG86ImF1dG8iLDA6IjAiLDEwOiIxMCIsMjA6IjIwIiwzMDoiMzAiLDQwOiI0MCIsNTA6IjUwIn19LHBsdWdpbnM6W119fSk7ZnVuY3Rpb24gbm4ocil7bGV0IGU9KHI/LnByZXNldHM/P1tpYy5kZWZhdWx0XSkuc2xpY2UoKS5yZXZlcnNlKCkuZmxhdE1hcChuPT5ubihuIGluc3RhbmNlb2YgRnVuY3Rpb24/bigpOm4pKSx0PXtyZXNwZWN0RGVmYXVsdFJpbmdDb2xvck9wYWNpdHk6e3RoZW1lOntyaW5nQ29sb3I6KHt0aGVtZTpufSk9Pih7REVGQVVMVDoiIzNiODJmNjdmIiwuLi5uKCJjb2xvcnMiKX0pfX0sZGlzYWJsZUNvbG9yT3BhY2l0eVV0aWxpdGllc0J5RGVmYXVsdDp7Y29yZVBsdWdpbnM6e2JhY2tncm91bmRPcGFjaXR5OiExLGJvcmRlck9wYWNpdHk6ITEsZGl2aWRlT3BhY2l0eTohMSxwbGFjZWhvbGRlck9wYWNpdHk6ITEscmluZ09wYWNpdHk6ITEsdGV4dE9wYWNpdHk6ITF9fX0saT1PYmplY3Qua2V5cyh0KS5maWx0ZXIobj0+d2UocixuKSkubWFwKG49PnRbbl0pO3JldHVybltyLC4uLmksLi4uZV19dmFyIGljLG5jPVAoKCk9Pnt1KCk7aWM9cGUocm4oKSk7Y3QoKX0pO3ZhciBzYz17fTtHZShzYyx7ZGVmYXVsdDooKT0+enJ9KTtmdW5jdGlvbiB6ciguLi5yKXtsZXRbLC4uLmVdPW5uKHJbMF0pO3JldHVybiBuYShbLi4uciwuLi5lXSl9dmFyIHNhPVAoKCk9Pnt1KCk7dGMoKTtuYygpfSk7dmFyIFVyPXt9O0dlKFVyLHtkZWZhdWx0OigpPT5tZX0pO3ZhciBtZSxldD1QKCgpPT57dSgpO21lPXtyZXNvbHZlOnI9PnIsZXh0bmFtZTpyPT4iLiIrci5zcGxpdCgiLiIpLnBvcCgpfX0pO2Z1bmN0aW9uIHNuKHIpe3JldHVybiB0eXBlb2Ygcj09Im9iamVjdCImJnIhPT1udWxsfWZ1bmN0aW9uIGJ4KHIpe3JldHVybiBPYmplY3Qua2V5cyhyKS5sZW5ndGg9PT0wfWZ1bmN0aW9uIGFjKHIpe3JldHVybiB0eXBlb2Ygcj09InN0cmluZyJ8fHIgaW5zdGFuY2VvZiBTdHJpbmd9ZnVuY3Rpb24gYWEocil7cmV0dXJuIHNuKHIpJiZyLmNvbmZpZz09PXZvaWQgMCYmIWJ4KHIpP251bGw6c24ocikmJnIuY29uZmlnIT09dm9pZCAwJiZhYyhyLmNvbmZpZyk/bWUucmVzb2x2ZShyLmNvbmZpZyk6c24ocikmJnIuY29uZmlnIT09dm9pZCAwJiZzbihyLmNvbmZpZyk/bnVsbDphYyhyKT9tZS5yZXNvbHZlKHIpOnd4KCl9ZnVuY3Rpb24gd3goKXtmb3IobGV0IHIgb2YgeXgpdHJ5e2xldCBlPW1lLnJlc29sdmUocik7cmV0dXJuIGJlLmFjY2Vzc1N5bmMoZSksZX1jYXRjaChlKXt9cmV0dXJuIG51bGx9dmFyIHl4LG9jPVAoKCk9Pnt1KCk7ZnQoKTtldCgpO3l4PVsiLi90YWlsd2luZC5jb25maWcuanMiLCIuL3RhaWx3aW5kLmNvbmZpZy5janMiLCIuL3RhaWx3aW5kLmNvbmZpZy5tanMiLCIuL3RhaWx3aW5kLmNvbmZpZy50cyIsIi4vdGFpbHdpbmQuY29uZmlnLmN0cyIsIi4vdGFpbHdpbmQuY29uZmlnLm10cyJdfSk7dmFyIGxjPXt9O0dlKGxjLHtkZWZhdWx0OigpPT5vYX0pO3ZhciBvYSxsYT1QKCgpPT57dSgpO29hPXtwYXJzZTpyPT4oe2hyZWY6cn0pfX0pO3ZhciB1YT14KCgpPT57dSgpfSk7dmFyIGFuPXgoKHYzLGNjKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIHVjPShRaSgpLEFmKSxmYz11YSgpLEp0PWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0LGksbixzLGEpe3N1cGVyKGUpO3RoaXMubmFtZT0iQ3NzU3ludGF4RXJyb3IiLHRoaXMucmVhc29uPWUscyYmKHRoaXMuZmlsZT1zKSxuJiYodGhpcy5zb3VyY2U9biksYSYmKHRoaXMucGx1Z2luPWEpLHR5cGVvZiB0IT0idW5kZWZpbmVkIiYmdHlwZW9mIGkhPSJ1bmRlZmluZWQiJiYodHlwZW9mIHQ9PSJudW1iZXIiPyh0aGlzLmxpbmU9dCx0aGlzLmNvbHVtbj1pKToodGhpcy5saW5lPXQubGluZSx0aGlzLmNvbHVtbj10LmNvbHVtbix0aGlzLmVuZExpbmU9aS5saW5lLHRoaXMuZW5kQ29sdW1uPWkuY29sdW1uKSksdGhpcy5zZXRNZXNzYWdlKCksRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsSnQpfXNldE1lc3NhZ2UoKXt0aGlzLm1lc3NhZ2U9dGhpcy5wbHVnaW4/dGhpcy5wbHVnaW4rIjogIjoiIix0aGlzLm1lc3NhZ2UrPXRoaXMuZmlsZT90aGlzLmZpbGU6Ijxjc3MgaW5wdXQ+Iix0eXBlb2YgdGhpcy5saW5lIT0idW5kZWZpbmVkIiYmKHRoaXMubWVzc2FnZSs9IjoiK3RoaXMubGluZSsiOiIrdGhpcy5jb2x1bW4pLHRoaXMubWVzc2FnZSs9IjogIit0aGlzLnJlYXNvbn1zaG93U291cmNlQ29kZShlKXtpZighdGhpcy5zb3VyY2UpcmV0dXJuIiI7bGV0IHQ9dGhpcy5zb3VyY2U7ZT09bnVsbCYmKGU9dWMuaXNDb2xvclN1cHBvcnRlZCk7bGV0IGk9Zj0+ZixuPWY9PmYscz1mPT5mO2lmKGUpe2xldHtib2xkOmYsZ3JheTpkLHJlZDpwfT11Yy5jcmVhdGVDb2xvcnMoITApO249aD0+ZihwKGgpKSxpPWg9PmQoaCksZmMmJihzPWg9PmZjKGgpKX1sZXQgYT10LnNwbGl0KC9ccj9cbi8pLG89TWF0aC5tYXgodGhpcy5saW5lLTMsMCksbD1NYXRoLm1pbih0aGlzLmxpbmUrMixhLmxlbmd0aCksYz1TdHJpbmcobCkubGVuZ3RoO3JldHVybiBhLnNsaWNlKG8sbCkubWFwKChmLGQpPT57bGV0IHA9bysxK2QsaD0iICIrKCIgIitwKS5zbGljZSgtYykrIiB8ICI7aWYocD09PXRoaXMubGluZSl7aWYoZi5sZW5ndGg+MTYwKXtsZXQgdj0yMCx5PU1hdGgubWF4KDAsdGhpcy5jb2x1bW4tdiksdz1NYXRoLm1heCh0aGlzLmNvbHVtbit2LHRoaXMuZW5kQ29sdW1uK3YpLGs9Zi5zbGljZSh5LHcpLFM9aShoLnJlcGxhY2UoL1xkL2csIiAiKSkrZi5zbGljZSgwLE1hdGgubWluKHRoaXMuY29sdW1uLTEsdi0xKSkucmVwbGFjZSgvW15cdF0vZywiICIpO3JldHVybiBuKCI+IikraShoKStzKGspK2AKIGArUytuKCJeIil9bGV0IGI9aShoLnJlcGxhY2UoL1xkL2csIiAiKSkrZi5zbGljZSgwLHRoaXMuY29sdW1uLTEpLnJlcGxhY2UoL1teXHRdL2csIiAiKTtyZXR1cm4gbigiPiIpK2koaCkrcyhmKStgCiBgK2IrbigiXiIpfXJldHVybiIgIitpKGgpK3MoZil9KS5qb2luKGAKYCl9dG9TdHJpbmcoKXtsZXQgZT10aGlzLnNob3dTb3VyY2VDb2RlKCk7cmV0dXJuIGUmJihlPWAKCmArZStgCmApLHRoaXMubmFtZSsiOiAiK3RoaXMubWVzc2FnZStlfX07Y2MuZXhwb3J0cz1KdDtKdC5kZWZhdWx0PUp0fSk7dmFyIGZhPXgoKHgzLGRjKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIHBjPXthZnRlcjpgCmAsYmVmb3JlQ2xvc2U6YApgLGJlZm9yZUNvbW1lbnQ6YApgLGJlZm9yZURlY2w6YApgLGJlZm9yZU9wZW46IiAiLGJlZm9yZVJ1bGU6YApgLGNvbG9uOiI6ICIsY29tbWVudExlZnQ6IiAiLGNvbW1lbnRSaWdodDoiICIsZW1wdHlCb2R5OiIiLGluZGVudDoiICAgICIsc2VtaWNvbG9uOiExfTtmdW5jdGlvbiB2eChyKXtyZXR1cm4gclswXS50b1VwcGVyQ2FzZSgpK3Iuc2xpY2UoMSl9dmFyIG9uPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuYnVpbGRlcj1lfWF0cnVsZShlLHQpe2xldCBpPSJAIitlLm5hbWUsbj1lLnBhcmFtcz90aGlzLnJhd1ZhbHVlKGUsInBhcmFtcyIpOiIiO2lmKHR5cGVvZiBlLnJhd3MuYWZ0ZXJOYW1lIT0idW5kZWZpbmVkIj9pKz1lLnJhd3MuYWZ0ZXJOYW1lOm4mJihpKz0iICIpLGUubm9kZXMpdGhpcy5ibG9jayhlLGkrbik7ZWxzZXtsZXQgcz0oZS5yYXdzLmJldHdlZW58fCIiKSsodD8iOyI6IiIpO3RoaXMuYnVpbGRlcihpK24rcyxlKX19YmVmb3JlQWZ0ZXIoZSx0KXtsZXQgaTtlLnR5cGU9PT0iZGVjbCI/aT10aGlzLnJhdyhlLG51bGwsImJlZm9yZURlY2wiKTplLnR5cGU9PT0iY29tbWVudCI/aT10aGlzLnJhdyhlLG51bGwsImJlZm9yZUNvbW1lbnQiKTp0PT09ImJlZm9yZSI/aT10aGlzLnJhdyhlLG51bGwsImJlZm9yZVJ1bGUiKTppPXRoaXMucmF3KGUsbnVsbCwiYmVmb3JlQ2xvc2UiKTtsZXQgbj1lLnBhcmVudCxzPTA7Zm9yKDtuJiZuLnR5cGUhPT0icm9vdCI7KXMrPTEsbj1uLnBhcmVudDtpZihpLmluY2x1ZGVzKGAKYCkpe2xldCBhPXRoaXMucmF3KGUsbnVsbCwiaW5kZW50Iik7aWYoYS5sZW5ndGgpZm9yKGxldCBvPTA7bzxzO28rKylpKz1hfXJldHVybiBpfWJsb2NrKGUsdCl7bGV0IGk9dGhpcy5yYXcoZSwiYmV0d2VlbiIsImJlZm9yZU9wZW4iKTt0aGlzLmJ1aWxkZXIodCtpKyJ7IixlLCJzdGFydCIpO2xldCBuO2Uubm9kZXMmJmUubm9kZXMubGVuZ3RoPyh0aGlzLmJvZHkoZSksbj10aGlzLnJhdyhlLCJhZnRlciIpKTpuPXRoaXMucmF3KGUsImFmdGVyIiwiZW1wdHlCb2R5IiksbiYmdGhpcy5idWlsZGVyKG4pLHRoaXMuYnVpbGRlcigifSIsZSwiZW5kIil9Ym9keShlKXtsZXQgdD1lLm5vZGVzLmxlbmd0aC0xO2Zvcig7dD4wJiZlLm5vZGVzW3RdLnR5cGU9PT0iY29tbWVudCI7KXQtPTE7bGV0IGk9dGhpcy5yYXcoZSwic2VtaWNvbG9uIik7Zm9yKGxldCBuPTA7bjxlLm5vZGVzLmxlbmd0aDtuKyspe2xldCBzPWUubm9kZXNbbl0sYT10aGlzLnJhdyhzLCJiZWZvcmUiKTthJiZ0aGlzLmJ1aWxkZXIoYSksdGhpcy5zdHJpbmdpZnkocyx0IT09bnx8aSl9fWNvbW1lbnQoZSl7bGV0IHQ9dGhpcy5yYXcoZSwibGVmdCIsImNvbW1lbnRMZWZ0IiksaT10aGlzLnJhdyhlLCJyaWdodCIsImNvbW1lbnRSaWdodCIpO3RoaXMuYnVpbGRlcigiLyoiK3QrZS50ZXh0K2krIiovIixlKX1kZWNsKGUsdCl7bGV0IGk9dGhpcy5yYXcoZSwiYmV0d2VlbiIsImNvbG9uIiksbj1lLnByb3AraSt0aGlzLnJhd1ZhbHVlKGUsInZhbHVlIik7ZS5pbXBvcnRhbnQmJihuKz1lLnJhd3MuaW1wb3J0YW50fHwiICFpbXBvcnRhbnQiKSx0JiYobis9IjsiKSx0aGlzLmJ1aWxkZXIobixlKX1kb2N1bWVudChlKXt0aGlzLmJvZHkoZSl9cmF3KGUsdCxpKXtsZXQgbjtpZihpfHwoaT10KSx0JiYobj1lLnJhd3NbdF0sdHlwZW9mIG4hPSJ1bmRlZmluZWQiKSlyZXR1cm4gbjtsZXQgcz1lLnBhcmVudDtpZihpPT09ImJlZm9yZSImJighc3x8cy50eXBlPT09InJvb3QiJiZzLmZpcnN0PT09ZXx8cyYmcy50eXBlPT09ImRvY3VtZW50IikpcmV0dXJuIiI7aWYoIXMpcmV0dXJuIHBjW2ldO2xldCBhPWUucm9vdCgpO2lmKGEucmF3Q2FjaGV8fChhLnJhd0NhY2hlPXt9KSx0eXBlb2YgYS5yYXdDYWNoZVtpXSE9InVuZGVmaW5lZCIpcmV0dXJuIGEucmF3Q2FjaGVbaV07aWYoaT09PSJiZWZvcmUifHxpPT09ImFmdGVyIilyZXR1cm4gdGhpcy5iZWZvcmVBZnRlcihlLGkpO3tsZXQgbz0icmF3Iit2eChpKTt0aGlzW29dP249dGhpc1tvXShhLGUpOmEud2FsayhsPT57aWYobj1sLnJhd3NbdF0sdHlwZW9mIG4hPSJ1bmRlZmluZWQiKXJldHVybiExfSl9cmV0dXJuIHR5cGVvZiBuPT0idW5kZWZpbmVkIiYmKG49cGNbaV0pLGEucmF3Q2FjaGVbaV09bixufXJhd0JlZm9yZUNsb3NlKGUpe2xldCB0O3JldHVybiBlLndhbGsoaT0+e2lmKGkubm9kZXMmJmkubm9kZXMubGVuZ3RoPjAmJnR5cGVvZiBpLnJhd3MuYWZ0ZXIhPSJ1bmRlZmluZWQiKXJldHVybiB0PWkucmF3cy5hZnRlcix0LmluY2x1ZGVzKGAKYCkmJih0PXQucmVwbGFjZSgvW15cbl0rJC8sIiIpKSwhMX0pLHQmJih0PXQucmVwbGFjZSgvXFMvZywiIikpLHR9cmF3QmVmb3JlQ29tbWVudChlLHQpe2xldCBpO3JldHVybiBlLndhbGtDb21tZW50cyhuPT57aWYodHlwZW9mIG4ucmF3cy5iZWZvcmUhPSJ1bmRlZmluZWQiKXJldHVybiBpPW4ucmF3cy5iZWZvcmUsaS5pbmNsdWRlcyhgCmApJiYoaT1pLnJlcGxhY2UoL1teXG5dKyQvLCIiKSksITF9KSx0eXBlb2YgaT09InVuZGVmaW5lZCI/aT10aGlzLnJhdyh0LG51bGwsImJlZm9yZURlY2wiKTppJiYoaT1pLnJlcGxhY2UoL1xTL2csIiIpKSxpfXJhd0JlZm9yZURlY2woZSx0KXtsZXQgaTtyZXR1cm4gZS53YWxrRGVjbHMobj0+e2lmKHR5cGVvZiBuLnJhd3MuYmVmb3JlIT0idW5kZWZpbmVkIilyZXR1cm4gaT1uLnJhd3MuYmVmb3JlLGkuaW5jbHVkZXMoYApgKSYmKGk9aS5yZXBsYWNlKC9bXlxuXSskLywiIikpLCExfSksdHlwZW9mIGk9PSJ1bmRlZmluZWQiP2k9dGhpcy5yYXcodCxudWxsLCJiZWZvcmVSdWxlIik6aSYmKGk9aS5yZXBsYWNlKC9cUy9nLCIiKSksaX1yYXdCZWZvcmVPcGVuKGUpe2xldCB0O3JldHVybiBlLndhbGsoaT0+e2lmKGkudHlwZSE9PSJkZWNsIiYmKHQ9aS5yYXdzLmJldHdlZW4sdHlwZW9mIHQhPSJ1bmRlZmluZWQiKSlyZXR1cm4hMX0pLHR9cmF3QmVmb3JlUnVsZShlKXtsZXQgdDtyZXR1cm4gZS53YWxrKGk9PntpZihpLm5vZGVzJiYoaS5wYXJlbnQhPT1lfHxlLmZpcnN0IT09aSkmJnR5cGVvZiBpLnJhd3MuYmVmb3JlIT0idW5kZWZpbmVkIilyZXR1cm4gdD1pLnJhd3MuYmVmb3JlLHQuaW5jbHVkZXMoYApgKSYmKHQ9dC5yZXBsYWNlKC9bXlxuXSskLywiIikpLCExfSksdCYmKHQ9dC5yZXBsYWNlKC9cUy9nLCIiKSksdH1yYXdDb2xvbihlKXtsZXQgdDtyZXR1cm4gZS53YWxrRGVjbHMoaT0+e2lmKHR5cGVvZiBpLnJhd3MuYmV0d2VlbiE9InVuZGVmaW5lZCIpcmV0dXJuIHQ9aS5yYXdzLmJldHdlZW4ucmVwbGFjZSgvW15cczpdL2csIiIpLCExfSksdH1yYXdFbXB0eUJvZHkoZSl7bGV0IHQ7cmV0dXJuIGUud2FsayhpPT57aWYoaS5ub2RlcyYmaS5ub2Rlcy5sZW5ndGg9PT0wJiYodD1pLnJhd3MuYWZ0ZXIsdHlwZW9mIHQhPSJ1bmRlZmluZWQiKSlyZXR1cm4hMX0pLHR9cmF3SW5kZW50KGUpe2lmKGUucmF3cy5pbmRlbnQpcmV0dXJuIGUucmF3cy5pbmRlbnQ7bGV0IHQ7cmV0dXJuIGUud2FsayhpPT57bGV0IG49aS5wYXJlbnQ7aWYobiYmbiE9PWUmJm4ucGFyZW50JiZuLnBhcmVudD09PWUmJnR5cGVvZiBpLnJhd3MuYmVmb3JlIT0idW5kZWZpbmVkIil7bGV0IHM9aS5yYXdzLmJlZm9yZS5zcGxpdChgCmApO3JldHVybiB0PXNbcy5sZW5ndGgtMV0sdD10LnJlcGxhY2UoL1xTL2csIiIpLCExfX0pLHR9cmF3U2VtaWNvbG9uKGUpe2xldCB0O3JldHVybiBlLndhbGsoaT0+e2lmKGkubm9kZXMmJmkubm9kZXMubGVuZ3RoJiZpLmxhc3QudHlwZT09PSJkZWNsIiYmKHQ9aS5yYXdzLnNlbWljb2xvbix0eXBlb2YgdCE9InVuZGVmaW5lZCIpKXJldHVybiExfSksdH1yYXdWYWx1ZShlLHQpe2xldCBpPWVbdF0sbj1lLnJhd3NbdF07cmV0dXJuIG4mJm4udmFsdWU9PT1pP24ucmF3Oml9cm9vdChlKXt0aGlzLmJvZHkoZSksZS5yYXdzLmFmdGVyJiZ0aGlzLmJ1aWxkZXIoZS5yYXdzLmFmdGVyKX1ydWxlKGUpe3RoaXMuYmxvY2soZSx0aGlzLnJhd1ZhbHVlKGUsInNlbGVjdG9yIikpLGUucmF3cy5vd25TZW1pY29sb24mJnRoaXMuYnVpbGRlcihlLnJhd3Mub3duU2VtaWNvbG9uLGUsImVuZCIpfXN0cmluZ2lmeShlLHQpe2lmKCF0aGlzW2UudHlwZV0pdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIEFTVCBub2RlIHR5cGUgIitlLnR5cGUrIi4gTWF5YmUgeW91IG5lZWQgdG8gY2hhbmdlIFBvc3RDU1Mgc3RyaW5naWZpZXIuIik7dGhpc1tlLnR5cGVdKGUsdCl9fTtkYy5leHBvcnRzPW9uO29uLmRlZmF1bHQ9b259KTt2YXIgVnI9eCgoazMsaGMpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgeHg9ZmEoKTtmdW5jdGlvbiBjYShyLGUpe25ldyB4eChlKS5zdHJpbmdpZnkocil9aGMuZXhwb3J0cz1jYTtjYS5kZWZhdWx0PWNhfSk7dmFyIGxuPXgoKFMzLHBhKT0+e3UoKTsidXNlIHN0cmljdCI7cGEuZXhwb3J0cy5pc0NsZWFuPVN5bWJvbCgiaXNDbGVhbiIpO3BhLmV4cG9ydHMubXk9U3ltYm9sKCJteSIpfSk7dmFyIEdyPXgoKEEzLG1jKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIGt4PWFuKCksU3g9ZmEoKSxBeD1WcigpLHtpc0NsZWFuOkhyLG15OkN4fT1sbigpO2Z1bmN0aW9uIGRhKHIsZSl7bGV0IHQ9bmV3IHIuY29uc3RydWN0b3I7Zm9yKGxldCBpIGluIHIpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixpKXx8aT09PSJwcm94eUNhY2hlIiljb250aW51ZTtsZXQgbj1yW2ldLHM9dHlwZW9mIG47aT09PSJwYXJlbnQiJiZzPT09Im9iamVjdCI/ZSYmKHRbaV09ZSk6aT09PSJzb3VyY2UiP3RbaV09bjpBcnJheS5pc0FycmF5KG4pP3RbaV09bi5tYXAoYT0+ZGEoYSx0KSk6KHM9PT0ib2JqZWN0IiYmbiE9PW51bGwmJihuPWRhKG4pKSx0W2ldPW4pfXJldHVybiB0fWZ1bmN0aW9uIFdyKHIsZSl7aWYoZSYmdHlwZW9mIGUub2Zmc2V0IT0idW5kZWZpbmVkIilyZXR1cm4gZS5vZmZzZXQ7bGV0IHQ9MSxpPTEsbj0wO2ZvcihsZXQgcz0wO3M8ci5sZW5ndGg7cysrKXtpZihpPT09ZS5saW5lJiZ0PT09ZS5jb2x1bW4pe249czticmVha31yW3NdPT09YApgPyh0PTEsaSs9MSk6dCs9MX1yZXR1cm4gbn12YXIgdW49Y2xhc3N7Y29uc3RydWN0b3IoZT17fSl7dGhpcy5yYXdzPXt9LHRoaXNbSHJdPSExLHRoaXNbQ3hdPSEwO2ZvcihsZXQgdCBpbiBlKWlmKHQ9PT0ibm9kZXMiKXt0aGlzLm5vZGVzPVtdO2ZvcihsZXQgaSBvZiBlW3RdKXR5cGVvZiBpLmNsb25lPT0iZnVuY3Rpb24iP3RoaXMuYXBwZW5kKGkuY2xvbmUoKSk6dGhpcy5hcHBlbmQoaSl9ZWxzZSB0aGlzW3RdPWVbdF19YWRkVG9FcnJvcihlKXtpZihlLnBvc3Rjc3NOb2RlPXRoaXMsZS5zdGFjayYmdGhpcy5zb3VyY2UmJi9cblxzezR9YXQgLy50ZXN0KGUuc3RhY2spKXtsZXQgdD10aGlzLnNvdXJjZTtlLnN0YWNrPWUuc3RhY2sucmVwbGFjZSgvXG5cc3s0fWF0IC8sYCQmJHt0LmlucHV0LmZyb219OiR7dC5zdGFydC5saW5lfToke3Quc3RhcnQuY29sdW1ufSQmYCl9cmV0dXJuIGV9YWZ0ZXIoZSl7cmV0dXJuIHRoaXMucGFyZW50Lmluc2VydEFmdGVyKHRoaXMsZSksdGhpc31hc3NpZ24oZT17fSl7Zm9yKGxldCB0IGluIGUpdGhpc1t0XT1lW3RdO3JldHVybiB0aGlzfWJlZm9yZShlKXtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QmVmb3JlKHRoaXMsZSksdGhpc31jbGVhblJhd3MoZSl7ZGVsZXRlIHRoaXMucmF3cy5iZWZvcmUsZGVsZXRlIHRoaXMucmF3cy5hZnRlcixlfHxkZWxldGUgdGhpcy5yYXdzLmJldHdlZW59Y2xvbmUoZT17fSl7bGV0IHQ9ZGEodGhpcyk7Zm9yKGxldCBpIGluIGUpdFtpXT1lW2ldO3JldHVybiB0fWNsb25lQWZ0ZXIoZT17fSl7bGV0IHQ9dGhpcy5jbG9uZShlKTtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodGhpcyx0KSx0fWNsb25lQmVmb3JlKGU9e30pe2xldCB0PXRoaXMuY2xvbmUoZSk7cmV0dXJuIHRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLHQpLHR9ZXJyb3IoZSx0PXt9KXtpZih0aGlzLnNvdXJjZSl7bGV0e2VuZDppLHN0YXJ0Om59PXRoaXMucmFuZ2VCeSh0KTtyZXR1cm4gdGhpcy5zb3VyY2UuaW5wdXQuZXJyb3IoZSx7Y29sdW1uOm4uY29sdW1uLGxpbmU6bi5saW5lfSx7Y29sdW1uOmkuY29sdW1uLGxpbmU6aS5saW5lfSx0KX1yZXR1cm4gbmV3IGt4KGUpfWdldFByb3h5UHJvY2Vzc29yKCl7cmV0dXJue2dldChlLHQpe3JldHVybiB0PT09InByb3h5T2YiP2U6dD09PSJyb290Ij8oKT0+ZS5yb290KCkudG9Qcm94eSgpOmVbdF19LHNldChlLHQsaSl7cmV0dXJuIGVbdF09PT1pfHwoZVt0XT1pLCh0PT09InByb3AifHx0PT09InZhbHVlInx8dD09PSJuYW1lInx8dD09PSJwYXJhbXMifHx0PT09ImltcG9ydGFudCJ8fHQ9PT0idGV4dCIpJiZlLm1hcmtEaXJ0eSgpKSwhMH19fW1hcmtDbGVhbigpe3RoaXNbSHJdPSEwfW1hcmtEaXJ0eSgpe2lmKHRoaXNbSHJdKXt0aGlzW0hyXT0hMTtsZXQgZT10aGlzO2Zvcig7ZT1lLnBhcmVudDspZVtIcl09ITF9fW5leHQoKXtpZighdGhpcy5wYXJlbnQpcmV0dXJuO2xldCBlPXRoaXMucGFyZW50LmluZGV4KHRoaXMpO3JldHVybiB0aGlzLnBhcmVudC5ub2Rlc1tlKzFdfXBvc2l0aW9uQnkoZSl7bGV0IHQ9dGhpcy5zb3VyY2Uuc3RhcnQ7aWYoZS5pbmRleCl0PXRoaXMucG9zaXRpb25JbnNpZGUoZS5pbmRleCk7ZWxzZSBpZihlLndvcmQpe2xldCBuPXRoaXMuc291cmNlLmlucHV0LmNzcy5zbGljZShXcih0aGlzLnNvdXJjZS5pbnB1dC5jc3MsdGhpcy5zb3VyY2Uuc3RhcnQpLFdyKHRoaXMuc291cmNlLmlucHV0LmNzcyx0aGlzLnNvdXJjZS5lbmQpKS5pbmRleE9mKGUud29yZCk7biE9PS0xJiYodD10aGlzLnBvc2l0aW9uSW5zaWRlKG4pKX1yZXR1cm4gdH1wb3NpdGlvbkluc2lkZShlKXtsZXQgdD10aGlzLnNvdXJjZS5zdGFydC5jb2x1bW4saT10aGlzLnNvdXJjZS5zdGFydC5saW5lLG49V3IodGhpcy5zb3VyY2UuaW5wdXQuY3NzLHRoaXMuc291cmNlLnN0YXJ0KSxzPW4rZTtmb3IobGV0IGE9bjthPHM7YSsrKXRoaXMuc291cmNlLmlucHV0LmNzc1thXT09PWAKYD8odD0xLGkrPTEpOnQrPTE7cmV0dXJue2NvbHVtbjp0LGxpbmU6aX19cHJldigpe2lmKCF0aGlzLnBhcmVudClyZXR1cm47bGV0IGU9dGhpcy5wYXJlbnQuaW5kZXgodGhpcyk7cmV0dXJuIHRoaXMucGFyZW50Lm5vZGVzW2UtMV19cmFuZ2VCeShlKXtsZXQgdD17Y29sdW1uOnRoaXMuc291cmNlLnN0YXJ0LmNvbHVtbixsaW5lOnRoaXMuc291cmNlLnN0YXJ0LmxpbmV9LGk9dGhpcy5zb3VyY2UuZW5kP3tjb2x1bW46dGhpcy5zb3VyY2UuZW5kLmNvbHVtbisxLGxpbmU6dGhpcy5zb3VyY2UuZW5kLmxpbmV9Ontjb2x1bW46dC5jb2x1bW4rMSxsaW5lOnQubGluZX07aWYoZS53b3JkKXtsZXQgcz10aGlzLnNvdXJjZS5pbnB1dC5jc3Muc2xpY2UoV3IodGhpcy5zb3VyY2UuaW5wdXQuY3NzLHRoaXMuc291cmNlLnN0YXJ0KSxXcih0aGlzLnNvdXJjZS5pbnB1dC5jc3MsdGhpcy5zb3VyY2UuZW5kKSkuaW5kZXhPZihlLndvcmQpO3MhPT0tMSYmKHQ9dGhpcy5wb3NpdGlvbkluc2lkZShzKSxpPXRoaXMucG9zaXRpb25JbnNpZGUocytlLndvcmQubGVuZ3RoKSl9ZWxzZSBlLnN0YXJ0P3Q9e2NvbHVtbjplLnN0YXJ0LmNvbHVtbixsaW5lOmUuc3RhcnQubGluZX06ZS5pbmRleCYmKHQ9dGhpcy5wb3NpdGlvbkluc2lkZShlLmluZGV4KSksZS5lbmQ/aT17Y29sdW1uOmUuZW5kLmNvbHVtbixsaW5lOmUuZW5kLmxpbmV9OnR5cGVvZiBlLmVuZEluZGV4PT0ibnVtYmVyIj9pPXRoaXMucG9zaXRpb25JbnNpZGUoZS5lbmRJbmRleCk6ZS5pbmRleCYmKGk9dGhpcy5wb3NpdGlvbkluc2lkZShlLmluZGV4KzEpKTtyZXR1cm4oaS5saW5lPHQubGluZXx8aS5saW5lPT09dC5saW5lJiZpLmNvbHVtbjw9dC5jb2x1bW4pJiYoaT17Y29sdW1uOnQuY29sdW1uKzEsbGluZTp0LmxpbmV9KSx7ZW5kOmksc3RhcnQ6dH19cmF3KGUsdCl7cmV0dXJuIG5ldyBTeCgpLnJhdyh0aGlzLGUsdCl9cmVtb3ZlKCl7cmV0dXJuIHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzKSx0aGlzLnBhcmVudD12b2lkIDAsdGhpc31yZXBsYWNlV2l0aCguLi5lKXtpZih0aGlzLnBhcmVudCl7bGV0IHQ9dGhpcyxpPSExO2ZvcihsZXQgbiBvZiBlKW49PT10aGlzP2k9ITA6aT8odGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodCxuKSx0PW4pOnRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0LG4pO2l8fHRoaXMucmVtb3ZlKCl9cmV0dXJuIHRoaXN9cm9vdCgpe2xldCBlPXRoaXM7Zm9yKDtlLnBhcmVudCYmZS5wYXJlbnQudHlwZSE9PSJkb2N1bWVudCI7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9dG9KU09OKGUsdCl7bGV0IGk9e30sbj10PT1udWxsO3Q9dHx8bmV3IE1hcDtsZXQgcz0wO2ZvcihsZXQgYSBpbiB0aGlzKXtpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMsYSl8fGE9PT0icGFyZW50Inx8YT09PSJwcm94eUNhY2hlIiljb250aW51ZTtsZXQgbz10aGlzW2FdO2lmKEFycmF5LmlzQXJyYXkobykpaVthXT1vLm1hcChsPT50eXBlb2YgbD09Im9iamVjdCImJmwudG9KU09OP2wudG9KU09OKG51bGwsdCk6bCk7ZWxzZSBpZih0eXBlb2Ygbz09Im9iamVjdCImJm8udG9KU09OKWlbYV09by50b0pTT04obnVsbCx0KTtlbHNlIGlmKGE9PT0ic291cmNlIil7bGV0IGw9dC5nZXQoby5pbnB1dCk7bD09bnVsbCYmKGw9cyx0LnNldChvLmlucHV0LHMpLHMrKyksaVthXT17ZW5kOm8uZW5kLGlucHV0SWQ6bCxzdGFydDpvLnN0YXJ0fX1lbHNlIGlbYV09b31yZXR1cm4gbiYmKGkuaW5wdXRzPVsuLi50LmtleXMoKV0ubWFwKGE9PmEudG9KU09OKCkpKSxpfXRvUHJveHkoKXtyZXR1cm4gdGhpcy5wcm94eUNhY2hlfHwodGhpcy5wcm94eUNhY2hlPW5ldyBQcm94eSh0aGlzLHRoaXMuZ2V0UHJveHlQcm9jZXNzb3IoKSkpLHRoaXMucHJveHlDYWNoZX10b1N0cmluZyhlPUF4KXtlLnN0cmluZ2lmeSYmKGU9ZS5zdHJpbmdpZnkpO2xldCB0PSIiO3JldHVybiBlKHRoaXMsaT0+e3QrPWl9KSx0fXdhcm4oZSx0LGkpe2xldCBuPXtub2RlOnRoaXN9O2ZvcihsZXQgcyBpbiBpKW5bc109aVtzXTtyZXR1cm4gZS53YXJuKHQsbil9Z2V0IHByb3h5T2YoKXtyZXR1cm4gdGhpc319O21jLmV4cG9ydHM9dW47dW4uZGVmYXVsdD11bn0pO3ZhciBRcj14KChDMyxnYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBfeD1HcigpLGZuPWNsYXNzIGV4dGVuZHMgX3h7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy50eXBlPSJjb21tZW50In19O2djLmV4cG9ydHM9Zm47Zm4uZGVmYXVsdD1mbn0pO3ZhciBZcj14KChfMyx5Yyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBFeD1HcigpLGNuPWNsYXNzIGV4dGVuZHMgRXh7Y29uc3RydWN0b3IoZSl7ZSYmdHlwZW9mIGUudmFsdWUhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgZS52YWx1ZSE9InN0cmluZyImJihlPXsuLi5lLHZhbHVlOlN0cmluZyhlLnZhbHVlKX0pO3N1cGVyKGUpO3RoaXMudHlwZT0iZGVjbCJ9Z2V0IHZhcmlhYmxlKCl7cmV0dXJuIHRoaXMucHJvcC5zdGFydHNXaXRoKCItLSIpfHx0aGlzLnByb3BbMF09PT0iJCJ9fTt5Yy5leHBvcnRzPWNuO2NuLmRlZmF1bHQ9Y259KTt2YXIgRXQ9eCgoRTMsX2MpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgYmM9UXIoKSx3Yz1ZcigpLE94PUdyKCkse2lzQ2xlYW46dmMsbXk6eGN9PWxuKCksaGEsa2MsU2MsbWE7ZnVuY3Rpb24gQWMocil7cmV0dXJuIHIubWFwKGU9PihlLm5vZGVzJiYoZS5ub2Rlcz1BYyhlLm5vZGVzKSksZGVsZXRlIGUuc291cmNlLGUpKX1mdW5jdGlvbiBDYyhyKXtpZihyW3ZjXT0hMSxyLnByb3h5T2Yubm9kZXMpZm9yKGxldCBlIG9mIHIucHJveHlPZi5ub2RlcylDYyhlKX12YXIgRmU9Y2xhc3MgZXh0ZW5kcyBPeHthcHBlbmQoLi4uZSl7Zm9yKGxldCB0IG9mIGUpe2xldCBpPXRoaXMubm9ybWFsaXplKHQsdGhpcy5sYXN0KTtmb3IobGV0IG4gb2YgaSl0aGlzLnByb3h5T2Yubm9kZXMucHVzaChuKX1yZXR1cm4gdGhpcy5tYXJrRGlydHkoKSx0aGlzfWNsZWFuUmF3cyhlKXtpZihzdXBlci5jbGVhblJhd3MoZSksdGhpcy5ub2Rlcylmb3IobGV0IHQgb2YgdGhpcy5ub2Rlcyl0LmNsZWFuUmF3cyhlKX1lYWNoKGUpe2lmKCF0aGlzLnByb3h5T2Yubm9kZXMpcmV0dXJuO2xldCB0PXRoaXMuZ2V0SXRlcmF0b3IoKSxpLG47Zm9yKDt0aGlzLmluZGV4ZXNbdF08dGhpcy5wcm94eU9mLm5vZGVzLmxlbmd0aCYmKGk9dGhpcy5pbmRleGVzW3RdLG49ZSh0aGlzLnByb3h5T2Yubm9kZXNbaV0saSksbiE9PSExKTspdGhpcy5pbmRleGVzW3RdKz0xO3JldHVybiBkZWxldGUgdGhpcy5pbmRleGVzW3RdLG59ZXZlcnkoZSl7cmV0dXJuIHRoaXMubm9kZXMuZXZlcnkoZSl9Z2V0SXRlcmF0b3IoKXt0aGlzLmxhc3RFYWNofHwodGhpcy5sYXN0RWFjaD0wKSx0aGlzLmluZGV4ZXN8fCh0aGlzLmluZGV4ZXM9e30pLHRoaXMubGFzdEVhY2grPTE7bGV0IGU9dGhpcy5sYXN0RWFjaDtyZXR1cm4gdGhpcy5pbmRleGVzW2VdPTAsZX1nZXRQcm94eVByb2Nlc3Nvcigpe3JldHVybntnZXQoZSx0KXtyZXR1cm4gdD09PSJwcm94eU9mIj9lOmVbdF0/dD09PSJlYWNoInx8dHlwZW9mIHQ9PSJzdHJpbmciJiZ0LnN0YXJ0c1dpdGgoIndhbGsiKT8oLi4uaSk9PmVbdF0oLi4uaS5tYXAobj0+dHlwZW9mIG49PSJmdW5jdGlvbiI/KHMsYSk9Pm4ocy50b1Byb3h5KCksYSk6bikpOnQ9PT0iZXZlcnkifHx0PT09InNvbWUiP2k9PmVbdF0oKG4sLi4ucyk9Pmkobi50b1Byb3h5KCksLi4ucykpOnQ9PT0icm9vdCI/KCk9PmUucm9vdCgpLnRvUHJveHkoKTp0PT09Im5vZGVzIj9lLm5vZGVzLm1hcChpPT5pLnRvUHJveHkoKSk6dD09PSJmaXJzdCJ8fHQ9PT0ibGFzdCI/ZVt0XS50b1Byb3h5KCk6ZVt0XTplW3RdfSxzZXQoZSx0LGkpe3JldHVybiBlW3RdPT09aXx8KGVbdF09aSwodD09PSJuYW1lInx8dD09PSJwYXJhbXMifHx0PT09InNlbGVjdG9yIikmJmUubWFya0RpcnR5KCkpLCEwfX19aW5kZXgoZSl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIj9lOihlLnByb3h5T2YmJihlPWUucHJveHlPZiksdGhpcy5wcm94eU9mLm5vZGVzLmluZGV4T2YoZSkpfWluc2VydEFmdGVyKGUsdCl7bGV0IGk9dGhpcy5pbmRleChlKSxuPXRoaXMubm9ybWFsaXplKHQsdGhpcy5wcm94eU9mLm5vZGVzW2ldKS5yZXZlcnNlKCk7aT10aGlzLmluZGV4KGUpO2ZvcihsZXQgYSBvZiBuKXRoaXMucHJveHlPZi5ub2Rlcy5zcGxpY2UoaSsxLDAsYSk7bGV0IHM7Zm9yKGxldCBhIGluIHRoaXMuaW5kZXhlcylzPXRoaXMuaW5kZXhlc1thXSxpPHMmJih0aGlzLmluZGV4ZXNbYV09cytuLmxlbmd0aCk7cmV0dXJuIHRoaXMubWFya0RpcnR5KCksdGhpc31pbnNlcnRCZWZvcmUoZSx0KXtsZXQgaT10aGlzLmluZGV4KGUpLG49aT09PTA/InByZXBlbmQiOiExLHM9dGhpcy5ub3JtYWxpemUodCx0aGlzLnByb3h5T2Yubm9kZXNbaV0sbikucmV2ZXJzZSgpO2k9dGhpcy5pbmRleChlKTtmb3IobGV0IG8gb2Ygcyl0aGlzLnByb3h5T2Yubm9kZXMuc3BsaWNlKGksMCxvKTtsZXQgYTtmb3IobGV0IG8gaW4gdGhpcy5pbmRleGVzKWE9dGhpcy5pbmRleGVzW29dLGk8PWEmJih0aGlzLmluZGV4ZXNbb109YStzLmxlbmd0aCk7cmV0dXJuIHRoaXMubWFya0RpcnR5KCksdGhpc31ub3JtYWxpemUoZSx0KXtpZih0eXBlb2YgZT09InN0cmluZyIpZT1BYyhrYyhlKS5ub2Rlcyk7ZWxzZSBpZih0eXBlb2YgZT09InVuZGVmaW5lZCIpZT1bXTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2U9ZS5zbGljZSgwKTtmb3IobGV0IG4gb2YgZSluLnBhcmVudCYmbi5wYXJlbnQucmVtb3ZlQ2hpbGQobiwiaWdub3JlIil9ZWxzZSBpZihlLnR5cGU9PT0icm9vdCImJnRoaXMudHlwZSE9PSJkb2N1bWVudCIpe2U9ZS5ub2Rlcy5zbGljZSgwKTtmb3IobGV0IG4gb2YgZSluLnBhcmVudCYmbi5wYXJlbnQucmVtb3ZlQ2hpbGQobiwiaWdub3JlIil9ZWxzZSBpZihlLnR5cGUpZT1bZV07ZWxzZSBpZihlLnByb3Ape2lmKHR5cGVvZiBlLnZhbHVlPT0idW5kZWZpbmVkIil0aHJvdyBuZXcgRXJyb3IoIlZhbHVlIGZpZWxkIGlzIG1pc3NlZCBpbiBub2RlIGNyZWF0aW9uIik7dHlwZW9mIGUudmFsdWUhPSJzdHJpbmciJiYoZS52YWx1ZT1TdHJpbmcoZS52YWx1ZSkpLGU9W25ldyB3YyhlKV19ZWxzZSBpZihlLnNlbGVjdG9yfHxlLnNlbGVjdG9ycyllPVtuZXcgbWEoZSldO2Vsc2UgaWYoZS5uYW1lKWU9W25ldyBoYShlKV07ZWxzZSBpZihlLnRleHQpZT1bbmV3IGJjKGUpXTtlbHNlIHRocm93IG5ldyBFcnJvcigiVW5rbm93biBub2RlIHR5cGUgaW4gbm9kZSBjcmVhdGlvbiIpO3JldHVybiBlLm1hcChuPT4oblt4Y118fEZlLnJlYnVpbGQobiksbj1uLnByb3h5T2Ysbi5wYXJlbnQmJm4ucGFyZW50LnJlbW92ZUNoaWxkKG4pLG5bdmNdJiZDYyhuKSxuLnJhd3N8fChuLnJhd3M9e30pLHR5cGVvZiBuLnJhd3MuYmVmb3JlPT0idW5kZWZpbmVkIiYmdCYmdHlwZW9mIHQucmF3cy5iZWZvcmUhPSJ1bmRlZmluZWQiJiYobi5yYXdzLmJlZm9yZT10LnJhd3MuYmVmb3JlLnJlcGxhY2UoL1xTL2csIiIpKSxuLnBhcmVudD10aGlzLnByb3h5T2YsbikpfXByZXBlbmQoLi4uZSl7ZT1lLnJldmVyc2UoKTtmb3IobGV0IHQgb2YgZSl7bGV0IGk9dGhpcy5ub3JtYWxpemUodCx0aGlzLmZpcnN0LCJwcmVwZW5kIikucmV2ZXJzZSgpO2ZvcihsZXQgbiBvZiBpKXRoaXMucHJveHlPZi5ub2Rlcy51bnNoaWZ0KG4pO2ZvcihsZXQgbiBpbiB0aGlzLmluZGV4ZXMpdGhpcy5pbmRleGVzW25dPXRoaXMuaW5kZXhlc1tuXStpLmxlbmd0aH1yZXR1cm4gdGhpcy5tYXJrRGlydHkoKSx0aGlzfXB1c2goZSl7cmV0dXJuIGUucGFyZW50PXRoaXMsdGhpcy5wcm94eU9mLm5vZGVzLnB1c2goZSksdGhpc31yZW1vdmVBbGwoKXtmb3IobGV0IGUgb2YgdGhpcy5wcm94eU9mLm5vZGVzKWUucGFyZW50PXZvaWQgMDtyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzPVtdLHRoaXMubWFya0RpcnR5KCksdGhpc31yZW1vdmVDaGlsZChlKXtlPXRoaXMuaW5kZXgoZSksdGhpcy5wcm94eU9mLm5vZGVzW2VdLnBhcmVudD12b2lkIDAsdGhpcy5wcm94eU9mLm5vZGVzLnNwbGljZShlLDEpO2xldCB0O2ZvcihsZXQgaSBpbiB0aGlzLmluZGV4ZXMpdD10aGlzLmluZGV4ZXNbaV0sdD49ZSYmKHRoaXMuaW5kZXhlc1tpXT10LTEpO3JldHVybiB0aGlzLm1hcmtEaXJ0eSgpLHRoaXN9cmVwbGFjZVZhbHVlcyhlLHQsaSl7cmV0dXJuIGl8fChpPXQsdD17fSksdGhpcy53YWxrRGVjbHMobj0+e3QucHJvcHMmJiF0LnByb3BzLmluY2x1ZGVzKG4ucHJvcCl8fHQuZmFzdCYmIW4udmFsdWUuaW5jbHVkZXModC5mYXN0KXx8KG4udmFsdWU9bi52YWx1ZS5yZXBsYWNlKGUsaSkpfSksdGhpcy5tYXJrRGlydHkoKSx0aGlzfXNvbWUoZSl7cmV0dXJuIHRoaXMubm9kZXMuc29tZShlKX13YWxrKGUpe3JldHVybiB0aGlzLmVhY2goKHQsaSk9PntsZXQgbjt0cnl7bj1lKHQsaSl9Y2F0Y2gocyl7dGhyb3cgdC5hZGRUb0Vycm9yKHMpfXJldHVybiBuIT09ITEmJnQud2FsayYmKG49dC53YWxrKGUpKSxufSl9d2Fsa0F0UnVsZXMoZSx0KXtyZXR1cm4gdD9lIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMud2FsaygoaSxuKT0+e2lmKGkudHlwZT09PSJhdHJ1bGUiJiZlLnRlc3QoaS5uYW1lKSlyZXR1cm4gdChpLG4pfSk6dGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09ImF0cnVsZSImJmkubmFtZT09PWUpcmV0dXJuIHQoaSxuKX0pOih0PWUsdGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09ImF0cnVsZSIpcmV0dXJuIHQoaSxuKX0pKX13YWxrQ29tbWVudHMoZSl7cmV0dXJuIHRoaXMud2FsaygodCxpKT0+e2lmKHQudHlwZT09PSJjb21tZW50IilyZXR1cm4gZSh0LGkpfSl9d2Fsa0RlY2xzKGUsdCl7cmV0dXJuIHQ/ZSBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0iZGVjbCImJmUudGVzdChpLnByb3ApKXJldHVybiB0KGksbil9KTp0aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0iZGVjbCImJmkucHJvcD09PWUpcmV0dXJuIHQoaSxuKX0pOih0PWUsdGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09ImRlY2wiKXJldHVybiB0KGksbil9KSl9d2Fsa1J1bGVzKGUsdCl7cmV0dXJuIHQ/ZSBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0icnVsZSImJmUudGVzdChpLnNlbGVjdG9yKSlyZXR1cm4gdChpLG4pfSk6dGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09InJ1bGUiJiZpLnNlbGVjdG9yPT09ZSlyZXR1cm4gdChpLG4pfSk6KHQ9ZSx0aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0icnVsZSIpcmV0dXJuIHQoaSxuKX0pKX1nZXQgZmlyc3QoKXtpZighIXRoaXMucHJveHlPZi5ub2RlcylyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzWzBdfWdldCBsYXN0KCl7aWYoISF0aGlzLnByb3h5T2Yubm9kZXMpcmV0dXJuIHRoaXMucHJveHlPZi5ub2Rlc1t0aGlzLnByb3h5T2Yubm9kZXMubGVuZ3RoLTFdfX07RmUucmVnaXN0ZXJQYXJzZT1yPT57a2M9cn07RmUucmVnaXN0ZXJSdWxlPXI9PnttYT1yfTtGZS5yZWdpc3RlckF0UnVsZT1yPT57aGE9cn07RmUucmVnaXN0ZXJSb290PXI9PntTYz1yfTtfYy5leHBvcnRzPUZlO0ZlLmRlZmF1bHQ9RmU7RmUucmVidWlsZD1yPT57ci50eXBlPT09ImF0cnVsZSI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsaGEucHJvdG90eXBlKTpyLnR5cGU9PT0icnVsZSI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsbWEucHJvdG90eXBlKTpyLnR5cGU9PT0iZGVjbCI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsd2MucHJvdG90eXBlKTpyLnR5cGU9PT0iY29tbWVudCI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsYmMucHJvdG90eXBlKTpyLnR5cGU9PT0icm9vdCImJk9iamVjdC5zZXRQcm90b3R5cGVPZihyLFNjLnByb3RvdHlwZSksclt4Y109ITAsci5ub2RlcyYmci5ub2Rlcy5mb3JFYWNoKGU9PntGZS5yZWJ1aWxkKGUpfSl9fSk7dmFyIHBuPXgoKE8zLE9jKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIEVjPUV0KCksS3I9Y2xhc3MgZXh0ZW5kcyBFY3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnR5cGU9ImF0cnVsZSJ9YXBwZW5kKC4uLmUpe3JldHVybiB0aGlzLnByb3h5T2Yubm9kZXN8fCh0aGlzLm5vZGVzPVtdKSxzdXBlci5hcHBlbmQoLi4uZSl9cHJlcGVuZCguLi5lKXtyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzfHwodGhpcy5ub2Rlcz1bXSksc3VwZXIucHJlcGVuZCguLi5lKX19O09jLmV4cG9ydHM9S3I7S3IuZGVmYXVsdD1LcjtFYy5yZWdpc3RlckF0UnVsZShLcil9KTt2YXIgZG49eCgoVDMsUGMpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgVHg9RXQoKSxUYyxSYyxlcj1jbGFzcyBleHRlbmRzIFR4e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHt0eXBlOiJkb2N1bWVudCIsLi4uZX0pO3RoaXMubm9kZXN8fCh0aGlzLm5vZGVzPVtdKX10b1Jlc3VsdChlPXt9KXtyZXR1cm4gbmV3IFRjKG5ldyBSYyx0aGlzLGUpLnN0cmluZ2lmeSgpfX07ZXIucmVnaXN0ZXJMYXp5UmVzdWx0PXI9PntUYz1yfTtlci5yZWdpc3RlclByb2Nlc3Nvcj1yPT57UmM9cn07UGMuZXhwb3J0cz1lcjtlci5kZWZhdWx0PWVyfSk7dmFyIERjPXgoKFIzLEljKT0+e3UoKTt2YXIgUng9InVzZWFuZG9tLTI2VDE5ODM0MFBYNzVweEpBQ0tWRVJZTUlOREJVU0hXT0xGX0dRWmJmZ2hqa2xxdnd5enJpY3QiLFB4PShyLGU9MjEpPT4odD1lKT0+e2xldCBpPSIiLG49dDtmb3IoO24tLTspaSs9cltNYXRoLnJhbmRvbSgpKnIubGVuZ3RofDBdO3JldHVybiBpfSxJeD0ocj0yMSk9PntsZXQgZT0iIix0PXI7Zm9yKDt0LS07KWUrPVJ4W01hdGgucmFuZG9tKCkqNjR8MF07cmV0dXJuIGV9O0ljLmV4cG9ydHM9e25hbm9pZDpJeCxjdXN0b21BbHBoYWJldDpQeH19KTt2YXIgcWM9eCgoKT0+e3UoKX0pO3ZhciBnYT14KChEMywkYyk9Pnt1KCk7JGMuZXhwb3J0cz17fX0pO3ZhciBtbj14KChxMyxCYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhcntuYW5vaWQ6RHh9PURjKCkse2lzQWJzb2x1dGU6eWEscmVzb2x2ZTpiYX09KGV0KCksVXIpLHtTb3VyY2VNYXBDb25zdW1lcjpxeCxTb3VyY2VNYXBHZW5lcmF0b3I6JHh9PXFjKCkse2ZpbGVVUkxUb1BhdGg6TGMscGF0aFRvRmlsZVVSTDpobn09KGxhKCksbGMpLE1jPWFuKCksTHg9Z2EoKSx3YT11YSgpLHZhPVN5bWJvbCgiZnJvbU9mZnNldENhY2hlIiksTXg9Qm9vbGVhbihxeCYmJHgpLE5jPUJvb2xlYW4oYmEmJnlhKSxYcj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQ9e30pe2lmKGU9PT1udWxsfHx0eXBlb2YgZT09InVuZGVmaW5lZCJ8fHR5cGVvZiBlPT0ib2JqZWN0IiYmIWUudG9TdHJpbmcpdGhyb3cgbmV3IEVycm9yKGBQb3N0Q1NTIHJlY2VpdmVkICR7ZX0gaW5zdGVhZCBvZiBDU1Mgc3RyaW5nYCk7aWYodGhpcy5jc3M9ZS50b1N0cmluZygpLHRoaXMuY3NzWzBdPT09Ilx1RkVGRiJ8fHRoaXMuY3NzWzBdPT09Ilx1RkZGRSI/KHRoaXMuaGFzQk9NPSEwLHRoaXMuY3NzPXRoaXMuY3NzLnNsaWNlKDEpKTp0aGlzLmhhc0JPTT0hMSx0LmZyb20mJighTmN8fC9eXHcrOlwvXC8vLnRlc3QodC5mcm9tKXx8eWEodC5mcm9tKT90aGlzLmZpbGU9dC5mcm9tOnRoaXMuZmlsZT1iYSh0LmZyb20pKSxOYyYmTXgpe2xldCBpPW5ldyBMeCh0aGlzLmNzcyx0KTtpZihpLnRleHQpe3RoaXMubWFwPWk7bGV0IG49aS5jb25zdW1lcigpLmZpbGU7IXRoaXMuZmlsZSYmbiYmKHRoaXMuZmlsZT10aGlzLm1hcFJlc29sdmUobikpfX10aGlzLmZpbGV8fCh0aGlzLmlkPSI8aW5wdXQgY3NzICIrRHgoNikrIj4iKSx0aGlzLm1hcCYmKHRoaXMubWFwLmZpbGU9dGhpcy5mcm9tKX1lcnJvcihlLHQsaSxuPXt9KXtsZXQgcyxhLG87aWYodCYmdHlwZW9mIHQ9PSJvYmplY3QiKXtsZXQgYz10LGY9aTtpZih0eXBlb2YgYy5vZmZzZXQ9PSJudW1iZXIiKXtsZXQgZD10aGlzLmZyb21PZmZzZXQoYy5vZmZzZXQpO3Q9ZC5saW5lLGk9ZC5jb2x9ZWxzZSB0PWMubGluZSxpPWMuY29sdW1uO2lmKHR5cGVvZiBmLm9mZnNldD09Im51bWJlciIpe2xldCBkPXRoaXMuZnJvbU9mZnNldChmLm9mZnNldCk7YT1kLmxpbmUscz1kLmNvbH1lbHNlIGE9Zi5saW5lLHM9Zi5jb2x1bW59ZWxzZSBpZighaSl7bGV0IGM9dGhpcy5mcm9tT2Zmc2V0KHQpO3Q9Yy5saW5lLGk9Yy5jb2x9bGV0IGw9dGhpcy5vcmlnaW4odCxpLGEscyk7cmV0dXJuIGw/bz1uZXcgTWMoZSxsLmVuZExpbmU9PT12b2lkIDA/bC5saW5lOntjb2x1bW46bC5jb2x1bW4sbGluZTpsLmxpbmV9LGwuZW5kTGluZT09PXZvaWQgMD9sLmNvbHVtbjp7Y29sdW1uOmwuZW5kQ29sdW1uLGxpbmU6bC5lbmRMaW5lfSxsLnNvdXJjZSxsLmZpbGUsbi5wbHVnaW4pOm89bmV3IE1jKGUsYT09PXZvaWQgMD90Ontjb2x1bW46aSxsaW5lOnR9LGE9PT12b2lkIDA/aTp7Y29sdW1uOnMsbGluZTphfSx0aGlzLmNzcyx0aGlzLmZpbGUsbi5wbHVnaW4pLG8uaW5wdXQ9e2NvbHVtbjppLGVuZENvbHVtbjpzLGVuZExpbmU6YSxsaW5lOnQsc291cmNlOnRoaXMuY3NzfSx0aGlzLmZpbGUmJihobiYmKG8uaW5wdXQudXJsPWhuKHRoaXMuZmlsZSkudG9TdHJpbmcoKSksby5pbnB1dC5maWxlPXRoaXMuZmlsZSksb31mcm9tT2Zmc2V0KGUpe2xldCB0LGk7aWYodGhpc1t2YV0paT10aGlzW3ZhXTtlbHNle2xldCBzPXRoaXMuY3NzLnNwbGl0KGAKYCk7aT1uZXcgQXJyYXkocy5sZW5ndGgpO2xldCBhPTA7Zm9yKGxldCBvPTAsbD1zLmxlbmd0aDtvPGw7bysrKWlbb109YSxhKz1zW29dLmxlbmd0aCsxO3RoaXNbdmFdPWl9dD1pW2kubGVuZ3RoLTFdO2xldCBuPTA7aWYoZT49dCluPWkubGVuZ3RoLTE7ZWxzZXtsZXQgcz1pLmxlbmd0aC0yLGE7Zm9yKDtuPHM7KWlmKGE9bisocy1uPj4xKSxlPGlbYV0pcz1hLTE7ZWxzZSBpZihlPj1pW2ErMV0pbj1hKzE7ZWxzZXtuPWE7YnJlYWt9fXJldHVybntjb2w6ZS1pW25dKzEsbGluZTpuKzF9fW1hcFJlc29sdmUoZSl7cmV0dXJuL15cdys6XC9cLy8udGVzdChlKT9lOmJhKHRoaXMubWFwLmNvbnN1bWVyKCkuc291cmNlUm9vdHx8dGhpcy5tYXAucm9vdHx8Ii4iLGUpfW9yaWdpbihlLHQsaSxuKXtpZighdGhpcy5tYXApcmV0dXJuITE7bGV0IHM9dGhpcy5tYXAuY29uc3VtZXIoKSxhPXMub3JpZ2luYWxQb3NpdGlvbkZvcih7Y29sdW1uOnQsbGluZTplfSk7aWYoIWEuc291cmNlKXJldHVybiExO2xldCBvO3R5cGVvZiBpPT0ibnVtYmVyIiYmKG89cy5vcmlnaW5hbFBvc2l0aW9uRm9yKHtjb2x1bW46bixsaW5lOml9KSk7bGV0IGw7eWEoYS5zb3VyY2UpP2w9aG4oYS5zb3VyY2UpOmw9bmV3IFVSTChhLnNvdXJjZSx0aGlzLm1hcC5jb25zdW1lcigpLnNvdXJjZVJvb3R8fGhuKHRoaXMubWFwLm1hcEZpbGUpKTtsZXQgYz17Y29sdW1uOmEuY29sdW1uLGVuZENvbHVtbjpvJiZvLmNvbHVtbixlbmRMaW5lOm8mJm8ubGluZSxsaW5lOmEubGluZSx1cmw6bC50b1N0cmluZygpfTtpZihsLnByb3RvY29sPT09ImZpbGU6IilpZihMYyljLmZpbGU9TGMobCk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoImZpbGU6IHByb3RvY29sIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhpcyBQb3N0Q1NTIGJ1aWxkIik7bGV0IGY9cy5zb3VyY2VDb250ZW50Rm9yKGEuc291cmNlKTtyZXR1cm4gZiYmKGMuc291cmNlPWYpLGN9dG9KU09OKCl7bGV0IGU9e307Zm9yKGxldCB0IG9mWyJoYXNCT00iLCJjc3MiLCJmaWxlIiwiaWQiXSl0aGlzW3RdIT1udWxsJiYoZVt0XT10aGlzW3RdKTtyZXR1cm4gdGhpcy5tYXAmJihlLm1hcD17Li4udGhpcy5tYXB9LGUubWFwLmNvbnN1bWVyQ2FjaGUmJihlLm1hcC5jb25zdW1lckNhY2hlPXZvaWQgMCkpLGV9Z2V0IGZyb20oKXtyZXR1cm4gdGhpcy5maWxlfHx0aGlzLmlkfX07QmMuZXhwb3J0cz1YcjtYci5kZWZhdWx0PVhyO3dhJiZ3YS5yZWdpc3RlcklucHV0JiZ3YS5yZWdpc3RlcklucHV0KFhyKX0pO3ZhciB0cj14KCgkMyxVYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBGYz1FdCgpLGpjLHpjLFV0PWNsYXNzIGV4dGVuZHMgRmN7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy50eXBlPSJyb290Iix0aGlzLm5vZGVzfHwodGhpcy5ub2Rlcz1bXSl9bm9ybWFsaXplKGUsdCxpKXtsZXQgbj1zdXBlci5ub3JtYWxpemUoZSk7aWYodCl7aWYoaT09PSJwcmVwZW5kIil0aGlzLm5vZGVzLmxlbmd0aD4xP3QucmF3cy5iZWZvcmU9dGhpcy5ub2Rlc1sxXS5yYXdzLmJlZm9yZTpkZWxldGUgdC5yYXdzLmJlZm9yZTtlbHNlIGlmKHRoaXMuZmlyc3QhPT10KWZvcihsZXQgcyBvZiBuKXMucmF3cy5iZWZvcmU9dC5yYXdzLmJlZm9yZX1yZXR1cm4gbn1yZW1vdmVDaGlsZChlLHQpe2xldCBpPXRoaXMuaW5kZXgoZSk7cmV0dXJuIXQmJmk9PT0wJiZ0aGlzLm5vZGVzLmxlbmd0aD4xJiYodGhpcy5ub2Rlc1sxXS5yYXdzLmJlZm9yZT10aGlzLm5vZGVzW2ldLnJhd3MuYmVmb3JlKSxzdXBlci5yZW1vdmVDaGlsZChlKX10b1Jlc3VsdChlPXt9KXtyZXR1cm4gbmV3IGpjKG5ldyB6Yyx0aGlzLGUpLnN0cmluZ2lmeSgpfX07VXQucmVnaXN0ZXJMYXp5UmVzdWx0PXI9PntqYz1yfTtVdC5yZWdpc3RlclByb2Nlc3Nvcj1yPT57emM9cn07VWMuZXhwb3J0cz1VdDtVdC5kZWZhdWx0PVV0O0ZjLnJlZ2lzdGVyUm9vdChVdCl9KTt2YXIgeGE9eCgoTDMsVmMpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgWnI9e2NvbW1hKHIpe3JldHVybiBaci5zcGxpdChyLFsiLCJdLCEwKX0sc3BhY2Uocil7bGV0IGU9WyIgIixgCmAsIgkiXTtyZXR1cm4gWnIuc3BsaXQocixlKX0sc3BsaXQocixlLHQpe2xldCBpPVtdLG49IiIscz0hMSxhPTAsbz0hMSxsPSIiLGM9ITE7Zm9yKGxldCBmIG9mIHIpYz9jPSExOmY9PT0iXFwiP2M9ITA6bz9mPT09bCYmKG89ITEpOmY9PT0nIid8fGY9PT0iJyI/KG89ITAsbD1mKTpmPT09IigiP2ErPTE6Zj09PSIpIj9hPjAmJihhLT0xKTphPT09MCYmZS5pbmNsdWRlcyhmKSYmKHM9ITApLHM/KG4hPT0iIiYmaS5wdXNoKG4udHJpbSgpKSxuPSIiLHM9ITEpOm4rPWY7cmV0dXJuKHR8fG4hPT0iIikmJmkucHVzaChuLnRyaW0oKSksaX19O1ZjLmV4cG9ydHM9WnI7WnIuZGVmYXVsdD1acn0pO3ZhciBnbj14KChNMyxXYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBIYz1FdCgpLE54PXhhKCksSnI9Y2xhc3MgZXh0ZW5kcyBIY3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnR5cGU9InJ1bGUiLHRoaXMubm9kZXN8fCh0aGlzLm5vZGVzPVtdKX1nZXQgc2VsZWN0b3JzKCl7cmV0dXJuIE54LmNvbW1hKHRoaXMuc2VsZWN0b3IpfXNldCBzZWxlY3RvcnMoZSl7bGV0IHQ9dGhpcy5zZWxlY3Rvcj90aGlzLnNlbGVjdG9yLm1hdGNoKC8sXHMqLyk6bnVsbCxpPXQ/dFswXToiLCIrdGhpcy5yYXcoImJldHdlZW4iLCJiZWZvcmVPcGVuIik7dGhpcy5zZWxlY3Rvcj1lLmpvaW4oaSl9fTtXYy5leHBvcnRzPUpyO0pyLmRlZmF1bHQ9SnI7SGMucmVnaXN0ZXJSdWxlKEpyKX0pO3ZhciBRYz14KChOMyxHYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBCeD1wbigpLEZ4PVFyKCksang9WXIoKSx6eD1tbigpLFV4PWdhKCksVng9dHIoKSxIeD1nbigpO2Z1bmN0aW9uIGVpKHIsZSl7aWYoQXJyYXkuaXNBcnJheShyKSlyZXR1cm4gci5tYXAobj0+ZWkobikpO2xldHtpbnB1dHM6dCwuLi5pfT1yO2lmKHQpe2U9W107Zm9yKGxldCBuIG9mIHQpe2xldCBzPXsuLi5uLF9fcHJvdG9fXzp6eC5wcm90b3R5cGV9O3MubWFwJiYocy5tYXA9ey4uLnMubWFwLF9fcHJvdG9fXzpVeC5wcm90b3R5cGV9KSxlLnB1c2gocyl9fWlmKGkubm9kZXMmJihpLm5vZGVzPXIubm9kZXMubWFwKG49PmVpKG4sZSkpKSxpLnNvdXJjZSl7bGV0e2lucHV0SWQ6biwuLi5zfT1pLnNvdXJjZTtpLnNvdXJjZT1zLG4hPW51bGwmJihpLnNvdXJjZS5pbnB1dD1lW25dKX1pZihpLnR5cGU9PT0icm9vdCIpcmV0dXJuIG5ldyBWeChpKTtpZihpLnR5cGU9PT0iZGVjbCIpcmV0dXJuIG5ldyBqeChpKTtpZihpLnR5cGU9PT0icnVsZSIpcmV0dXJuIG5ldyBIeChpKTtpZihpLnR5cGU9PT0iY29tbWVudCIpcmV0dXJuIG5ldyBGeChpKTtpZihpLnR5cGU9PT0iYXRydWxlIilyZXR1cm4gbmV3IEJ4KGkpO3Rocm93IG5ldyBFcnJvcigiVW5rbm93biBub2RlIHR5cGU6ICIrci50eXBlKX1HYy5leHBvcnRzPWVpO2VpLmRlZmF1bHQ9ZWl9KTt2YXIga2E9eCgoQjMsWWMpPT57dSgpO1ljLmV4cG9ydHM9ZnVuY3Rpb24ocixlKXtyZXR1cm57Z2VuZXJhdGU6KCk9PntsZXQgdD0iIjtyZXR1cm4gcihlLGk9Pnt0Kz1pfSksW3RdfX19fSk7dmFyIGVwPXgoKEYzLEpjKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIFNhPSInIi5jaGFyQ29kZUF0KDApLEtjPSciJy5jaGFyQ29kZUF0KDApLHluPSJcXCIuY2hhckNvZGVBdCgwKSxYYz0iLyIuY2hhckNvZGVBdCgwKSxibj1gCmAuY2hhckNvZGVBdCgwKSx0aT0iICIuY2hhckNvZGVBdCgwKSx3bj0iXGYiLmNoYXJDb2RlQXQoMCksdm49IgkiLmNoYXJDb2RlQXQoMCkseG49IlxyIi5jaGFyQ29kZUF0KDApLFd4PSJbIi5jaGFyQ29kZUF0KDApLEd4PSJdIi5jaGFyQ29kZUF0KDApLFF4PSIoIi5jaGFyQ29kZUF0KDApLFl4PSIpIi5jaGFyQ29kZUF0KDApLEt4PSJ7Ii5jaGFyQ29kZUF0KDApLFh4PSJ9Ii5jaGFyQ29kZUF0KDApLFp4PSI7Ii5jaGFyQ29kZUF0KDApLEp4PSIqIi5jaGFyQ29kZUF0KDApLGUxPSI6Ii5jaGFyQ29kZUF0KDApLHQxPSJAIi5jaGFyQ29kZUF0KDApLGtuPS9bXHRcblxmXHIgIiMnKCkvO1tcXFxde31dL2csU249L1tcdFxuXGZcciAhIiMnKCk6O0BbXFxcXXt9XXxcLyg/PVwqKS9nLHIxPS8uW1xyXG4iJygvXFxdLyxaYz0vW1xkYS1mXS9pO0pjLmV4cG9ydHM9ZnVuY3Rpb24oZSx0PXt9KXtsZXQgaT1lLmNzcy52YWx1ZU9mKCksbj10Lmlnbm9yZUVycm9ycyxzLGEsbyxsLGMsZixkLHAsaCxiLHY9aS5sZW5ndGgseT0wLHc9W10saz1bXTtmdW5jdGlvbiBTKCl7cmV0dXJuIHl9ZnVuY3Rpb24gRShSKXt0aHJvdyBlLmVycm9yKCJVbmNsb3NlZCAiK1IseSl9ZnVuY3Rpb24gVCgpe3JldHVybiBrLmxlbmd0aD09PTAmJnk+PXZ9ZnVuY3Rpb24gQihSKXtpZihrLmxlbmd0aClyZXR1cm4gay5wb3AoKTtpZih5Pj12KXJldHVybjtsZXQgRj1SP1IuaWdub3JlVW5jbG9zZWQ6ITE7c3dpdGNoKHM9aS5jaGFyQ29kZUF0KHkpLHMpe2Nhc2UgYm46Y2FzZSB0aTpjYXNlIHZuOmNhc2UgeG46Y2FzZSB3bjp7bD15O2RvIGwrPTEscz1pLmNoYXJDb2RlQXQobCk7d2hpbGUocz09PXRpfHxzPT09Ym58fHM9PT12bnx8cz09PXhufHxzPT09d24pO2Y9WyJzcGFjZSIsaS5zbGljZSh5LGwpXSx5PWwtMTticmVha31jYXNlIFd4OmNhc2UgR3g6Y2FzZSBLeDpjYXNlIFh4OmNhc2UgZTE6Y2FzZSBaeDpjYXNlIFl4OntsZXQgWT1TdHJpbmcuZnJvbUNoYXJDb2RlKHMpO2Y9W1ksWSx5XTticmVha31jYXNlIFF4OntpZihiPXcubGVuZ3RoP3cucG9wKClbMV06IiIsaD1pLmNoYXJDb2RlQXQoeSsxKSxiPT09InVybCImJmghPT1TYSYmaCE9PUtjJiZoIT09dGkmJmghPT1ibiYmaCE9PXZuJiZoIT09d24mJmghPT14bil7bD15O2Rve2lmKGQ9ITEsbD1pLmluZGV4T2YoIikiLGwrMSksbD09PS0xKWlmKG58fEYpe2w9eTticmVha31lbHNlIEUoImJyYWNrZXQiKTtmb3IocD1sO2kuY2hhckNvZGVBdChwLTEpPT09eW47KXAtPTEsZD0hZH13aGlsZShkKTtmPVsiYnJhY2tldHMiLGkuc2xpY2UoeSxsKzEpLHksbF0seT1sfWVsc2UgbD1pLmluZGV4T2YoIikiLHkrMSksYT1pLnNsaWNlKHksbCsxKSxsPT09LTF8fHIxLnRlc3QoYSk/Zj1bIigiLCIoIix5XTooZj1bImJyYWNrZXRzIixhLHksbF0seT1sKTticmVha31jYXNlIFNhOmNhc2UgS2M6e2M9cz09PVNhPyInIjonIicsbD15O2Rve2lmKGQ9ITEsbD1pLmluZGV4T2YoYyxsKzEpLGw9PT0tMSlpZihufHxGKXtsPXkrMTticmVha31lbHNlIEUoInN0cmluZyIpO2ZvcihwPWw7aS5jaGFyQ29kZUF0KHAtMSk9PT15bjspcC09MSxkPSFkfXdoaWxlKGQpO2Y9WyJzdHJpbmciLGkuc2xpY2UoeSxsKzEpLHksbF0seT1sO2JyZWFrfWNhc2UgdDE6e2tuLmxhc3RJbmRleD15KzEsa24udGVzdChpKSxrbi5sYXN0SW5kZXg9PT0wP2w9aS5sZW5ndGgtMTpsPWtuLmxhc3RJbmRleC0yLGY9WyJhdC13b3JkIixpLnNsaWNlKHksbCsxKSx5LGxdLHk9bDticmVha31jYXNlIHluOntmb3IobD15LG89ITA7aS5jaGFyQ29kZUF0KGwrMSk9PT15bjspbCs9MSxvPSFvO2lmKHM9aS5jaGFyQ29kZUF0KGwrMSksbyYmcyE9PVhjJiZzIT09dGkmJnMhPT1ibiYmcyE9PXZuJiZzIT09eG4mJnMhPT13biYmKGwrPTEsWmMudGVzdChpLmNoYXJBdChsKSkpKXtmb3IoO1pjLnRlc3QoaS5jaGFyQXQobCsxKSk7KWwrPTE7aS5jaGFyQ29kZUF0KGwrMSk9PT10aSYmKGwrPTEpfWY9WyJ3b3JkIixpLnNsaWNlKHksbCsxKSx5LGxdLHk9bDticmVha31kZWZhdWx0OntzPT09WGMmJmkuY2hhckNvZGVBdCh5KzEpPT09Sng/KGw9aS5pbmRleE9mKCIqLyIseSsyKSsxLGw9PT0wJiYobnx8Rj9sPWkubGVuZ3RoOkUoImNvbW1lbnQiKSksZj1bImNvbW1lbnQiLGkuc2xpY2UoeSxsKzEpLHksbF0seT1sKTooU24ubGFzdEluZGV4PXkrMSxTbi50ZXN0KGkpLFNuLmxhc3RJbmRleD09PTA/bD1pLmxlbmd0aC0xOmw9U24ubGFzdEluZGV4LTIsZj1bIndvcmQiLGkuc2xpY2UoeSxsKzEpLHksbF0sdy5wdXNoKGYpLHk9bCk7YnJlYWt9fXJldHVybiB5KyssZn1mdW5jdGlvbiBOKFIpe2sucHVzaChSKX1yZXR1cm57YmFjazpOLGVuZE9mRmlsZTpULG5leHRUb2tlbjpCLHBvc2l0aW9uOlN9fX0pO3ZhciBzcD14KChqMyxucCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBpMT1wbigpLG4xPVFyKCksczE9WXIoKSxhMT10cigpLHRwPWduKCksbzE9ZXAoKSxycD17ZW1wdHk6ITAsc3BhY2U6ITB9O2Z1bmN0aW9uIGwxKHIpe2ZvcihsZXQgZT1yLmxlbmd0aC0xO2U+PTA7ZS0tKXtsZXQgdD1yW2VdLGk9dFszXXx8dFsyXTtpZihpKXJldHVybiBpfX12YXIgaXA9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5pbnB1dD1lLHRoaXMucm9vdD1uZXcgYTEsdGhpcy5jdXJyZW50PXRoaXMucm9vdCx0aGlzLnNwYWNlcz0iIix0aGlzLnNlbWljb2xvbj0hMSx0aGlzLmNyZWF0ZVRva2VuaXplcigpLHRoaXMucm9vdC5zb3VyY2U9e2lucHV0OmUsc3RhcnQ6e2NvbHVtbjoxLGxpbmU6MSxvZmZzZXQ6MH19fWF0cnVsZShlKXtsZXQgdD1uZXcgaTE7dC5uYW1lPWVbMV0uc2xpY2UoMSksdC5uYW1lPT09IiImJnRoaXMudW5uYW1lZEF0cnVsZSh0LGUpLHRoaXMuaW5pdCh0LGVbMl0pO2xldCBpLG4scyxhPSExLG89ITEsbD1bXSxjPVtdO2Zvcig7IXRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpOyl7aWYoZT10aGlzLnRva2VuaXplci5uZXh0VG9rZW4oKSxpPWVbMF0saT09PSIoInx8aT09PSJbIj9jLnB1c2goaT09PSIoIj8iKSI6Il0iKTppPT09InsiJiZjLmxlbmd0aD4wP2MucHVzaCgifSIpOmk9PT1jW2MubGVuZ3RoLTFdJiZjLnBvcCgpLGMubGVuZ3RoPT09MClpZihpPT09IjsiKXt0LnNvdXJjZS5lbmQ9dGhpcy5nZXRQb3NpdGlvbihlWzJdKSx0LnNvdXJjZS5lbmQub2Zmc2V0KyssdGhpcy5zZW1pY29sb249ITA7YnJlYWt9ZWxzZSBpZihpPT09InsiKXtvPSEwO2JyZWFrfWVsc2UgaWYoaT09PSJ9Iil7aWYobC5sZW5ndGg+MCl7Zm9yKHM9bC5sZW5ndGgtMSxuPWxbc107biYmblswXT09PSJzcGFjZSI7KW49bFstLXNdO24mJih0LnNvdXJjZS5lbmQ9dGhpcy5nZXRQb3NpdGlvbihuWzNdfHxuWzJdKSx0LnNvdXJjZS5lbmQub2Zmc2V0KyspfXRoaXMuZW5kKGUpO2JyZWFrfWVsc2UgbC5wdXNoKGUpO2Vsc2UgbC5wdXNoKGUpO2lmKHRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpKXthPSEwO2JyZWFrfX10LnJhd3MuYmV0d2Vlbj10aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbUVuZChsKSxsLmxlbmd0aD8odC5yYXdzLmFmdGVyTmFtZT10aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbVN0YXJ0KGwpLHRoaXMucmF3KHQsInBhcmFtcyIsbCksYSYmKGU9bFtsLmxlbmd0aC0xXSx0LnNvdXJjZS5lbmQ9dGhpcy5nZXRQb3NpdGlvbihlWzNdfHxlWzJdKSx0LnNvdXJjZS5lbmQub2Zmc2V0KyssdGhpcy5zcGFjZXM9dC5yYXdzLmJldHdlZW4sdC5yYXdzLmJldHdlZW49IiIpKToodC5yYXdzLmFmdGVyTmFtZT0iIix0LnBhcmFtcz0iIiksbyYmKHQubm9kZXM9W10sdGhpcy5jdXJyZW50PXQpfWNoZWNrTWlzc2VkU2VtaWNvbG9uKGUpe2xldCB0PXRoaXMuY29sb24oZSk7aWYodD09PSExKXJldHVybjtsZXQgaT0wLG47Zm9yKGxldCBzPXQtMTtzPj0wJiYobj1lW3NdLCEoblswXSE9PSJzcGFjZSImJihpKz0xLGk9PT0yKSkpO3MtLSk7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiTWlzc2VkIHNlbWljb2xvbiIsblswXT09PSJ3b3JkIj9uWzNdKzE6blsyXSl9Y29sb24oZSl7bGV0IHQ9MCxpLG4scztmb3IobGV0W2Esb11vZiBlLmVudHJpZXMoKSl7aWYobj1vLHM9blswXSxzPT09IigiJiYodCs9MSkscz09PSIpIiYmKHQtPTEpLHQ9PT0wJiZzPT09IjoiKWlmKCFpKXRoaXMuZG91YmxlQ29sb24obik7ZWxzZXtpZihpWzBdPT09IndvcmQiJiZpWzFdPT09InByb2dpZCIpY29udGludWU7cmV0dXJuIGF9aT1ufXJldHVybiExfWNvbW1lbnQoZSl7bGV0IHQ9bmV3IG4xO3RoaXMuaW5pdCh0LGVbMl0pLHQuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKGVbM118fGVbMl0pLHQuc291cmNlLmVuZC5vZmZzZXQrKztsZXQgaT1lWzFdLnNsaWNlKDIsLTIpO2lmKC9eXHMqJC8udGVzdChpKSl0LnRleHQ9IiIsdC5yYXdzLmxlZnQ9aSx0LnJhd3MucmlnaHQ9IiI7ZWxzZXtsZXQgbj1pLm1hdGNoKC9eKFxzKikoW15dKlxTKShccyopJC8pO3QudGV4dD1uWzJdLHQucmF3cy5sZWZ0PW5bMV0sdC5yYXdzLnJpZ2h0PW5bM119fWNyZWF0ZVRva2VuaXplcigpe3RoaXMudG9rZW5pemVyPW8xKHRoaXMuaW5wdXQpfWRlY2woZSx0KXtsZXQgaT1uZXcgczE7dGhpcy5pbml0KGksZVswXVsyXSk7bGV0IG49ZVtlLmxlbmd0aC0xXTtmb3IoblswXT09PSI7IiYmKHRoaXMuc2VtaWNvbG9uPSEwLGUucG9wKCkpLGkuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKG5bM118fG5bMl18fGwxKGUpKSxpLnNvdXJjZS5lbmQub2Zmc2V0Kys7ZVswXVswXSE9PSJ3b3JkIjspZS5sZW5ndGg9PT0xJiZ0aGlzLnVua25vd25Xb3JkKGUpLGkucmF3cy5iZWZvcmUrPWUuc2hpZnQoKVsxXTtmb3IoaS5zb3VyY2Uuc3RhcnQ9dGhpcy5nZXRQb3NpdGlvbihlWzBdWzJdKSxpLnByb3A9IiI7ZS5sZW5ndGg7KXtsZXQgYz1lWzBdWzBdO2lmKGM9PT0iOiJ8fGM9PT0ic3BhY2UifHxjPT09ImNvbW1lbnQiKWJyZWFrO2kucHJvcCs9ZS5zaGlmdCgpWzFdfWkucmF3cy5iZXR3ZWVuPSIiO2xldCBzO2Zvcig7ZS5sZW5ndGg7KWlmKHM9ZS5zaGlmdCgpLHNbMF09PT0iOiIpe2kucmF3cy5iZXR3ZWVuKz1zWzFdO2JyZWFrfWVsc2Ugc1swXT09PSJ3b3JkIiYmL1x3Ly50ZXN0KHNbMV0pJiZ0aGlzLnVua25vd25Xb3JkKFtzXSksaS5yYXdzLmJldHdlZW4rPXNbMV07KGkucHJvcFswXT09PSJfInx8aS5wcm9wWzBdPT09IioiKSYmKGkucmF3cy5iZWZvcmUrPWkucHJvcFswXSxpLnByb3A9aS5wcm9wLnNsaWNlKDEpKTtsZXQgYT1bXSxvO2Zvcig7ZS5sZW5ndGgmJihvPWVbMF1bMF0sIShvIT09InNwYWNlIiYmbyE9PSJjb21tZW50IikpOylhLnB1c2goZS5zaGlmdCgpKTt0aGlzLnByZWNoZWNrTWlzc2VkU2VtaWNvbG9uKGUpO2ZvcihsZXQgYz1lLmxlbmd0aC0xO2M+PTA7Yy0tKXtpZihzPWVbY10sc1sxXS50b0xvd2VyQ2FzZSgpPT09IiFpbXBvcnRhbnQiKXtpLmltcG9ydGFudD0hMDtsZXQgZj10aGlzLnN0cmluZ0Zyb20oZSxjKTtmPXRoaXMuc3BhY2VzRnJvbUVuZChlKStmLGYhPT0iICFpbXBvcnRhbnQiJiYoaS5yYXdzLmltcG9ydGFudD1mKTticmVha31lbHNlIGlmKHNbMV0udG9Mb3dlckNhc2UoKT09PSJpbXBvcnRhbnQiKXtsZXQgZj1lLnNsaWNlKDApLGQ9IiI7Zm9yKGxldCBwPWM7cD4wO3AtLSl7bGV0IGg9ZltwXVswXTtpZihkLnRyaW0oKS5zdGFydHNXaXRoKCIhIikmJmghPT0ic3BhY2UiKWJyZWFrO2Q9Zi5wb3AoKVsxXStkfWQudHJpbSgpLnN0YXJ0c1dpdGgoIiEiKSYmKGkuaW1wb3J0YW50PSEwLGkucmF3cy5pbXBvcnRhbnQ9ZCxlPWYpfWlmKHNbMF0hPT0ic3BhY2UiJiZzWzBdIT09ImNvbW1lbnQiKWJyZWFrfWUuc29tZShjPT5jWzBdIT09InNwYWNlIiYmY1swXSE9PSJjb21tZW50IikmJihpLnJhd3MuYmV0d2Vlbis9YS5tYXAoYz0+Y1sxXSkuam9pbigiIiksYT1bXSksdGhpcy5yYXcoaSwidmFsdWUiLGEuY29uY2F0KGUpLHQpLGkudmFsdWUuaW5jbHVkZXMoIjoiKSYmIXQmJnRoaXMuY2hlY2tNaXNzZWRTZW1pY29sb24oZSl9ZG91YmxlQ29sb24oZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiRG91YmxlIGNvbG9uIix7b2Zmc2V0OmVbMl19LHtvZmZzZXQ6ZVsyXStlWzFdLmxlbmd0aH0pfWVtcHR5UnVsZShlKXtsZXQgdD1uZXcgdHA7dGhpcy5pbml0KHQsZVsyXSksdC5zZWxlY3Rvcj0iIix0LnJhd3MuYmV0d2Vlbj0iIix0aGlzLmN1cnJlbnQ9dH1lbmQoZSl7dGhpcy5jdXJyZW50Lm5vZGVzJiZ0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RoJiYodGhpcy5jdXJyZW50LnJhd3Muc2VtaWNvbG9uPXRoaXMuc2VtaWNvbG9uKSx0aGlzLnNlbWljb2xvbj0hMSx0aGlzLmN1cnJlbnQucmF3cy5hZnRlcj0odGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXJ8fCIiKSt0aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz0iIix0aGlzLmN1cnJlbnQucGFyZW50Pyh0aGlzLmN1cnJlbnQuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKGVbMl0pLHRoaXMuY3VycmVudC5zb3VyY2UuZW5kLm9mZnNldCsrLHRoaXMuY3VycmVudD10aGlzLmN1cnJlbnQucGFyZW50KTp0aGlzLnVuZXhwZWN0ZWRDbG9zZShlKX1lbmRGaWxlKCl7dGhpcy5jdXJyZW50LnBhcmVudCYmdGhpcy51bmNsb3NlZEJsb2NrKCksdGhpcy5jdXJyZW50Lm5vZGVzJiZ0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RoJiYodGhpcy5jdXJyZW50LnJhd3Muc2VtaWNvbG9uPXRoaXMuc2VtaWNvbG9uKSx0aGlzLmN1cnJlbnQucmF3cy5hZnRlcj0odGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXJ8fCIiKSt0aGlzLnNwYWNlcyx0aGlzLnJvb3Quc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKHRoaXMudG9rZW5pemVyLnBvc2l0aW9uKCkpfWZyZWVTZW1pY29sb24oZSl7aWYodGhpcy5zcGFjZXMrPWVbMV0sdGhpcy5jdXJyZW50Lm5vZGVzKXtsZXQgdD10aGlzLmN1cnJlbnQubm9kZXNbdGhpcy5jdXJyZW50Lm5vZGVzLmxlbmd0aC0xXTt0JiZ0LnR5cGU9PT0icnVsZSImJiF0LnJhd3Mub3duU2VtaWNvbG9uJiYodC5yYXdzLm93blNlbWljb2xvbj10aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz0iIil9fWdldFBvc2l0aW9uKGUpe2xldCB0PXRoaXMuaW5wdXQuZnJvbU9mZnNldChlKTtyZXR1cm57Y29sdW1uOnQuY29sLGxpbmU6dC5saW5lLG9mZnNldDplfX1pbml0KGUsdCl7dGhpcy5jdXJyZW50LnB1c2goZSksZS5zb3VyY2U9e2lucHV0OnRoaXMuaW5wdXQsc3RhcnQ6dGhpcy5nZXRQb3NpdGlvbih0KX0sZS5yYXdzLmJlZm9yZT10aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz0iIixlLnR5cGUhPT0iY29tbWVudCImJih0aGlzLnNlbWljb2xvbj0hMSl9b3RoZXIoZSl7bGV0IHQ9ITEsaT1udWxsLG49ITEscz1udWxsLGE9W10sbz1lWzFdLnN0YXJ0c1dpdGgoIi0tIiksbD1bXSxjPWU7Zm9yKDtjOyl7aWYoaT1jWzBdLGwucHVzaChjKSxpPT09IigifHxpPT09IlsiKXN8fChzPWMpLGEucHVzaChpPT09IigiPyIpIjoiXSIpO2Vsc2UgaWYobyYmbiYmaT09PSJ7IilzfHwocz1jKSxhLnB1c2goIn0iKTtlbHNlIGlmKGEubGVuZ3RoPT09MClpZihpPT09IjsiKWlmKG4pe3RoaXMuZGVjbChsLG8pO3JldHVybn1lbHNlIGJyZWFrO2Vsc2UgaWYoaT09PSJ7Iil7dGhpcy5ydWxlKGwpO3JldHVybn1lbHNlIGlmKGk9PT0ifSIpe3RoaXMudG9rZW5pemVyLmJhY2sobC5wb3AoKSksdD0hMDticmVha31lbHNlIGk9PT0iOiImJihuPSEwKTtlbHNlIGk9PT1hW2EubGVuZ3RoLTFdJiYoYS5wb3AoKSxhLmxlbmd0aD09PTAmJihzPW51bGwpKTtjPXRoaXMudG9rZW5pemVyLm5leHRUb2tlbigpfWlmKHRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpJiYodD0hMCksYS5sZW5ndGg+MCYmdGhpcy51bmNsb3NlZEJyYWNrZXQocyksdCYmbil7aWYoIW8pZm9yKDtsLmxlbmd0aCYmKGM9bFtsLmxlbmd0aC0xXVswXSwhKGMhPT0ic3BhY2UiJiZjIT09ImNvbW1lbnQiKSk7KXRoaXMudG9rZW5pemVyLmJhY2sobC5wb3AoKSk7dGhpcy5kZWNsKGwsbyl9ZWxzZSB0aGlzLnVua25vd25Xb3JkKGwpfXBhcnNlKCl7bGV0IGU7Zm9yKDshdGhpcy50b2tlbml6ZXIuZW5kT2ZGaWxlKCk7KXN3aXRjaChlPXRoaXMudG9rZW5pemVyLm5leHRUb2tlbigpLGVbMF0pe2Nhc2Uic3BhY2UiOnRoaXMuc3BhY2VzKz1lWzFdO2JyZWFrO2Nhc2UiOyI6dGhpcy5mcmVlU2VtaWNvbG9uKGUpO2JyZWFrO2Nhc2UifSI6dGhpcy5lbmQoZSk7YnJlYWs7Y2FzZSJjb21tZW50Ijp0aGlzLmNvbW1lbnQoZSk7YnJlYWs7Y2FzZSJhdC13b3JkIjp0aGlzLmF0cnVsZShlKTticmVhaztjYXNlInsiOnRoaXMuZW1wdHlSdWxlKGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5vdGhlcihlKTticmVha310aGlzLmVuZEZpbGUoKX1wcmVjaGVja01pc3NlZFNlbWljb2xvbigpe31yYXcoZSx0LGksbil7bGV0IHMsYSxvPWkubGVuZ3RoLGw9IiIsYz0hMCxmLGQ7Zm9yKGxldCBwPTA7cDxvO3ArPTEpcz1pW3BdLGE9c1swXSxhPT09InNwYWNlIiYmcD09PW8tMSYmIW4/Yz0hMTphPT09ImNvbW1lbnQiPyhkPWlbcC0xXT9pW3AtMV1bMF06ImVtcHR5IixmPWlbcCsxXT9pW3ArMV1bMF06ImVtcHR5IiwhcnBbZF0mJiFycFtmXT9sLnNsaWNlKC0xKT09PSIsIj9jPSExOmwrPXNbMV06Yz0hMSk6bCs9c1sxXTtpZighYyl7bGV0IHA9aS5yZWR1Y2UoKGgsYik9PmgrYlsxXSwiIik7ZS5yYXdzW3RdPXtyYXc6cCx2YWx1ZTpsfX1lW3RdPWx9cnVsZShlKXtlLnBvcCgpO2xldCB0PW5ldyB0cDt0aGlzLmluaXQodCxlWzBdWzJdKSx0LnJhd3MuYmV0d2Vlbj10aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbUVuZChlKSx0aGlzLnJhdyh0LCJzZWxlY3RvciIsZSksdGhpcy5jdXJyZW50PXR9c3BhY2VzQW5kQ29tbWVudHNGcm9tRW5kKGUpe2xldCB0LGk9IiI7Zm9yKDtlLmxlbmd0aCYmKHQ9ZVtlLmxlbmd0aC0xXVswXSwhKHQhPT0ic3BhY2UiJiZ0IT09ImNvbW1lbnQiKSk7KWk9ZS5wb3AoKVsxXStpO3JldHVybiBpfXNwYWNlc0FuZENvbW1lbnRzRnJvbVN0YXJ0KGUpe2xldCB0LGk9IiI7Zm9yKDtlLmxlbmd0aCYmKHQ9ZVswXVswXSwhKHQhPT0ic3BhY2UiJiZ0IT09ImNvbW1lbnQiKSk7KWkrPWUuc2hpZnQoKVsxXTtyZXR1cm4gaX1zcGFjZXNGcm9tRW5kKGUpe2xldCB0LGk9IiI7Zm9yKDtlLmxlbmd0aCYmKHQ9ZVtlLmxlbmd0aC0xXVswXSx0PT09InNwYWNlIik7KWk9ZS5wb3AoKVsxXStpO3JldHVybiBpfXN0cmluZ0Zyb20oZSx0KXtsZXQgaT0iIjtmb3IobGV0IG49dDtuPGUubGVuZ3RoO24rKylpKz1lW25dWzFdO3JldHVybiBlLnNwbGljZSh0LGUubGVuZ3RoLXQpLGl9dW5jbG9zZWRCbG9jaygpe2xldCBlPXRoaXMuY3VycmVudC5zb3VyY2Uuc3RhcnQ7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiVW5jbG9zZWQgYmxvY2siLGUubGluZSxlLmNvbHVtbil9dW5jbG9zZWRCcmFja2V0KGUpe3Rocm93IHRoaXMuaW5wdXQuZXJyb3IoIlVuY2xvc2VkIGJyYWNrZXQiLHtvZmZzZXQ6ZVsyXX0se29mZnNldDplWzJdKzF9KX11bmV4cGVjdGVkQ2xvc2UoZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiVW5leHBlY3RlZCB9Iix7b2Zmc2V0OmVbMl19LHtvZmZzZXQ6ZVsyXSsxfSl9dW5rbm93bldvcmQoZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiVW5rbm93biB3b3JkIix7b2Zmc2V0OmVbMF1bMl19LHtvZmZzZXQ6ZVswXVsyXStlWzBdWzFdLmxlbmd0aH0pfXVubmFtZWRBdHJ1bGUoZSx0KXt0aHJvdyB0aGlzLmlucHV0LmVycm9yKCJBdC1ydWxlIHdpdGhvdXQgbmFtZSIse29mZnNldDp0WzJdfSx7b2Zmc2V0OnRbMl0rdFsxXS5sZW5ndGh9KX19O25wLmV4cG9ydHM9aXB9KTt2YXIgQ249eCgoejMsYXApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgdTE9RXQoKSxmMT1tbigpLGMxPXNwKCk7ZnVuY3Rpb24gQW4ocixlKXtsZXQgdD1uZXcgZjEocixlKSxpPW5ldyBjMSh0KTt0cnl7aS5wYXJzZSgpfWNhdGNoKG4pe3Rocm93IG59cmV0dXJuIGkucm9vdH1hcC5leHBvcnRzPUFuO0FuLmRlZmF1bHQ9QW47dTEucmVnaXN0ZXJQYXJzZShBbil9KTt2YXIgQWE9eCgoVTMsb3ApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgX249Y2xhc3N7Y29uc3RydWN0b3IoZSx0PXt9KXtpZih0aGlzLnR5cGU9Indhcm5pbmciLHRoaXMudGV4dD1lLHQubm9kZSYmdC5ub2RlLnNvdXJjZSl7bGV0IGk9dC5ub2RlLnJhbmdlQnkodCk7dGhpcy5saW5lPWkuc3RhcnQubGluZSx0aGlzLmNvbHVtbj1pLnN0YXJ0LmNvbHVtbix0aGlzLmVuZExpbmU9aS5lbmQubGluZSx0aGlzLmVuZENvbHVtbj1pLmVuZC5jb2x1bW59Zm9yKGxldCBpIGluIHQpdGhpc1tpXT10W2ldfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubm9kZT90aGlzLm5vZGUuZXJyb3IodGhpcy50ZXh0LHtpbmRleDp0aGlzLmluZGV4LHBsdWdpbjp0aGlzLnBsdWdpbix3b3JkOnRoaXMud29yZH0pLm1lc3NhZ2U6dGhpcy5wbHVnaW4/dGhpcy5wbHVnaW4rIjogIit0aGlzLnRleHQ6dGhpcy50ZXh0fX07b3AuZXhwb3J0cz1fbjtfbi5kZWZhdWx0PV9ufSk7dmFyIE9uPXgoKFYzLGxwKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIHAxPUFhKCksRW49Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMucHJvY2Vzc29yPWUsdGhpcy5tZXNzYWdlcz1bXSx0aGlzLnJvb3Q9dCx0aGlzLm9wdHM9aSx0aGlzLmNzcz12b2lkIDAsdGhpcy5tYXA9dm9pZCAwfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY3NzfXdhcm4oZSx0PXt9KXt0LnBsdWdpbnx8dGhpcy5sYXN0UGx1Z2luJiZ0aGlzLmxhc3RQbHVnaW4ucG9zdGNzc1BsdWdpbiYmKHQucGx1Z2luPXRoaXMubGFzdFBsdWdpbi5wb3N0Y3NzUGx1Z2luKTtsZXQgaT1uZXcgcDEoZSx0KTtyZXR1cm4gdGhpcy5tZXNzYWdlcy5wdXNoKGkpLGl9d2FybmluZ3MoKXtyZXR1cm4gdGhpcy5tZXNzYWdlcy5maWx0ZXIoZT0+ZS50eXBlPT09Indhcm5pbmciKX1nZXQgY29udGVudCgpe3JldHVybiB0aGlzLmNzc319O2xwLmV4cG9ydHM9RW47RW4uZGVmYXVsdD1Fbn0pO3ZhciBDYT14KChIMyxmcCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciB1cD17fTtmcC5leHBvcnRzPWZ1bmN0aW9uKGUpe3VwW2VdfHwodXBbZV09ITAsdHlwZW9mIGNvbnNvbGUhPSJ1bmRlZmluZWQiJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2FybihlKSl9fSk7dmFyIE9hPXgoKEczLGhwKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIGQxPUV0KCksaDE9ZG4oKSxtMT1rYSgpLGcxPUNuKCksY3A9T24oKSx5MT10cigpLGIxPVZyKCkse2lzQ2xlYW46dHQsbXk6dzF9PWxuKCksVzM9Q2EoKSx2MT17YXRydWxlOiJBdFJ1bGUiLGNvbW1lbnQ6IkNvbW1lbnQiLGRlY2w6IkRlY2xhcmF0aW9uIixkb2N1bWVudDoiRG9jdW1lbnQiLHJvb3Q6IlJvb3QiLHJ1bGU6IlJ1bGUifSx4MT17QXRSdWxlOiEwLEF0UnVsZUV4aXQ6ITAsQ29tbWVudDohMCxDb21tZW50RXhpdDohMCxEZWNsYXJhdGlvbjohMCxEZWNsYXJhdGlvbkV4aXQ6ITAsRG9jdW1lbnQ6ITAsRG9jdW1lbnRFeGl0OiEwLE9uY2U6ITAsT25jZUV4aXQ6ITAscG9zdGNzc1BsdWdpbjohMCxwcmVwYXJlOiEwLFJvb3Q6ITAsUm9vdEV4aXQ6ITAsUnVsZTohMCxSdWxlRXhpdDohMH0sazE9e09uY2U6ITAscG9zdGNzc1BsdWdpbjohMCxwcmVwYXJlOiEwfSxycj0wO2Z1bmN0aW9uIHJpKHIpe3JldHVybiB0eXBlb2Ygcj09Im9iamVjdCImJnR5cGVvZiByLnRoZW49PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gcHAocil7bGV0IGU9ITEsdD12MVtyLnR5cGVdO3JldHVybiByLnR5cGU9PT0iZGVjbCI/ZT1yLnByb3AudG9Mb3dlckNhc2UoKTpyLnR5cGU9PT0iYXRydWxlIiYmKGU9ci5uYW1lLnRvTG93ZXJDYXNlKCkpLGUmJnIuYXBwZW5kP1t0LHQrIi0iK2UscnIsdCsiRXhpdCIsdCsiRXhpdC0iK2VdOmU/W3QsdCsiLSIrZSx0KyJFeGl0Iix0KyJFeGl0LSIrZV06ci5hcHBlbmQ/W3QscnIsdCsiRXhpdCJdOlt0LHQrIkV4aXQiXX1mdW5jdGlvbiBkcChyKXtsZXQgZTtyZXR1cm4gci50eXBlPT09ImRvY3VtZW50Ij9lPVsiRG9jdW1lbnQiLHJyLCJEb2N1bWVudEV4aXQiXTpyLnR5cGU9PT0icm9vdCI/ZT1bIlJvb3QiLHJyLCJSb290RXhpdCJdOmU9cHAocikse2V2ZW50SW5kZXg6MCxldmVudHM6ZSxpdGVyYXRvcjowLG5vZGU6cix2aXNpdG9ySW5kZXg6MCx2aXNpdG9yczpbXX19ZnVuY3Rpb24gX2Eocil7cmV0dXJuIHJbdHRdPSExLHIubm9kZXMmJnIubm9kZXMuZm9yRWFjaChlPT5fYShlKSkscn12YXIgRWE9e30scHQ9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuc3RyaW5naWZpZWQ9ITEsdGhpcy5wcm9jZXNzZWQ9ITE7bGV0IG47aWYodHlwZW9mIHQ9PSJvYmplY3QiJiZ0IT09bnVsbCYmKHQudHlwZT09PSJyb290Inx8dC50eXBlPT09ImRvY3VtZW50Iikpbj1fYSh0KTtlbHNlIGlmKHQgaW5zdGFuY2VvZiBwdHx8dCBpbnN0YW5jZW9mIGNwKW49X2EodC5yb290KSx0Lm1hcCYmKHR5cGVvZiBpLm1hcD09InVuZGVmaW5lZCImJihpLm1hcD17fSksaS5tYXAuaW5saW5lfHwoaS5tYXAuaW5saW5lPSExKSxpLm1hcC5wcmV2PXQubWFwKTtlbHNle2xldCBzPWcxO2kuc3ludGF4JiYocz1pLnN5bnRheC5wYXJzZSksaS5wYXJzZXImJihzPWkucGFyc2VyKSxzLnBhcnNlJiYocz1zLnBhcnNlKTt0cnl7bj1zKHQsaSl9Y2F0Y2goYSl7dGhpcy5wcm9jZXNzZWQ9ITAsdGhpcy5lcnJvcj1hfW4mJiFuW3cxXSYmZDEucmVidWlsZChuKX10aGlzLnJlc3VsdD1uZXcgY3AoZSxuLGkpLHRoaXMuaGVscGVycz17Li4uRWEscG9zdGNzczpFYSxyZXN1bHQ6dGhpcy5yZXN1bHR9LHRoaXMucGx1Z2lucz10aGlzLnByb2Nlc3Nvci5wbHVnaW5zLm1hcChzPT50eXBlb2Ygcz09Im9iamVjdCImJnMucHJlcGFyZT97Li4ucywuLi5zLnByZXBhcmUodGhpcy5yZXN1bHQpfTpzKX1hc3luYygpe3JldHVybiB0aGlzLmVycm9yP1Byb21pc2UucmVqZWN0KHRoaXMuZXJyb3IpOnRoaXMucHJvY2Vzc2VkP1Byb21pc2UucmVzb2x2ZSh0aGlzLnJlc3VsdCk6KHRoaXMucHJvY2Vzc2luZ3x8KHRoaXMucHJvY2Vzc2luZz10aGlzLnJ1bkFzeW5jKCkpLHRoaXMucHJvY2Vzc2luZyl9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuYXN5bmMoKS5jYXRjaChlKX1maW5hbGx5KGUpe3JldHVybiB0aGlzLmFzeW5jKCkudGhlbihlLGUpfWdldEFzeW5jRXJyb3IoKXt0aHJvdyBuZXcgRXJyb3IoIlVzZSBwcm9jZXNzKGNzcykudGhlbihjYikgdG8gd29yayB3aXRoIGFzeW5jIHBsdWdpbnMiKX1oYW5kbGVFcnJvcihlLHQpe2xldCBpPXRoaXMucmVzdWx0Lmxhc3RQbHVnaW47dHJ5e3QmJnQuYWRkVG9FcnJvcihlKSx0aGlzLmVycm9yPWUsZS5uYW1lPT09IkNzc1N5bnRheEVycm9yIiYmIWUucGx1Z2luPyhlLnBsdWdpbj1pLnBvc3Rjc3NQbHVnaW4sZS5zZXRNZXNzYWdlKCkpOmkucG9zdGNzc1ZlcnNpb259Y2F0Y2gobil7Y29uc29sZSYmY29uc29sZS5lcnJvciYmY29uc29sZS5lcnJvcihuKX1yZXR1cm4gZX1wcmVwYXJlVmlzaXRvcnMoKXt0aGlzLmxpc3RlbmVycz17fTtsZXQgZT0odCxpLG4pPT57dGhpcy5saXN0ZW5lcnNbaV18fCh0aGlzLmxpc3RlbmVyc1tpXT1bXSksdGhpcy5saXN0ZW5lcnNbaV0ucHVzaChbdCxuXSl9O2ZvcihsZXQgdCBvZiB0aGlzLnBsdWdpbnMpaWYodHlwZW9mIHQ9PSJvYmplY3QiKWZvcihsZXQgaSBpbiB0KXtpZigheDFbaV0mJi9eW0EtWl0vLnRlc3QoaSkpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGV2ZW50ICR7aX0gaW4gJHt0LnBvc3Rjc3NQbHVnaW59LiBUcnkgdG8gdXBkYXRlIFBvc3RDU1MgKCR7dGhpcy5wcm9jZXNzb3IudmVyc2lvbn0gbm93KS5gKTtpZighazFbaV0paWYodHlwZW9mIHRbaV09PSJvYmplY3QiKWZvcihsZXQgbiBpbiB0W2ldKW49PT0iKiI/ZSh0LGksdFtpXVtuXSk6ZSh0LGkrIi0iK24udG9Mb3dlckNhc2UoKSx0W2ldW25dKTtlbHNlIHR5cGVvZiB0W2ldPT0iZnVuY3Rpb24iJiZlKHQsaSx0W2ldKX10aGlzLmhhc0xpc3RlbmVyPU9iamVjdC5rZXlzKHRoaXMubGlzdGVuZXJzKS5sZW5ndGg+MH1hc3luYyBydW5Bc3luYygpe3RoaXMucGx1Z2luPTA7Zm9yKGxldCBlPTA7ZTx0aGlzLnBsdWdpbnMubGVuZ3RoO2UrKyl7bGV0IHQ9dGhpcy5wbHVnaW5zW2VdLGk9dGhpcy5ydW5PblJvb3QodCk7aWYocmkoaSkpdHJ5e2F3YWl0IGl9Y2F0Y2gobil7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihuKX19aWYodGhpcy5wcmVwYXJlVmlzaXRvcnMoKSx0aGlzLmhhc0xpc3RlbmVyKXtsZXQgZT10aGlzLnJlc3VsdC5yb290O2Zvcig7IWVbdHRdOyl7ZVt0dF09ITA7bGV0IHQ9W2RwKGUpXTtmb3IoO3QubGVuZ3RoPjA7KXtsZXQgaT10aGlzLnZpc2l0VGljayh0KTtpZihyaShpKSl0cnl7YXdhaXQgaX1jYXRjaChuKXtsZXQgcz10W3QubGVuZ3RoLTFdLm5vZGU7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihuLHMpfX19aWYodGhpcy5saXN0ZW5lcnMuT25jZUV4aXQpZm9yKGxldFt0LGldb2YgdGhpcy5saXN0ZW5lcnMuT25jZUV4aXQpe3RoaXMucmVzdWx0Lmxhc3RQbHVnaW49dDt0cnl7aWYoZS50eXBlPT09ImRvY3VtZW50Iil7bGV0IG49ZS5ub2Rlcy5tYXAocz0+aShzLHRoaXMuaGVscGVycykpO2F3YWl0IFByb21pc2UuYWxsKG4pfWVsc2UgYXdhaXQgaShlLHRoaXMuaGVscGVycyl9Y2F0Y2gobil7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihuKX19fXJldHVybiB0aGlzLnByb2Nlc3NlZD0hMCx0aGlzLnN0cmluZ2lmeSgpfXJ1bk9uUm9vdChlKXt0aGlzLnJlc3VsdC5sYXN0UGx1Z2luPWU7dHJ5e2lmKHR5cGVvZiBlPT0ib2JqZWN0IiYmZS5PbmNlKXtpZih0aGlzLnJlc3VsdC5yb290LnR5cGU9PT0iZG9jdW1lbnQiKXtsZXQgdD10aGlzLnJlc3VsdC5yb290Lm5vZGVzLm1hcChpPT5lLk9uY2UoaSx0aGlzLmhlbHBlcnMpKTtyZXR1cm4gcmkodFswXSk/UHJvbWlzZS5hbGwodCk6dH1yZXR1cm4gZS5PbmNlKHRoaXMucmVzdWx0LnJvb3QsdGhpcy5oZWxwZXJzKX1lbHNlIGlmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKXJldHVybiBlKHRoaXMucmVzdWx0LnJvb3QsdGhpcy5yZXN1bHQpfWNhdGNoKHQpe3Rocm93IHRoaXMuaGFuZGxlRXJyb3IodCl9fXN0cmluZ2lmeSgpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtpZih0aGlzLnN0cmluZ2lmaWVkKXJldHVybiB0aGlzLnJlc3VsdDt0aGlzLnN0cmluZ2lmaWVkPSEwLHRoaXMuc3luYygpO2xldCBlPXRoaXMucmVzdWx0Lm9wdHMsdD1iMTtlLnN5bnRheCYmKHQ9ZS5zeW50YXguc3RyaW5naWZ5KSxlLnN0cmluZ2lmaWVyJiYodD1lLnN0cmluZ2lmaWVyKSx0LnN0cmluZ2lmeSYmKHQ9dC5zdHJpbmdpZnkpO2xldCBuPW5ldyBtMSh0LHRoaXMucmVzdWx0LnJvb3QsdGhpcy5yZXN1bHQub3B0cykuZ2VuZXJhdGUoKTtyZXR1cm4gdGhpcy5yZXN1bHQuY3NzPW5bMF0sdGhpcy5yZXN1bHQubWFwPW5bMV0sdGhpcy5yZXN1bHR9c3luYygpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtpZih0aGlzLnByb2Nlc3NlZClyZXR1cm4gdGhpcy5yZXN1bHQ7aWYodGhpcy5wcm9jZXNzZWQ9ITAsdGhpcy5wcm9jZXNzaW5nKXRocm93IHRoaXMuZ2V0QXN5bmNFcnJvcigpO2ZvcihsZXQgZSBvZiB0aGlzLnBsdWdpbnMpe2xldCB0PXRoaXMucnVuT25Sb290KGUpO2lmKHJpKHQpKXRocm93IHRoaXMuZ2V0QXN5bmNFcnJvcigpfWlmKHRoaXMucHJlcGFyZVZpc2l0b3JzKCksdGhpcy5oYXNMaXN0ZW5lcil7bGV0IGU9dGhpcy5yZXN1bHQucm9vdDtmb3IoOyFlW3R0XTspZVt0dF09ITAsdGhpcy53YWxrU3luYyhlKTtpZih0aGlzLmxpc3RlbmVycy5PbmNlRXhpdClpZihlLnR5cGU9PT0iZG9jdW1lbnQiKWZvcihsZXQgdCBvZiBlLm5vZGVzKXRoaXMudmlzaXRTeW5jKHRoaXMubGlzdGVuZXJzLk9uY2VFeGl0LHQpO2Vsc2UgdGhpcy52aXNpdFN5bmModGhpcy5saXN0ZW5lcnMuT25jZUV4aXQsZSl9cmV0dXJuIHRoaXMucmVzdWx0fXRoZW4oZSx0KXtyZXR1cm4gdGhpcy5hc3luYygpLnRoZW4oZSx0KX10b1N0cmluZygpe3JldHVybiB0aGlzLmNzc312aXNpdFN5bmMoZSx0KXtmb3IobGV0W2ksbl1vZiBlKXt0aGlzLnJlc3VsdC5sYXN0UGx1Z2luPWk7bGV0IHM7dHJ5e3M9bih0LHRoaXMuaGVscGVycyl9Y2F0Y2goYSl7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihhLHQucHJveHlPZil9aWYodC50eXBlIT09InJvb3QiJiZ0LnR5cGUhPT0iZG9jdW1lbnQiJiYhdC5wYXJlbnQpcmV0dXJuITA7aWYocmkocykpdGhyb3cgdGhpcy5nZXRBc3luY0Vycm9yKCl9fXZpc2l0VGljayhlKXtsZXQgdD1lW2UubGVuZ3RoLTFdLHtub2RlOmksdmlzaXRvcnM6bn09dDtpZihpLnR5cGUhPT0icm9vdCImJmkudHlwZSE9PSJkb2N1bWVudCImJiFpLnBhcmVudCl7ZS5wb3AoKTtyZXR1cm59aWYobi5sZW5ndGg+MCYmdC52aXNpdG9ySW5kZXg8bi5sZW5ndGgpe2xldFthLG9dPW5bdC52aXNpdG9ySW5kZXhdO3QudmlzaXRvckluZGV4Kz0xLHQudmlzaXRvckluZGV4PT09bi5sZW5ndGgmJih0LnZpc2l0b3JzPVtdLHQudmlzaXRvckluZGV4PTApLHRoaXMucmVzdWx0Lmxhc3RQbHVnaW49YTt0cnl7cmV0dXJuIG8oaS50b1Byb3h5KCksdGhpcy5oZWxwZXJzKX1jYXRjaChsKXt0aHJvdyB0aGlzLmhhbmRsZUVycm9yKGwsaSl9fWlmKHQuaXRlcmF0b3IhPT0wKXtsZXQgYT10Lml0ZXJhdG9yLG87Zm9yKDtvPWkubm9kZXNbaS5pbmRleGVzW2FdXTspaWYoaS5pbmRleGVzW2FdKz0xLCFvW3R0XSl7b1t0dF09ITAsZS5wdXNoKGRwKG8pKTtyZXR1cm59dC5pdGVyYXRvcj0wLGRlbGV0ZSBpLmluZGV4ZXNbYV19bGV0IHM9dC5ldmVudHM7Zm9yKDt0LmV2ZW50SW5kZXg8cy5sZW5ndGg7KXtsZXQgYT1zW3QuZXZlbnRJbmRleF07aWYodC5ldmVudEluZGV4Kz0xLGE9PT1ycil7aS5ub2RlcyYmaS5ub2Rlcy5sZW5ndGgmJihpW3R0XT0hMCx0Lml0ZXJhdG9yPWkuZ2V0SXRlcmF0b3IoKSk7cmV0dXJufWVsc2UgaWYodGhpcy5saXN0ZW5lcnNbYV0pe3QudmlzaXRvcnM9dGhpcy5saXN0ZW5lcnNbYV07cmV0dXJufX1lLnBvcCgpfXdhbGtTeW5jKGUpe2VbdHRdPSEwO2xldCB0PXBwKGUpO2ZvcihsZXQgaSBvZiB0KWlmKGk9PT1ycillLm5vZGVzJiZlLmVhY2gobj0+e25bdHRdfHx0aGlzLndhbGtTeW5jKG4pfSk7ZWxzZXtsZXQgbj10aGlzLmxpc3RlbmVyc1tpXTtpZihuJiZ0aGlzLnZpc2l0U3luYyhuLGUudG9Qcm94eSgpKSlyZXR1cm59fXdhcm5pbmdzKCl7cmV0dXJuIHRoaXMuc3luYygpLndhcm5pbmdzKCl9Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5jb250ZW50fWdldCBjc3MoKXtyZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5jc3N9Z2V0IG1hcCgpe3JldHVybiB0aGlzLnN0cmluZ2lmeSgpLm1hcH1nZXQgbWVzc2FnZXMoKXtyZXR1cm4gdGhpcy5zeW5jKCkubWVzc2FnZXN9Z2V0IG9wdHMoKXtyZXR1cm4gdGhpcy5yZXN1bHQub3B0c31nZXQgcHJvY2Vzc29yKCl7cmV0dXJuIHRoaXMucmVzdWx0LnByb2Nlc3Nvcn1nZXQgcm9vdCgpe3JldHVybiB0aGlzLnN5bmMoKS5yb290fWdldFtTeW1ib2wudG9TdHJpbmdUYWddKCl7cmV0dXJuIkxhenlSZXN1bHQifX07cHQucmVnaXN0ZXJQb3N0Y3NzPXI9PntFYT1yfTtocC5leHBvcnRzPXB0O3B0LmRlZmF1bHQ9cHQ7eTEucmVnaXN0ZXJMYXp5UmVzdWx0KHB0KTtoMS5yZWdpc3RlckxhenlSZXN1bHQocHQpfSk7dmFyIGdwPXgoKFkzLG1wKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIFMxPWthKCksQTE9Q24oKSxDMT1PbigpLF8xPVZyKCksUTM9Q2EoKSxUbj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQsaSl7dD10LnRvU3RyaW5nKCksdGhpcy5zdHJpbmdpZmllZD0hMSx0aGlzLl9wcm9jZXNzb3I9ZSx0aGlzLl9jc3M9dCx0aGlzLl9vcHRzPWksdGhpcy5fbWFwPXZvaWQgMDtsZXQgbixzPV8xO3RoaXMucmVzdWx0PW5ldyBDMSh0aGlzLl9wcm9jZXNzb3Isbix0aGlzLl9vcHRzKSx0aGlzLnJlc3VsdC5jc3M9dDtsZXQgYT10aGlzO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLnJlc3VsdCwicm9vdCIse2dldCgpe3JldHVybiBhLnJvb3R9fSk7bGV0IG89bmV3IFMxKHMsbix0aGlzLl9vcHRzLHQpO2lmKG8uaXNNYXAoKSl7bGV0W2wsY109by5nZW5lcmF0ZSgpO2wmJih0aGlzLnJlc3VsdC5jc3M9bCksYyYmKHRoaXMucmVzdWx0Lm1hcD1jKX1lbHNlIG8uY2xlYXJBbm5vdGF0aW9uKCksdGhpcy5yZXN1bHQuY3NzPW8uY3NzfWFzeW5jKCl7cmV0dXJuIHRoaXMuZXJyb3I/UHJvbWlzZS5yZWplY3QodGhpcy5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKHRoaXMucmVzdWx0KX1jYXRjaChlKXtyZXR1cm4gdGhpcy5hc3luYygpLmNhdGNoKGUpfWZpbmFsbHkoZSl7cmV0dXJuIHRoaXMuYXN5bmMoKS50aGVuKGUsZSl9c3luYygpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtyZXR1cm4gdGhpcy5yZXN1bHR9dGhlbihlLHQpe3JldHVybiB0aGlzLmFzeW5jKCkudGhlbihlLHQpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuX2Nzc313YXJuaW5ncygpe3JldHVybltdfWdldCBjb250ZW50KCl7cmV0dXJuIHRoaXMucmVzdWx0LmNzc31nZXQgY3NzKCl7cmV0dXJuIHRoaXMucmVzdWx0LmNzc31nZXQgbWFwKCl7cmV0dXJuIHRoaXMucmVzdWx0Lm1hcH1nZXQgbWVzc2FnZXMoKXtyZXR1cm5bXX1nZXQgb3B0cygpe3JldHVybiB0aGlzLnJlc3VsdC5vcHRzfWdldCBwcm9jZXNzb3IoKXtyZXR1cm4gdGhpcy5yZXN1bHQucHJvY2Vzc29yfWdldCByb290KCl7aWYodGhpcy5fcm9vdClyZXR1cm4gdGhpcy5fcm9vdDtsZXQgZSx0PUExO3RyeXtlPXQodGhpcy5fY3NzLHRoaXMuX29wdHMpfWNhdGNoKGkpe3RoaXMuZXJyb3I9aX1pZih0aGlzLmVycm9yKXRocm93IHRoaXMuZXJyb3I7cmV0dXJuIHRoaXMuX3Jvb3Q9ZSxlfWdldFtTeW1ib2wudG9TdHJpbmdUYWddKCl7cmV0dXJuIk5vV29ya1Jlc3VsdCJ9fTttcC5leHBvcnRzPVRuO1RuLmRlZmF1bHQ9VG59KTt2YXIgYnA9eCgoSzMseXApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgRTE9ZG4oKSxPMT1PYSgpLFQxPWdwKCksUjE9dHIoKSxpcj1jbGFzc3tjb25zdHJ1Y3RvcihlPVtdKXt0aGlzLnZlcnNpb249IjguNC40OSIsdGhpcy5wbHVnaW5zPXRoaXMubm9ybWFsaXplKGUpfW5vcm1hbGl6ZShlKXtsZXQgdD1bXTtmb3IobGV0IGkgb2YgZSlpZihpLnBvc3Rjc3M9PT0hMD9pPWkoKTppLnBvc3Rjc3MmJihpPWkucG9zdGNzcyksdHlwZW9mIGk9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGkucGx1Z2lucykpdD10LmNvbmNhdChpLnBsdWdpbnMpO2Vsc2UgaWYodHlwZW9mIGk9PSJvYmplY3QiJiZpLnBvc3Rjc3NQbHVnaW4pdC5wdXNoKGkpO2Vsc2UgaWYodHlwZW9mIGk9PSJmdW5jdGlvbiIpdC5wdXNoKGkpO2Vsc2UgaWYoISh0eXBlb2YgaT09Im9iamVjdCImJihpLnBhcnNlfHxpLnN0cmluZ2lmeSkpKXRocm93IG5ldyBFcnJvcihpKyIgaXMgbm90IGEgUG9zdENTUyBwbHVnaW4iKTtyZXR1cm4gdH1wcm9jZXNzKGUsdD17fSl7cmV0dXJuIXRoaXMucGx1Z2lucy5sZW5ndGgmJiF0LnBhcnNlciYmIXQuc3RyaW5naWZpZXImJiF0LnN5bnRheD9uZXcgVDEodGhpcyxlLHQpOm5ldyBPMSh0aGlzLGUsdCl9dXNlKGUpe3JldHVybiB0aGlzLnBsdWdpbnM9dGhpcy5wbHVnaW5zLmNvbmNhdCh0aGlzLm5vcm1hbGl6ZShbZV0pKSx0aGlzfX07eXAuZXhwb3J0cz1pcjtpci5kZWZhdWx0PWlyO1IxLnJlZ2lzdGVyUHJvY2Vzc29yKGlyKTtFMS5yZWdpc3RlclByb2Nlc3Nvcihpcil9KTt2YXIgJGU9eCgoWDMsQ3ApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgd3A9cG4oKSx2cD1RcigpLFAxPUV0KCksSTE9YW4oKSx4cD1ZcigpLGtwPWRuKCksRDE9UWMoKSxxMT1tbigpLCQxPU9hKCksTDE9eGEoKSxNMT1HcigpLE4xPUNuKCksVGE9YnAoKSxCMT1PbigpLFNwPXRyKCksQXA9Z24oKSxGMT1WcigpLGoxPUFhKCk7ZnVuY3Rpb24gSiguLi5yKXtyZXR1cm4gci5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KHJbMF0pJiYocj1yWzBdKSxuZXcgVGEocil9Si5wbHVnaW49ZnVuY3Rpb24oZSx0KXtsZXQgaT0hMTtmdW5jdGlvbiBuKC4uLmEpe2NvbnNvbGUmJmNvbnNvbGUud2FybiYmIWkmJihpPSEwLGNvbnNvbGUud2FybihlK2A6IHBvc3Rjc3MucGx1Z2luIHdhcyBkZXByZWNhdGVkLiBNaWdyYXRpb24gZ3VpZGU6Cmh0dHBzOi8vZXZpbG1hcnRpYW5zLmNvbS9jaHJvbmljbGVzL3Bvc3Rjc3MtOC1wbHVnaW4tbWlncmF0aW9uYCksbS5lbnYuTEFORyYmbS5lbnYuTEFORy5zdGFydHNXaXRoKCJjbiIpJiZjb25zb2xlLndhcm4oZStgOiBcdTkxQ0NcdTk3NjIgcG9zdGNzcy5wbHVnaW4gXHU4OEFCXHU1RjAzXHU3NTI4LiBcdThGQzFcdTc5RkJcdTYzMDdcdTUzNTc6Cmh0dHBzOi8vd3d3LnczY3RlY2guY29tL3RvcGljLzIyMjZgKSk7bGV0IG89dCguLi5hKTtyZXR1cm4gby5wb3N0Y3NzUGx1Z2luPWUsby5wb3N0Y3NzVmVyc2lvbj1uZXcgVGEoKS52ZXJzaW9uLG99bGV0IHM7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJwb3N0Y3NzIix7Z2V0KCl7cmV0dXJuIHN8fChzPW4oKSksc319KSxuLnByb2Nlc3M9ZnVuY3Rpb24oYSxvLGwpe3JldHVybiBKKFtuKGwpXSkucHJvY2VzcyhhLG8pfSxufTtKLnN0cmluZ2lmeT1GMTtKLnBhcnNlPU4xO0ouZnJvbUpTT049RDE7Si5saXN0PUwxO0ouY29tbWVudD1yPT5uZXcgdnAocik7Si5hdFJ1bGU9cj0+bmV3IHdwKHIpO0ouZGVjbD1yPT5uZXcgeHAocik7Si5ydWxlPXI9Pm5ldyBBcChyKTtKLnJvb3Q9cj0+bmV3IFNwKHIpO0ouZG9jdW1lbnQ9cj0+bmV3IGtwKHIpO0ouQ3NzU3ludGF4RXJyb3I9STE7Si5EZWNsYXJhdGlvbj14cDtKLkNvbnRhaW5lcj1QMTtKLlByb2Nlc3Nvcj1UYTtKLkRvY3VtZW50PWtwO0ouQ29tbWVudD12cDtKLldhcm5pbmc9ajE7Si5BdFJ1bGU9d3A7Si5SZXN1bHQ9QjE7Si5JbnB1dD1xMTtKLlJ1bGU9QXA7Si5Sb290PVNwO0ouTm9kZT1NMTskMS5yZWdpc3RlclBvc3Rjc3MoSik7Q3AuZXhwb3J0cz1KO0ouZGVmYXVsdD1KfSk7dmFyIHJlLGVlLFozLEozLGVJLHRJLHJJLGlJLG5JLHNJLGFJLG9JLGxJLHVJLGZJLGNJLHBJLGRJLGhJLG1JLGdJLHlJLGJJLHdJLHZJLHhJLE90PVAoKCk9Pnt1KCk7cmU9cGUoJGUoKSksZWU9cmUuZGVmYXVsdCxaMz1yZS5kZWZhdWx0LnN0cmluZ2lmeSxKMz1yZS5kZWZhdWx0LmZyb21KU09OLGVJPXJlLmRlZmF1bHQucGx1Z2luLHRJPXJlLmRlZmF1bHQucGFyc2Usckk9cmUuZGVmYXVsdC5saXN0LGlJPXJlLmRlZmF1bHQuZG9jdW1lbnQsbkk9cmUuZGVmYXVsdC5jb21tZW50LHNJPXJlLmRlZmF1bHQuYXRSdWxlLGFJPXJlLmRlZmF1bHQucnVsZSxvST1yZS5kZWZhdWx0LmRlY2wsbEk9cmUuZGVmYXVsdC5yb290LHVJPXJlLmRlZmF1bHQuQ3NzU3ludGF4RXJyb3IsZkk9cmUuZGVmYXVsdC5EZWNsYXJhdGlvbixjST1yZS5kZWZhdWx0LkNvbnRhaW5lcixwST1yZS5kZWZhdWx0LlByb2Nlc3NvcixkST1yZS5kZWZhdWx0LkRvY3VtZW50LGhJPXJlLmRlZmF1bHQuQ29tbWVudCxtST1yZS5kZWZhdWx0Lldhcm5pbmcsZ0k9cmUuZGVmYXVsdC5BdFJ1bGUseUk9cmUuZGVmYXVsdC5SZXN1bHQsYkk9cmUuZGVmYXVsdC5JbnB1dCx3ST1yZS5kZWZhdWx0LlJ1bGUsdkk9cmUuZGVmYXVsdC5Sb290LHhJPXJlLmRlZmF1bHQuTm9kZX0pO3ZhciBSYT14KChTSSxfcCk9Pnt1KCk7X3AuZXhwb3J0cz1mdW5jdGlvbihyLGUsdCxpLG4pe2ZvcihlPWUuc3BsaXQ/ZS5zcGxpdCgiLiIpOmUsaT0wO2k8ZS5sZW5ndGg7aSsrKXI9cj9yW2VbaV1dOm47cmV0dXJuIHI9PT1uP3Q6cn19KTt2YXIgUG49eCgoUm4sRXApPT57dSgpOyJ1c2Ugc3RyaWN0IjtSbi5fX2VzTW9kdWxlPSEwO1JuLmRlZmF1bHQ9VjE7ZnVuY3Rpb24gejEocil7Zm9yKHZhciBlPXIudG9Mb3dlckNhc2UoKSx0PSIiLGk9ITEsbj0wO248NiYmZVtuXSE9PXZvaWQgMDtuKyspe3ZhciBzPWUuY2hhckNvZGVBdChuKSxhPXM+PTk3JiZzPD0xMDJ8fHM+PTQ4JiZzPD01NztpZihpPXM9PT0zMiwhYSlicmVhazt0Kz1lW25dfWlmKHQubGVuZ3RoIT09MCl7dmFyIG89cGFyc2VJbnQodCwxNiksbD1vPj01NTI5NiYmbzw9NTczNDM7cmV0dXJuIGx8fG89PT0wfHxvPjExMTQxMTE/WyJcdUZGRkQiLHQubGVuZ3RoKyhpPzE6MCldOltTdHJpbmcuZnJvbUNvZGVQb2ludChvKSx0Lmxlbmd0aCsoaT8xOjApXX19dmFyIFUxPS9cXC87ZnVuY3Rpb24gVjEocil7dmFyIGU9VTEudGVzdChyKTtpZighZSlyZXR1cm4gcjtmb3IodmFyIHQ9IiIsaT0wO2k8ci5sZW5ndGg7aSsrKXtpZihyW2ldPT09IlxcIil7dmFyIG49ejEoci5zbGljZShpKzEsaSs3KSk7aWYobiE9PXZvaWQgMCl7dCs9blswXSxpKz1uWzFdO2NvbnRpbnVlfWlmKHJbaSsxXT09PSJcXCIpe3QrPSJcXCIsaSsrO2NvbnRpbnVlfXIubGVuZ3RoPT09aSsxJiYodCs9cltpXSk7Y29udGludWV9dCs9cltpXX1yZXR1cm4gdH1FcC5leHBvcnRzPVJuLmRlZmF1bHR9KTt2YXIgVHA9eCgoSW4sT3ApPT57dSgpOyJ1c2Ugc3RyaWN0IjtJbi5fX2VzTW9kdWxlPSEwO0luLmRlZmF1bHQ9SDE7ZnVuY3Rpb24gSDEocil7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZT4xP2UtMTowKSxpPTE7aTxlO2krKyl0W2ktMV09YXJndW1lbnRzW2ldO2Zvcig7dC5sZW5ndGg+MDspe3ZhciBuPXQuc2hpZnQoKTtpZighcltuXSlyZXR1cm47cj1yW25dfXJldHVybiByfU9wLmV4cG9ydHM9SW4uZGVmYXVsdH0pO3ZhciBQcD14KChEbixScCk9Pnt1KCk7InVzZSBzdHJpY3QiO0RuLl9fZXNNb2R1bGU9ITA7RG4uZGVmYXVsdD1XMTtmdW5jdGlvbiBXMShyKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlPjE/ZS0xOjApLGk9MTtpPGU7aSsrKXRbaS0xXT1hcmd1bWVudHNbaV07Zm9yKDt0Lmxlbmd0aD4wOyl7dmFyIG49dC5zaGlmdCgpO3Jbbl18fChyW25dPXt9KSxyPXJbbl19fVJwLmV4cG9ydHM9RG4uZGVmYXVsdH0pO3ZhciBEcD14KChxbixJcCk9Pnt1KCk7InVzZSBzdHJpY3QiO3FuLl9fZXNNb2R1bGU9ITA7cW4uZGVmYXVsdD1HMTtmdW5jdGlvbiBHMShyKXtmb3IodmFyIGU9IiIsdD1yLmluZGV4T2YoIi8qIiksaT0wO3Q+PTA7KXtlPWUrci5zbGljZShpLHQpO3ZhciBuPXIuaW5kZXhPZigiKi8iLHQrMik7aWYobjwwKXJldHVybiBlO2k9bisyLHQ9ci5pbmRleE9mKCIvKiIsaSl9cmV0dXJuIGU9ZStyLnNsaWNlKGkpLGV9SXAuZXhwb3J0cz1xbi5kZWZhdWx0fSk7dmFyIGlpPXgocnQ9Pnt1KCk7InVzZSBzdHJpY3QiO3J0Ll9fZXNNb2R1bGU9ITA7cnQudW5lc2M9cnQuc3RyaXBDb21tZW50cz1ydC5nZXRQcm9wPXJ0LmVuc3VyZU9iamVjdD12b2lkIDA7dmFyIFExPSRuKFBuKCkpO3J0LnVuZXNjPVExLmRlZmF1bHQ7dmFyIFkxPSRuKFRwKCkpO3J0LmdldFByb3A9WTEuZGVmYXVsdDt2YXIgSzE9JG4oUHAoKSk7cnQuZW5zdXJlT2JqZWN0PUsxLmRlZmF1bHQ7dmFyIFgxPSRuKERwKCkpO3J0LnN0cmlwQ29tbWVudHM9WDEuZGVmYXVsdDtmdW5jdGlvbiAkbihyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19fSk7dmFyIGR0PXgoKG5pLExwKT0+e3UoKTsidXNlIHN0cmljdCI7bmkuX19lc01vZHVsZT0hMDtuaS5kZWZhdWx0PXZvaWQgMDt2YXIgcXA9aWkoKTtmdW5jdGlvbiAkcChyLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaS5rZXksaSl9fWZ1bmN0aW9uIFoxKHIsZSx0KXtyZXR1cm4gZSYmJHAoci5wcm90b3R5cGUsZSksdCYmJHAocix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxyfXZhciBKMT1mdW5jdGlvbiByKGUsdCl7aWYodHlwZW9mIGUhPSJvYmplY3QifHxlPT09bnVsbClyZXR1cm4gZTt2YXIgaT1uZXcgZS5jb25zdHJ1Y3Rvcjtmb3IodmFyIG4gaW4gZSlpZighIWUuaGFzT3duUHJvcGVydHkobikpe3ZhciBzPWVbbl0sYT10eXBlb2YgcztuPT09InBhcmVudCImJmE9PT0ib2JqZWN0Ij90JiYoaVtuXT10KTpzIGluc3RhbmNlb2YgQXJyYXk/aVtuXT1zLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gcihvLGkpfSk6aVtuXT1yKHMsaSl9cmV0dXJuIGl9LGVrPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0KXt0PT09dm9pZCAwJiYodD17fSksT2JqZWN0LmFzc2lnbih0aGlzLHQpLHRoaXMuc3BhY2VzPXRoaXMuc3BhY2VzfHx7fSx0aGlzLnNwYWNlcy5iZWZvcmU9dGhpcy5zcGFjZXMuYmVmb3JlfHwiIix0aGlzLnNwYWNlcy5hZnRlcj10aGlzLnNwYWNlcy5hZnRlcnx8IiJ9dmFyIGU9ci5wcm90b3R5cGU7cmV0dXJuIGUucmVtb3ZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzKSx0aGlzLnBhcmVudD12b2lkIDAsdGhpc30sZS5yZXBsYWNlV2l0aD1mdW5jdGlvbigpe2lmKHRoaXMucGFyZW50KXtmb3IodmFyIGkgaW4gYXJndW1lbnRzKXRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLGFyZ3VtZW50c1tpXSk7dGhpcy5yZW1vdmUoKX1yZXR1cm4gdGhpc30sZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50LmF0KHRoaXMucGFyZW50LmluZGV4KHRoaXMpKzEpfSxlLnByZXY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQuYXQodGhpcy5wYXJlbnQuaW5kZXgodGhpcyktMSl9LGUuY2xvbmU9ZnVuY3Rpb24oaSl7aT09PXZvaWQgMCYmKGk9e30pO3ZhciBuPUoxKHRoaXMpO2Zvcih2YXIgcyBpbiBpKW5bc109aVtzXTtyZXR1cm4gbn0sZS5hcHBlbmRUb1Byb3BlcnR5QW5kRXNjYXBlPWZ1bmN0aW9uKGksbixzKXt0aGlzLnJhd3N8fCh0aGlzLnJhd3M9e30pO3ZhciBhPXRoaXNbaV0sbz10aGlzLnJhd3NbaV07dGhpc1tpXT1hK24sb3x8cyE9PW4/dGhpcy5yYXdzW2ldPShvfHxhKStzOmRlbGV0ZSB0aGlzLnJhd3NbaV19LGUuc2V0UHJvcGVydHlBbmRFc2NhcGU9ZnVuY3Rpb24oaSxuLHMpe3RoaXMucmF3c3x8KHRoaXMucmF3cz17fSksdGhpc1tpXT1uLHRoaXMucmF3c1tpXT1zfSxlLnNldFByb3BlcnR5V2l0aG91dEVzY2FwZT1mdW5jdGlvbihpLG4pe3RoaXNbaV09bix0aGlzLnJhd3MmJmRlbGV0ZSB0aGlzLnJhd3NbaV19LGUuaXNBdFBvc2l0aW9uPWZ1bmN0aW9uKGksbil7aWYodGhpcy5zb3VyY2UmJnRoaXMuc291cmNlLnN0YXJ0JiZ0aGlzLnNvdXJjZS5lbmQpcmV0dXJuISh0aGlzLnNvdXJjZS5zdGFydC5saW5lPml8fHRoaXMuc291cmNlLmVuZC5saW5lPGl8fHRoaXMuc291cmNlLnN0YXJ0LmxpbmU9PT1pJiZ0aGlzLnNvdXJjZS5zdGFydC5jb2x1bW4+bnx8dGhpcy5zb3VyY2UuZW5kLmxpbmU9PT1pJiZ0aGlzLnNvdXJjZS5lbmQuY29sdW1uPG4pfSxlLnN0cmluZ2lmeVByb3BlcnR5PWZ1bmN0aW9uKGkpe3JldHVybiB0aGlzLnJhd3MmJnRoaXMucmF3c1tpXXx8dGhpc1tpXX0sZS52YWx1ZVRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIFN0cmluZyh0aGlzLnN0cmluZ2lmeVByb3BlcnR5KCJ2YWx1ZSIpKX0sZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblt0aGlzLnJhd1NwYWNlQmVmb3JlLHRoaXMudmFsdWVUb1N0cmluZygpLHRoaXMucmF3U3BhY2VBZnRlcl0uam9pbigiIil9LFoxKHIsW3trZXk6InJhd1NwYWNlQmVmb3JlIixnZXQ6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLnJhd3MmJnRoaXMucmF3cy5zcGFjZXMmJnRoaXMucmF3cy5zcGFjZXMuYmVmb3JlO3JldHVybiBpPT09dm9pZCAwJiYoaT10aGlzLnNwYWNlcyYmdGhpcy5zcGFjZXMuYmVmb3JlKSxpfHwiIn0sc2V0OmZ1bmN0aW9uKGkpeygwLHFwLmVuc3VyZU9iamVjdCkodGhpcywicmF3cyIsInNwYWNlcyIpLHRoaXMucmF3cy5zcGFjZXMuYmVmb3JlPWl9fSx7a2V5OiJyYXdTcGFjZUFmdGVyIixnZXQ6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLnJhd3MmJnRoaXMucmF3cy5zcGFjZXMmJnRoaXMucmF3cy5zcGFjZXMuYWZ0ZXI7cmV0dXJuIGk9PT12b2lkIDAmJihpPXRoaXMuc3BhY2VzLmFmdGVyKSxpfHwiIn0sc2V0OmZ1bmN0aW9uKGkpeygwLHFwLmVuc3VyZU9iamVjdCkodGhpcywicmF3cyIsInNwYWNlcyIpLHRoaXMucmF3cy5zcGFjZXMuYWZ0ZXI9aX19XSkscn0oKTtuaS5kZWZhdWx0PWVrO0xwLmV4cG9ydHM9bmkuZGVmYXVsdH0pO3ZhciBTZT14KGllPT57dSgpOyJ1c2Ugc3RyaWN0IjtpZS5fX2VzTW9kdWxlPSEwO2llLlVOSVZFUlNBTD1pZS5UQUc9aWUuU1RSSU5HPWllLlNFTEVDVE9SPWllLlJPT1Q9aWUuUFNFVURPPWllLk5FU1RJTkc9aWUuSUQ9aWUuQ09NTUVOVD1pZS5DT01CSU5BVE9SPWllLkNMQVNTPWllLkFUVFJJQlVURT12b2lkIDA7dmFyIHRrPSJ0YWciO2llLlRBRz10azt2YXIgcms9InN0cmluZyI7aWUuU1RSSU5HPXJrO3ZhciBpaz0ic2VsZWN0b3IiO2llLlNFTEVDVE9SPWlrO3ZhciBuaz0icm9vdCI7aWUuUk9PVD1uazt2YXIgc2s9InBzZXVkbyI7aWUuUFNFVURPPXNrO3ZhciBhaz0ibmVzdGluZyI7aWUuTkVTVElORz1hazt2YXIgb2s9ImlkIjtpZS5JRD1vazt2YXIgbGs9ImNvbW1lbnQiO2llLkNPTU1FTlQ9bGs7dmFyIHVrPSJjb21iaW5hdG9yIjtpZS5DT01CSU5BVE9SPXVrO3ZhciBmaz0iY2xhc3MiO2llLkNMQVNTPWZrO3ZhciBjaz0iYXR0cmlidXRlIjtpZS5BVFRSSUJVVEU9Y2s7dmFyIHBrPSJ1bml2ZXJzYWwiO2llLlVOSVZFUlNBTD1wa30pO3ZhciBMbj14KChzaSxGcCk9Pnt1KCk7InVzZSBzdHJpY3QiO3NpLl9fZXNNb2R1bGU9ITA7c2kuZGVmYXVsdD12b2lkIDA7dmFyIGRrPW1rKGR0KCkpLGh0PWhrKFNlKCkpO2Z1bmN0aW9uIE1wKHIpe2lmKHR5cGVvZiBXZWFrTWFwIT0iZnVuY3Rpb24iKXJldHVybiBudWxsO3ZhciBlPW5ldyBXZWFrTWFwLHQ9bmV3IFdlYWtNYXA7cmV0dXJuKE1wPWZ1bmN0aW9uKG4pe3JldHVybiBuP3Q6ZX0pKHIpfWZ1bmN0aW9uIGhrKHIsZSl7aWYoIWUmJnImJnIuX19lc01vZHVsZSlyZXR1cm4gcjtpZihyPT09bnVsbHx8dHlwZW9mIHIhPSJvYmplY3QiJiZ0eXBlb2YgciE9ImZ1bmN0aW9uIilyZXR1cm57ZGVmYXVsdDpyfTt2YXIgdD1NcChlKTtpZih0JiZ0LmhhcyhyKSlyZXR1cm4gdC5nZXQocik7dmFyIGk9e30sbj1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBzIGluIHIpaWYocyE9PSJkZWZhdWx0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIscykpe3ZhciBhPW4/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHMpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGkscyxhKTppW3NdPXJbc119cmV0dXJuIGkuZGVmYXVsdD1yLHQmJnQuc2V0KHIsaSksaX1mdW5jdGlvbiBtayhyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19ZnVuY3Rpb24gZ2socixlKXt2YXIgdD10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmcltTeW1ib2wuaXRlcmF0b3JdfHxyWyJAQGl0ZXJhdG9yIl07aWYodClyZXR1cm4odD10LmNhbGwocikpLm5leHQuYmluZCh0KTtpZihBcnJheS5pc0FycmF5KHIpfHwodD15ayhyKSl8fGUmJnImJnR5cGVvZiByLmxlbmd0aD09Im51bWJlciIpe3QmJihyPXQpO3ZhciBpPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGk+PXIubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTpyW2krK119fX10aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuCkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5gKX1mdW5jdGlvbiB5ayhyLGUpe2lmKCEhcil7aWYodHlwZW9mIHI9PSJzdHJpbmciKXJldHVybiBOcChyLGUpO3ZhciB0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKS5zbGljZSg4LC0xKTtpZih0PT09Ik9iamVjdCImJnIuY29uc3RydWN0b3ImJih0PXIuY29uc3RydWN0b3IubmFtZSksdD09PSJNYXAifHx0PT09IlNldCIpcmV0dXJuIEFycmF5LmZyb20ocik7aWYodD09PSJBcmd1bWVudHMifHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdCh0KSlyZXR1cm4gTnAocixlKX19ZnVuY3Rpb24gTnAocixlKXsoZT09bnVsbHx8ZT5yLmxlbmd0aCkmJihlPXIubGVuZ3RoKTtmb3IodmFyIHQ9MCxpPW5ldyBBcnJheShlKTt0PGU7dCsrKWlbdF09clt0XTtyZXR1cm4gaX1mdW5jdGlvbiBCcChyLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaS5rZXksaSl9fWZ1bmN0aW9uIGJrKHIsZSx0KXtyZXR1cm4gZSYmQnAoci5wcm90b3R5cGUsZSksdCYmQnAocix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxyfWZ1bmN0aW9uIHdrKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixQYShyLGUpfWZ1bmN0aW9uIFBhKHIsZSl7cmV0dXJuIFBhPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0sUGEocixlKX12YXIgdms9ZnVuY3Rpb24ocil7d2soZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBuPXIuY2FsbCh0aGlzLGkpfHx0aGlzLG4ubm9kZXN8fChuLm5vZGVzPVtdKSxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LmFwcGVuZD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wYXJlbnQ9dGhpcyx0aGlzLm5vZGVzLnB1c2gobiksdGhpc30sdC5wcmVwZW5kPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBhcmVudD10aGlzLHRoaXMubm9kZXMudW5zaGlmdChuKSx0aGlzfSx0LmF0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLm5vZGVzW25dfSx0LmluZGV4PWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbj09Im51bWJlciI/bjp0aGlzLm5vZGVzLmluZGV4T2Yobil9LHQucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24obil7bj10aGlzLmluZGV4KG4pLHRoaXMuYXQobikucGFyZW50PXZvaWQgMCx0aGlzLm5vZGVzLnNwbGljZShuLDEpO3ZhciBzO2Zvcih2YXIgYSBpbiB0aGlzLmluZGV4ZXMpcz10aGlzLmluZGV4ZXNbYV0scz49biYmKHRoaXMuaW5kZXhlc1thXT1zLTEpO3JldHVybiB0aGlzfSx0LnJlbW92ZUFsbD1mdW5jdGlvbigpe2Zvcih2YXIgbj1nayh0aGlzLm5vZGVzKSxzOyEocz1uKCkpLmRvbmU7KXt2YXIgYT1zLnZhbHVlO2EucGFyZW50PXZvaWQgMH1yZXR1cm4gdGhpcy5ub2Rlcz1bXSx0aGlzfSx0LmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVtb3ZlQWxsKCl9LHQuaW5zZXJ0QWZ0ZXI9ZnVuY3Rpb24obixzKXtzLnBhcmVudD10aGlzO3ZhciBhPXRoaXMuaW5kZXgobik7dGhpcy5ub2Rlcy5zcGxpY2UoYSsxLDAscykscy5wYXJlbnQ9dGhpczt2YXIgbztmb3IodmFyIGwgaW4gdGhpcy5pbmRleGVzKW89dGhpcy5pbmRleGVzW2xdLGE8PW8mJih0aGlzLmluZGV4ZXNbbF09bysxKTtyZXR1cm4gdGhpc30sdC5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24obixzKXtzLnBhcmVudD10aGlzO3ZhciBhPXRoaXMuaW5kZXgobik7dGhpcy5ub2Rlcy5zcGxpY2UoYSwwLHMpLHMucGFyZW50PXRoaXM7dmFyIG87Zm9yKHZhciBsIGluIHRoaXMuaW5kZXhlcylvPXRoaXMuaW5kZXhlc1tsXSxvPD1hJiYodGhpcy5pbmRleGVzW2xdPW8rMSk7cmV0dXJuIHRoaXN9LHQuX2ZpbmRDaGlsZEF0UG9zaXRpb249ZnVuY3Rpb24obixzKXt2YXIgYT12b2lkIDA7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihvKXtpZihvLmF0UG9zaXRpb24pe3ZhciBsPW8uYXRQb3NpdGlvbihuLHMpO2lmKGwpcmV0dXJuIGE9bCwhMX1lbHNlIGlmKG8uaXNBdFBvc2l0aW9uKG4scykpcmV0dXJuIGE9bywhMX0pLGF9LHQuYXRQb3NpdGlvbj1mdW5jdGlvbihuLHMpe2lmKHRoaXMuaXNBdFBvc2l0aW9uKG4scykpcmV0dXJuIHRoaXMuX2ZpbmRDaGlsZEF0UG9zaXRpb24obixzKXx8dGhpc30sdC5faW5mZXJFbmRQb3NpdGlvbj1mdW5jdGlvbigpe3RoaXMubGFzdCYmdGhpcy5sYXN0LnNvdXJjZSYmdGhpcy5sYXN0LnNvdXJjZS5lbmQmJih0aGlzLnNvdXJjZT10aGlzLnNvdXJjZXx8e30sdGhpcy5zb3VyY2UuZW5kPXRoaXMuc291cmNlLmVuZHx8e30sT2JqZWN0LmFzc2lnbih0aGlzLnNvdXJjZS5lbmQsdGhpcy5sYXN0LnNvdXJjZS5lbmQpKX0sdC5lYWNoPWZ1bmN0aW9uKG4pe3RoaXMubGFzdEVhY2h8fCh0aGlzLmxhc3RFYWNoPTApLHRoaXMuaW5kZXhlc3x8KHRoaXMuaW5kZXhlcz17fSksdGhpcy5sYXN0RWFjaCsrO3ZhciBzPXRoaXMubGFzdEVhY2g7aWYodGhpcy5pbmRleGVzW3NdPTAsISF0aGlzLmxlbmd0aCl7Zm9yKHZhciBhLG87dGhpcy5pbmRleGVzW3NdPHRoaXMubGVuZ3RoJiYoYT10aGlzLmluZGV4ZXNbc10sbz1uKHRoaXMuYXQoYSksYSksbyE9PSExKTspdGhpcy5pbmRleGVzW3NdKz0xO2lmKGRlbGV0ZSB0aGlzLmluZGV4ZXNbc10sbz09PSExKXJldHVybiExfX0sdC53YWxrPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24ocyxhKXt2YXIgbz1uKHMsYSk7aWYobyE9PSExJiZzLmxlbmd0aCYmKG89cy53YWxrKG4pKSxvPT09ITEpcmV0dXJuITF9KX0sdC53YWxrQXR0cmlidXRlcz1mdW5jdGlvbihuKXt2YXIgcz10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oYSl7aWYoYS50eXBlPT09aHQuQVRUUklCVVRFKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtDbGFzc2VzPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5DTEFTUylyZXR1cm4gbi5jYWxsKHMsYSl9KX0sdC53YWxrQ29tYmluYXRvcnM9ZnVuY3Rpb24obil7dmFyIHM9dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGEpe2lmKGEudHlwZT09PWh0LkNPTUJJTkFUT1IpcmV0dXJuIG4uY2FsbChzLGEpfSl9LHQud2Fsa0NvbW1lbnRzPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5DT01NRU5UKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtJZHM9ZnVuY3Rpb24obil7dmFyIHM9dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGEpe2lmKGEudHlwZT09PWh0LklEKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtOZXN0aW5nPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5ORVNUSU5HKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtQc2V1ZG9zPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5QU0VVRE8pcmV0dXJuIG4uY2FsbChzLGEpfSl9LHQud2Fsa1RhZ3M9ZnVuY3Rpb24obil7dmFyIHM9dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGEpe2lmKGEudHlwZT09PWh0LlRBRylyZXR1cm4gbi5jYWxsKHMsYSl9KX0sdC53YWxrVW5pdmVyc2Fscz1mdW5jdGlvbihuKXt2YXIgcz10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oYSl7aWYoYS50eXBlPT09aHQuVU5JVkVSU0FMKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LnNwbGl0PWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXMsYT1bXTtyZXR1cm4gdGhpcy5yZWR1Y2UoZnVuY3Rpb24obyxsLGMpe3ZhciBmPW4uY2FsbChzLGwpO3JldHVybiBhLnB1c2gobCksZj8oby5wdXNoKGEpLGE9W10pOmM9PT1zLmxlbmd0aC0xJiZvLnB1c2goYSksb30sW10pfSx0Lm1hcD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5tYXAobil9LHQucmVkdWNlPWZ1bmN0aW9uKG4scyl7cmV0dXJuIHRoaXMubm9kZXMucmVkdWNlKG4scyl9LHQuZXZlcnk9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMubm9kZXMuZXZlcnkobil9LHQuc29tZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5zb21lKG4pfSx0LmZpbHRlcj1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5maWx0ZXIobil9LHQuc29ydD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5zb3J0KG4pfSx0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKFN0cmluZykuam9pbigiIil9LGJrKGUsW3trZXk6ImZpcnN0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdCgwKX19LHtrZXk6Imxhc3QiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmF0KHRoaXMubGVuZ3RoLTEpfX0se2tleToibGVuZ3RoIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2Rlcy5sZW5ndGh9fV0pLGV9KGRrLmRlZmF1bHQpO3NpLmRlZmF1bHQ9dms7RnAuZXhwb3J0cz1zaS5kZWZhdWx0fSk7dmFyIERhPXgoKGFpLHpwKT0+e3UoKTsidXNlIHN0cmljdCI7YWkuX19lc01vZHVsZT0hMDthaS5kZWZhdWx0PXZvaWQgMDt2YXIgeGs9U2soTG4oKSksa2s9U2UoKTtmdW5jdGlvbiBTayhyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19ZnVuY3Rpb24ganAocixlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIGk9ZVt0XTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGkua2V5LGkpfX1mdW5jdGlvbiBBayhyLGUsdCl7cmV0dXJuIGUmJmpwKHIucHJvdG90eXBlLGUpLHQmJmpwKHIsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSkscn1mdW5jdGlvbiBDayhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsSWEocixlKX1mdW5jdGlvbiBJYShyLGUpe3JldHVybiBJYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LElhKHIsZSl9dmFyIF9rPWZ1bmN0aW9uKHIpe0NrKGUscik7ZnVuY3Rpb24gZShpKXt2YXIgbjtyZXR1cm4gbj1yLmNhbGwodGhpcyxpKXx8dGhpcyxuLnR5cGU9a2suUk9PVCxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5yZWR1Y2UoZnVuY3Rpb24ocyxhKXtyZXR1cm4gcy5wdXNoKFN0cmluZyhhKSksc30sW10pLmpvaW4oIiwiKTtyZXR1cm4gdGhpcy50cmFpbGluZ0NvbW1hP24rIiwiOm59LHQuZXJyb3I9ZnVuY3Rpb24obixzKXtyZXR1cm4gdGhpcy5fZXJyb3I/dGhpcy5fZXJyb3IobixzKTpuZXcgRXJyb3Iobil9LEFrKGUsW3trZXk6ImVycm9yR2VuZXJhdG9yIixzZXQ6ZnVuY3Rpb24obil7dGhpcy5fZXJyb3I9bn19XSksZX0oeGsuZGVmYXVsdCk7YWkuZGVmYXVsdD1fazt6cC5leHBvcnRzPWFpLmRlZmF1bHR9KTt2YXIgJGE9eCgob2ksVXApPT57dSgpOyJ1c2Ugc3RyaWN0IjtvaS5fX2VzTW9kdWxlPSEwO29pLmRlZmF1bHQ9dm9pZCAwO3ZhciBFaz1UayhMbigpKSxPaz1TZSgpO2Z1bmN0aW9uIFRrKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBSayhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIscWEocixlKX1mdW5jdGlvbiBxYShyLGUpe3JldHVybiBxYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LHFhKHIsZSl9dmFyIFBrPWZ1bmN0aW9uKHIpe1JrKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9T2suU0VMRUNUT1IsaX1yZXR1cm4gZX0oRWsuZGVmYXVsdCk7b2kuZGVmYXVsdD1QaztVcC5leHBvcnRzPW9pLmRlZmF1bHR9KTt2YXIgTW49eCgoX0ksVnApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgSWs9e30sRGs9SWsuaGFzT3duUHJvcGVydHkscWs9ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm4gdDt2YXIgaT17fTtmb3IodmFyIG4gaW4gdClpW25dPURrLmNhbGwoZSxuKT9lW25dOnRbbl07cmV0dXJuIGl9LCRrPS9bIC0sXC5cLzotQFxbLVxeYFx7LX5dLyxMaz0vWyAtLFwuXC86LUBcW1xdXF5gXHstfl0vLE1rPS8oXnxcXCspPyhcXFtBLUYwLTldezEsNn0pXHgyMCg/IVthLWZBLUYwLTlceDIwXSkvZyxMYT1mdW5jdGlvbiByKGUsdCl7dD1xayh0LHIub3B0aW9ucyksdC5xdW90ZXMhPSJzaW5nbGUiJiZ0LnF1b3RlcyE9ImRvdWJsZSImJih0LnF1b3Rlcz0ic2luZ2xlIik7Zm9yKHZhciBpPXQucXVvdGVzPT0iZG91YmxlIj8nIic6IiciLG49dC5pc0lkZW50aWZpZXIscz1lLmNoYXJBdCgwKSxhPSIiLG89MCxsPWUubGVuZ3RoO288bDspe3ZhciBjPWUuY2hhckF0KG8rKyksZj1jLmNoYXJDb2RlQXQoKSxkPXZvaWQgMDtpZihmPDMyfHxmPjEyNil7aWYoZj49NTUyOTYmJmY8PTU2MzE5JiZvPGwpe3ZhciBwPWUuY2hhckNvZGVBdChvKyspOyhwJjY0NTEyKT09NTYzMjA/Zj0oKGYmMTAyMyk8PDEwKSsocCYxMDIzKSs2NTUzNjpvLS19ZD0iXFwiK2YudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkrIiAifWVsc2UgdC5lc2NhcGVFdmVyeXRoaW5nPyRrLnRlc3QoYyk/ZD0iXFwiK2M6ZD0iXFwiK2YudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkrIiAiOi9bXHRcblxmXHJceDBCXS8udGVzdChjKT9kPSJcXCIrZi50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiICI6Yz09IlxcInx8IW4mJihjPT0nIicmJmk9PWN8fGM9PSInIiYmaT09Yyl8fG4mJkxrLnRlc3QoYyk/ZD0iXFwiK2M6ZD1jO2ErPWR9cmV0dXJuIG4mJigvXi1bLVxkXS8udGVzdChhKT9hPSJcXC0iK2Euc2xpY2UoMSk6L1xkLy50ZXN0KHMpJiYoYT0iXFwzIitzKyIgIithLnNsaWNlKDEpKSksYT1hLnJlcGxhY2UoTWssZnVuY3Rpb24oaCxiLHYpe3JldHVybiBiJiZiLmxlbmd0aCUyP2g6KGJ8fCIiKSt2fSksIW4mJnQud3JhcD9pK2EraTphfTtMYS5vcHRpb25zPXtlc2NhcGVFdmVyeXRoaW5nOiExLGlzSWRlbnRpZmllcjohMSxxdW90ZXM6InNpbmdsZSIsd3JhcDohMX07TGEudmVyc2lvbj0iMy4wLjAiO1ZwLmV4cG9ydHM9TGF9KTt2YXIgTmE9eCgobGksR3ApPT57dSgpOyJ1c2Ugc3RyaWN0IjtsaS5fX2VzTW9kdWxlPSEwO2xpLmRlZmF1bHQ9dm9pZCAwO3ZhciBOaz1IcChNbigpKSxCaz1paSgpLEZrPUhwKGR0KCkpLGprPVNlKCk7ZnVuY3Rpb24gSHAocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIFdwKHIsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBpPWVbdF07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLmtleSxpKX19ZnVuY3Rpb24gemsocixlLHQpe3JldHVybiBlJiZXcChyLnByb3RvdHlwZSxlKSx0JiZXcChyLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHJ9ZnVuY3Rpb24gVWsocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLE1hKHIsZSl9ZnVuY3Rpb24gTWEocixlKXtyZXR1cm4gTWE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxNYShyLGUpfXZhciBWaz1mdW5jdGlvbihyKXtVayhlLHIpO2Z1bmN0aW9uIGUoaSl7dmFyIG47cmV0dXJuIG49ci5jYWxsKHRoaXMsaSl8fHRoaXMsbi50eXBlPWprLkNMQVNTLG4uX2NvbnN0cnVjdGVkPSEwLG59dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQudmFsdWVUb1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIuIityLnByb3RvdHlwZS52YWx1ZVRvU3RyaW5nLmNhbGwodGhpcyl9LHprKGUsW3trZXk6InZhbHVlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFsdWV9LHNldDpmdW5jdGlvbihuKXtpZih0aGlzLl9jb25zdHJ1Y3RlZCl7dmFyIHM9KDAsTmsuZGVmYXVsdCkobix7aXNJZGVudGlmaWVyOiEwfSk7cyE9PW4/KCgwLEJrLmVuc3VyZU9iamVjdCkodGhpcywicmF3cyIpLHRoaXMucmF3cy52YWx1ZT1zKTp0aGlzLnJhd3MmJmRlbGV0ZSB0aGlzLnJhd3MudmFsdWV9dGhpcy5fdmFsdWU9bn19XSksZX0oRmsuZGVmYXVsdCk7bGkuZGVmYXVsdD1WaztHcC5leHBvcnRzPWxpLmRlZmF1bHR9KTt2YXIgRmE9eCgodWksUXApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt1aS5fX2VzTW9kdWxlPSEwO3VpLmRlZmF1bHQ9dm9pZCAwO3ZhciBIaz1HayhkdCgpKSxXaz1TZSgpO2Z1bmN0aW9uIEdrKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBRayhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsQmEocixlKX1mdW5jdGlvbiBCYShyLGUpe3JldHVybiBCYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LEJhKHIsZSl9dmFyIFlrPWZ1bmN0aW9uKHIpe1FrKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9V2suQ09NTUVOVCxpfXJldHVybiBlfShIay5kZWZhdWx0KTt1aS5kZWZhdWx0PVlrO1FwLmV4cG9ydHM9dWkuZGVmYXVsdH0pO3ZhciB6YT14KChmaSxZcCk9Pnt1KCk7InVzZSBzdHJpY3QiO2ZpLl9fZXNNb2R1bGU9ITA7ZmkuZGVmYXVsdD12b2lkIDA7dmFyIEtrPVprKGR0KCkpLFhrPVNlKCk7ZnVuY3Rpb24gWmsocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIEprKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixqYShyLGUpfWZ1bmN0aW9uIGphKHIsZSl7cmV0dXJuIGphPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0samEocixlKX12YXIgZVM9ZnVuY3Rpb24ocil7SmsoZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBuPXIuY2FsbCh0aGlzLGkpfHx0aGlzLG4udHlwZT1Yay5JRCxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LnZhbHVlVG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIyIrci5wcm90b3R5cGUudmFsdWVUb1N0cmluZy5jYWxsKHRoaXMpfSxlfShLay5kZWZhdWx0KTtmaS5kZWZhdWx0PWVTO1lwLmV4cG9ydHM9ZmkuZGVmYXVsdH0pO3ZhciBObj14KChjaSxacCk9Pnt1KCk7InVzZSBzdHJpY3QiO2NpLl9fZXNNb2R1bGU9ITA7Y2kuZGVmYXVsdD12b2lkIDA7dmFyIHRTPUtwKE1uKCkpLHJTPWlpKCksaVM9S3AoZHQoKSk7ZnVuY3Rpb24gS3Aocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIFhwKHIsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBpPWVbdF07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLmtleSxpKX19ZnVuY3Rpb24gblMocixlLHQpe3JldHVybiBlJiZYcChyLnByb3RvdHlwZSxlKSx0JiZYcChyLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHJ9ZnVuY3Rpb24gc1MocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLFVhKHIsZSl9ZnVuY3Rpb24gVWEocixlKXtyZXR1cm4gVWE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxVYShyLGUpfXZhciBhUz1mdW5jdGlvbihyKXtzUyhlLHIpO2Z1bmN0aW9uIGUoKXtyZXR1cm4gci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQucXVhbGlmaWVkTmFtZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5uYW1lc3BhY2U/dGhpcy5uYW1lc3BhY2VTdHJpbmcrInwiK246bn0sdC52YWx1ZVRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVhbGlmaWVkTmFtZShyLnByb3RvdHlwZS52YWx1ZVRvU3RyaW5nLmNhbGwodGhpcykpfSxuUyhlLFt7a2V5OiJuYW1lc3BhY2UiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9uYW1lc3BhY2V9LHNldDpmdW5jdGlvbihuKXtpZihuPT09ITB8fG49PT0iKiJ8fG49PT0iJiIpe3RoaXMuX25hbWVzcGFjZT1uLHRoaXMucmF3cyYmZGVsZXRlIHRoaXMucmF3cy5uYW1lc3BhY2U7cmV0dXJufXZhciBzPSgwLHRTLmRlZmF1bHQpKG4se2lzSWRlbnRpZmllcjohMH0pO3RoaXMuX25hbWVzcGFjZT1uLHMhPT1uPygoMCxyUy5lbnN1cmVPYmplY3QpKHRoaXMsInJhd3MiKSx0aGlzLnJhd3MubmFtZXNwYWNlPXMpOnRoaXMucmF3cyYmZGVsZXRlIHRoaXMucmF3cy5uYW1lc3BhY2V9fSx7a2V5OiJucyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25hbWVzcGFjZX0sc2V0OmZ1bmN0aW9uKG4pe3RoaXMubmFtZXNwYWNlPW59fSx7a2V5OiJuYW1lc3BhY2VTdHJpbmciLGdldDpmdW5jdGlvbigpe2lmKHRoaXMubmFtZXNwYWNlKXt2YXIgbj10aGlzLnN0cmluZ2lmeVByb3BlcnR5KCJuYW1lc3BhY2UiKTtyZXR1cm4gbj09PSEwPyIiOm59ZWxzZSByZXR1cm4iIn19XSksZX0oaVMuZGVmYXVsdCk7Y2kuZGVmYXVsdD1hUztacC5leHBvcnRzPWNpLmRlZmF1bHR9KTt2YXIgSGE9eCgocGksSnApPT57dSgpOyJ1c2Ugc3RyaWN0IjtwaS5fX2VzTW9kdWxlPSEwO3BpLmRlZmF1bHQ9dm9pZCAwO3ZhciBvUz11UyhObigpKSxsUz1TZSgpO2Z1bmN0aW9uIHVTKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBmUyhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsVmEocixlKX1mdW5jdGlvbiBWYShyLGUpe3JldHVybiBWYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LFZhKHIsZSl9dmFyIGNTPWZ1bmN0aW9uKHIpe2ZTKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9bFMuVEFHLGl9cmV0dXJuIGV9KG9TLmRlZmF1bHQpO3BpLmRlZmF1bHQ9Y1M7SnAuZXhwb3J0cz1waS5kZWZhdWx0fSk7dmFyIEdhPXgoKGRpLGVkKT0+e3UoKTsidXNlIHN0cmljdCI7ZGkuX19lc01vZHVsZT0hMDtkaS5kZWZhdWx0PXZvaWQgMDt2YXIgcFM9aFMoZHQoKSksZFM9U2UoKTtmdW5jdGlvbiBoUyhyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19ZnVuY3Rpb24gbVMocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLFdhKHIsZSl9ZnVuY3Rpb24gV2EocixlKXtyZXR1cm4gV2E9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxXYShyLGUpfXZhciBnUz1mdW5jdGlvbihyKXttUyhlLHIpO2Z1bmN0aW9uIGUodCl7dmFyIGk7cmV0dXJuIGk9ci5jYWxsKHRoaXMsdCl8fHRoaXMsaS50eXBlPWRTLlNUUklORyxpfXJldHVybiBlfShwUy5kZWZhdWx0KTtkaS5kZWZhdWx0PWdTO2VkLmV4cG9ydHM9ZGkuZGVmYXVsdH0pO3ZhciBZYT14KChoaSx0ZCk9Pnt1KCk7InVzZSBzdHJpY3QiO2hpLl9fZXNNb2R1bGU9ITA7aGkuZGVmYXVsdD12b2lkIDA7dmFyIHlTPXdTKExuKCkpLGJTPVNlKCk7ZnVuY3Rpb24gd1Mocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIHZTKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixRYShyLGUpfWZ1bmN0aW9uIFFhKHIsZSl7cmV0dXJuIFFhPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0sUWEocixlKX12YXIgeFM9ZnVuY3Rpb24ocil7dlMoZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBuPXIuY2FsbCh0aGlzLGkpfHx0aGlzLG4udHlwZT1iUy5QU0VVRE8sbn12YXIgdD1lLnByb3RvdHlwZTtyZXR1cm4gdC50b1N0cmluZz1mdW5jdGlvbigpe3ZhciBuPXRoaXMubGVuZ3RoPyIoIit0aGlzLm1hcChTdHJpbmcpLmpvaW4oIiwiKSsiKSI6IiI7cmV0dXJuW3RoaXMucmF3U3BhY2VCZWZvcmUsdGhpcy5zdHJpbmdpZnlQcm9wZXJ0eSgidmFsdWUiKSxuLHRoaXMucmF3U3BhY2VBZnRlcl0uam9pbigiIil9LGV9KHlTLmRlZmF1bHQpO2hpLmRlZmF1bHQ9eFM7dGQuZXhwb3J0cz1oaS5kZWZhdWx0fSk7dmFyIEJuPXt9O0dlKEJuLHtkZXByZWNhdGU6KCk9PmtTfSk7ZnVuY3Rpb24ga1Mocil7cmV0dXJuIHJ9dmFyIEZuPVAoKCk9Pnt1KCl9KTt2YXIgaWQ9eCgoRUkscmQpPT57dSgpO3JkLmV4cG9ydHM9KEZuKCksQm4pLmRlcHJlY2F0ZX0pO3ZhciB0bz14KHlpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt5aS5fX2VzTW9kdWxlPSEwO3lpLmRlZmF1bHQ9dm9pZCAwO3lpLnVuZXNjYXBlVmFsdWU9SmE7dmFyIG1pPVhhKE1uKCkpLFNTPVhhKFBuKCkpLEFTPVhhKE5uKCkpLENTPVNlKCksS2E7ZnVuY3Rpb24gWGEocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIG5kKHIsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBpPWVbdF07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLmtleSxpKX19ZnVuY3Rpb24gX1MocixlLHQpe3JldHVybiBlJiZuZChyLnByb3RvdHlwZSxlKSx0JiZuZChyLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHJ9ZnVuY3Rpb24gRVMocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLFphKHIsZSl9ZnVuY3Rpb24gWmEocixlKXtyZXR1cm4gWmE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxaYShyLGUpfXZhciBnaT1pZCgpLE9TPS9eKCd8IikoW15dKilcMSQvLFRTPWdpKGZ1bmN0aW9uKCl7fSwiQXNzaWduaW5nIGFuIGF0dHJpYnV0ZSBhIHZhbHVlIGNvbnRhaW5pbmcgY2hhcmFjdGVycyB0aGF0IG1pZ2h0IG5lZWQgdG8gYmUgZXNjYXBlZCBpcyBkZXByZWNhdGVkLiBDYWxsIGF0dHJpYnV0ZS5zZXRWYWx1ZSgpIGluc3RlYWQuIiksUlM9Z2koZnVuY3Rpb24oKXt9LCJBc3NpZ25pbmcgYXR0ci5xdW90ZWQgaXMgZGVwcmVjYXRlZCBhbmQgaGFzIG5vIGVmZmVjdC4gQXNzaWduIHRvIGF0dHIucXVvdGVNYXJrIGluc3RlYWQuIiksUFM9Z2koZnVuY3Rpb24oKXt9LCJDb25zdHJ1Y3RpbmcgYW4gQXR0cmlidXRlIHNlbGVjdG9yIHdpdGggYSB2YWx1ZSB3aXRob3V0IHNwZWNpZnlpbmcgcXVvdGVNYXJrIGlzIGRlcHJlY2F0ZWQuIE5vdGU6IFRoZSB2YWx1ZSBzaG91bGQgYmUgdW5lc2NhcGVkIG5vdy4iKTtmdW5jdGlvbiBKYShyKXt2YXIgZT0hMSx0PW51bGwsaT1yLG49aS5tYXRjaChPUyk7cmV0dXJuIG4mJih0PW5bMV0saT1uWzJdKSxpPSgwLFNTLmRlZmF1bHQpKGkpLGkhPT1yJiYoZT0hMCkse2RlcHJlY2F0ZWRVc2FnZTplLHVuZXNjYXBlZDppLHF1b3RlTWFyazp0fX1mdW5jdGlvbiBJUyhyKXtpZihyLnF1b3RlTWFyayE9PXZvaWQgMHx8ci52YWx1ZT09PXZvaWQgMClyZXR1cm4gcjtQUygpO3ZhciBlPUphKHIudmFsdWUpLHQ9ZS5xdW90ZU1hcmssaT1lLnVuZXNjYXBlZDtyZXR1cm4gci5yYXdzfHwoci5yYXdzPXt9KSxyLnJhd3MudmFsdWU9PT12b2lkIDAmJihyLnJhd3MudmFsdWU9ci52YWx1ZSksci52YWx1ZT1pLHIucXVvdGVNYXJrPXQscn12YXIgam49ZnVuY3Rpb24ocil7RVMoZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBpPT09dm9pZCAwJiYoaT17fSksbj1yLmNhbGwodGhpcyxJUyhpKSl8fHRoaXMsbi50eXBlPUNTLkFUVFJJQlVURSxuLnJhd3M9bi5yYXdzfHx7fSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5yYXdzLCJ1bnF1b3RlZCIse2dldDpnaShmdW5jdGlvbigpe3JldHVybiBuLnZhbHVlfSwiYXR0ci5yYXdzLnVucXVvdGVkIGlzIGRlcHJlY2F0ZWQuIENhbGwgYXR0ci52YWx1ZSBpbnN0ZWFkLiIpLHNldDpnaShmdW5jdGlvbigpe3JldHVybiBuLnZhbHVlfSwiU2V0dGluZyBhdHRyLnJhd3MudW5xdW90ZWQgaXMgZGVwcmVjYXRlZCBhbmQgaGFzIG5vIGVmZmVjdC4gYXR0ci52YWx1ZSBpcyB1bmVzY2FwZWQgYnkgZGVmYXVsdCBub3cuIil9KSxuLl9jb25zdHJ1Y3RlZD0hMCxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LmdldFF1b3RlZFZhbHVlPWZ1bmN0aW9uKG4pe249PT12b2lkIDAmJihuPXt9KTt2YXIgcz10aGlzLl9kZXRlcm1pbmVRdW90ZU1hcmsobiksYT1lb1tzXSxvPSgwLG1pLmRlZmF1bHQpKHRoaXMuX3ZhbHVlLGEpO3JldHVybiBvfSx0Ll9kZXRlcm1pbmVRdW90ZU1hcms9ZnVuY3Rpb24obil7cmV0dXJuIG4uc21hcnQ/dGhpcy5zbWFydFF1b3RlTWFyayhuKTp0aGlzLnByZWZlcnJlZFF1b3RlTWFyayhuKX0sdC5zZXRWYWx1ZT1mdW5jdGlvbihuLHMpe3M9PT12b2lkIDAmJihzPXt9KSx0aGlzLl92YWx1ZT1uLHRoaXMuX3F1b3RlTWFyaz10aGlzLl9kZXRlcm1pbmVRdW90ZU1hcmsocyksdGhpcy5fc3luY1Jhd1ZhbHVlKCl9LHQuc21hcnRRdW90ZU1hcms9ZnVuY3Rpb24obil7dmFyIHM9dGhpcy52YWx1ZSxhPXMucmVwbGFjZSgvW14nXS9nLCIiKS5sZW5ndGgsbz1zLnJlcGxhY2UoL1teIl0vZywiIikubGVuZ3RoO2lmKGErbz09PTApe3ZhciBsPSgwLG1pLmRlZmF1bHQpKHMse2lzSWRlbnRpZmllcjohMH0pO2lmKGw9PT1zKXJldHVybiBlLk5PX1FVT1RFO3ZhciBjPXRoaXMucHJlZmVycmVkUXVvdGVNYXJrKG4pO2lmKGM9PT1lLk5PX1FVT1RFKXt2YXIgZj10aGlzLnF1b3RlTWFya3x8bi5xdW90ZU1hcmt8fGUuRE9VQkxFX1FVT1RFLGQ9ZW9bZl0scD0oMCxtaS5kZWZhdWx0KShzLGQpO2lmKHAubGVuZ3RoPGwubGVuZ3RoKXJldHVybiBmfXJldHVybiBjfWVsc2UgcmV0dXJuIG89PT1hP3RoaXMucHJlZmVycmVkUXVvdGVNYXJrKG4pOm88YT9lLkRPVUJMRV9RVU9URTplLlNJTkdMRV9RVU9URX0sdC5wcmVmZXJyZWRRdW90ZU1hcms9ZnVuY3Rpb24obil7dmFyIHM9bi5wcmVmZXJDdXJyZW50UXVvdGVNYXJrP3RoaXMucXVvdGVNYXJrOm4ucXVvdGVNYXJrO3JldHVybiBzPT09dm9pZCAwJiYocz1uLnByZWZlckN1cnJlbnRRdW90ZU1hcms/bi5xdW90ZU1hcms6dGhpcy5xdW90ZU1hcmspLHM9PT12b2lkIDAmJihzPWUuRE9VQkxFX1FVT1RFKSxzfSx0Ll9zeW5jUmF3VmFsdWU9ZnVuY3Rpb24oKXt2YXIgbj0oMCxtaS5kZWZhdWx0KSh0aGlzLl92YWx1ZSxlb1t0aGlzLnF1b3RlTWFya10pO249PT10aGlzLl92YWx1ZT90aGlzLnJhd3MmJmRlbGV0ZSB0aGlzLnJhd3MudmFsdWU6dGhpcy5yYXdzLnZhbHVlPW59LHQuX2hhbmRsZUVzY2FwZXM9ZnVuY3Rpb24obixzKXtpZih0aGlzLl9jb25zdHJ1Y3RlZCl7dmFyIGE9KDAsbWkuZGVmYXVsdCkocyx7aXNJZGVudGlmaWVyOiEwfSk7YSE9PXM/dGhpcy5yYXdzW25dPWE6ZGVsZXRlIHRoaXMucmF3c1tuXX19LHQuX3NwYWNlc0Zvcj1mdW5jdGlvbihuKXt2YXIgcz17YmVmb3JlOiIiLGFmdGVyOiIifSxhPXRoaXMuc3BhY2VzW25dfHx7fSxvPXRoaXMucmF3cy5zcGFjZXMmJnRoaXMucmF3cy5zcGFjZXNbbl18fHt9O3JldHVybiBPYmplY3QuYXNzaWduKHMsYSxvKX0sdC5fc3RyaW5nRm9yPWZ1bmN0aW9uKG4scyxhKXtzPT09dm9pZCAwJiYocz1uKSxhPT09dm9pZCAwJiYoYT1zZCk7dmFyIG89dGhpcy5fc3BhY2VzRm9yKHMpO3JldHVybiBhKHRoaXMuc3RyaW5naWZ5UHJvcGVydHkobiksbyl9LHQub2Zmc2V0T2Y9ZnVuY3Rpb24obil7dmFyIHM9MSxhPXRoaXMuX3NwYWNlc0ZvcigiYXR0cmlidXRlIik7aWYocys9YS5iZWZvcmUubGVuZ3RoLG49PT0ibmFtZXNwYWNlInx8bj09PSJucyIpcmV0dXJuIHRoaXMubmFtZXNwYWNlP3M6LTE7aWYobj09PSJhdHRyaWJ1dGVOUyJ8fChzKz10aGlzLm5hbWVzcGFjZVN0cmluZy5sZW5ndGgsdGhpcy5uYW1lc3BhY2UmJihzKz0xKSxuPT09ImF0dHJpYnV0ZSIpKXJldHVybiBzO3MrPXRoaXMuc3RyaW5naWZ5UHJvcGVydHkoImF0dHJpYnV0ZSIpLmxlbmd0aCxzKz1hLmFmdGVyLmxlbmd0aDt2YXIgbz10aGlzLl9zcGFjZXNGb3IoIm9wZXJhdG9yIik7cys9by5iZWZvcmUubGVuZ3RoO3ZhciBsPXRoaXMuc3RyaW5naWZ5UHJvcGVydHkoIm9wZXJhdG9yIik7aWYobj09PSJvcGVyYXRvciIpcmV0dXJuIGw/czotMTtzKz1sLmxlbmd0aCxzKz1vLmFmdGVyLmxlbmd0aDt2YXIgYz10aGlzLl9zcGFjZXNGb3IoInZhbHVlIik7cys9Yy5iZWZvcmUubGVuZ3RoO3ZhciBmPXRoaXMuc3RyaW5naWZ5UHJvcGVydHkoInZhbHVlIik7aWYobj09PSJ2YWx1ZSIpcmV0dXJuIGY/czotMTtzKz1mLmxlbmd0aCxzKz1jLmFmdGVyLmxlbmd0aDt2YXIgZD10aGlzLl9zcGFjZXNGb3IoImluc2Vuc2l0aXZlIik7cmV0dXJuIHMrPWQuYmVmb3JlLmxlbmd0aCxuPT09Imluc2Vuc2l0aXZlIiYmdGhpcy5pbnNlbnNpdGl2ZT9zOi0xfSx0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIG49dGhpcyxzPVt0aGlzLnJhd1NwYWNlQmVmb3JlLCJbIl07cmV0dXJuIHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoInF1YWxpZmllZEF0dHJpYnV0ZSIsImF0dHJpYnV0ZSIpKSx0aGlzLm9wZXJhdG9yJiYodGhpcy52YWx1ZXx8dGhpcy52YWx1ZT09PSIiKSYmKHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoIm9wZXJhdG9yIikpLHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoInZhbHVlIikpLHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoImluc2Vuc2l0aXZlRmxhZyIsImluc2Vuc2l0aXZlIixmdW5jdGlvbihhLG8pe3JldHVybiBhLmxlbmd0aD4wJiYhbi5xdW90ZWQmJm8uYmVmb3JlLmxlbmd0aD09PTAmJiEobi5zcGFjZXMudmFsdWUmJm4uc3BhY2VzLnZhbHVlLmFmdGVyKSYmKG8uYmVmb3JlPSIgIiksc2QoYSxvKX0pKSkscy5wdXNoKCJdIikscy5wdXNoKHRoaXMucmF3U3BhY2VBZnRlcikscy5qb2luKCIiKX0sX1MoZSxbe2tleToicXVvdGVkIixnZXQ6ZnVuY3Rpb24oKXt2YXIgbj10aGlzLnF1b3RlTWFyaztyZXR1cm4gbj09PSInInx8bj09PSciJ30sc2V0OmZ1bmN0aW9uKG4pe1JTKCl9fSx7a2V5OiJxdW90ZU1hcmsiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9xdW90ZU1hcmt9LHNldDpmdW5jdGlvbihuKXtpZighdGhpcy5fY29uc3RydWN0ZWQpe3RoaXMuX3F1b3RlTWFyaz1uO3JldHVybn10aGlzLl9xdW90ZU1hcmshPT1uJiYodGhpcy5fcXVvdGVNYXJrPW4sdGhpcy5fc3luY1Jhd1ZhbHVlKCkpfX0se2tleToicXVhbGlmaWVkQXR0cmlidXRlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWFsaWZpZWROYW1lKHRoaXMucmF3cy5hdHRyaWJ1dGV8fHRoaXMuYXR0cmlidXRlKX19LHtrZXk6Imluc2Vuc2l0aXZlRmxhZyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZW5zaXRpdmU/ImkiOiIifX0se2tleToidmFsdWUiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl92YWx1ZX0sc2V0OmZ1bmN0aW9uKG4pe2lmKHRoaXMuX2NvbnN0cnVjdGVkKXt2YXIgcz1KYShuKSxhPXMuZGVwcmVjYXRlZFVzYWdlLG89cy51bmVzY2FwZWQsbD1zLnF1b3RlTWFyaztpZihhJiZUUygpLG89PT10aGlzLl92YWx1ZSYmbD09PXRoaXMuX3F1b3RlTWFyaylyZXR1cm47dGhpcy5fdmFsdWU9byx0aGlzLl9xdW90ZU1hcms9bCx0aGlzLl9zeW5jUmF3VmFsdWUoKX1lbHNlIHRoaXMuX3ZhbHVlPW59fSx7a2V5OiJpbnNlbnNpdGl2ZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2luc2Vuc2l0aXZlfSxzZXQ6ZnVuY3Rpb24obil7bnx8KHRoaXMuX2luc2Vuc2l0aXZlPSExLHRoaXMucmF3cyYmKHRoaXMucmF3cy5pbnNlbnNpdGl2ZUZsYWc9PT0iSSJ8fHRoaXMucmF3cy5pbnNlbnNpdGl2ZUZsYWc9PT0iaSIpJiYodGhpcy5yYXdzLmluc2Vuc2l0aXZlRmxhZz12b2lkIDApKSx0aGlzLl9pbnNlbnNpdGl2ZT1ufX0se2tleToiYXR0cmlidXRlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXR0cmlidXRlfSxzZXQ6ZnVuY3Rpb24obil7dGhpcy5faGFuZGxlRXNjYXBlcygiYXR0cmlidXRlIixuKSx0aGlzLl9hdHRyaWJ1dGU9bn19XSksZX0oQVMuZGVmYXVsdCk7eWkuZGVmYXVsdD1qbjtqbi5OT19RVU9URT1udWxsO2puLlNJTkdMRV9RVU9URT0iJyI7am4uRE9VQkxFX1FVT1RFPSciJzt2YXIgZW89KEthPXsiJyI6e3F1b3Rlczoic2luZ2xlIix3cmFwOiEwfSwnIic6e3F1b3RlczoiZG91YmxlIix3cmFwOiEwfX0sS2FbbnVsbF09e2lzSWRlbnRpZmllcjohMH0sS2EpO2Z1bmN0aW9uIHNkKHIsZSl7cmV0dXJuIiIrZS5iZWZvcmUrcitlLmFmdGVyfX0pO3ZhciBpbz14KChiaSxhZCk9Pnt1KCk7InVzZSBzdHJpY3QiO2JpLl9fZXNNb2R1bGU9ITA7YmkuZGVmYXVsdD12b2lkIDA7dmFyIERTPSRTKE5uKCkpLHFTPVNlKCk7ZnVuY3Rpb24gJFMocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIExTKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixybyhyLGUpfWZ1bmN0aW9uIHJvKHIsZSl7cmV0dXJuIHJvPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0scm8ocixlKX12YXIgTVM9ZnVuY3Rpb24ocil7TFMoZSxyKTtmdW5jdGlvbiBlKHQpe3ZhciBpO3JldHVybiBpPXIuY2FsbCh0aGlzLHQpfHx0aGlzLGkudHlwZT1xUy5VTklWRVJTQUwsaS52YWx1ZT0iKiIsaX1yZXR1cm4gZX0oRFMuZGVmYXVsdCk7YmkuZGVmYXVsdD1NUzthZC5leHBvcnRzPWJpLmRlZmF1bHR9KTt2YXIgc289eCgod2ksb2QpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt3aS5fX2VzTW9kdWxlPSEwO3dpLmRlZmF1bHQ9dm9pZCAwO3ZhciBOUz1GUyhkdCgpKSxCUz1TZSgpO2Z1bmN0aW9uIEZTKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBqUyhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsbm8ocixlKX1mdW5jdGlvbiBubyhyLGUpe3JldHVybiBubz1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LG5vKHIsZSl9dmFyIHpTPWZ1bmN0aW9uKHIpe2pTKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9QlMuQ09NQklOQVRPUixpfXJldHVybiBlfShOUy5kZWZhdWx0KTt3aS5kZWZhdWx0PXpTO29kLmV4cG9ydHM9d2kuZGVmYXVsdH0pO3ZhciBvbz14KCh2aSxsZCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZpLl9fZXNNb2R1bGU9ITA7dmkuZGVmYXVsdD12b2lkIDA7dmFyIFVTPUhTKGR0KCkpLFZTPVNlKCk7ZnVuY3Rpb24gSFMocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIFdTKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixhbyhyLGUpfWZ1bmN0aW9uIGFvKHIsZSl7cmV0dXJuIGFvPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0sYW8ocixlKX12YXIgR1M9ZnVuY3Rpb24ocil7V1MoZSxyKTtmdW5jdGlvbiBlKHQpe3ZhciBpO3JldHVybiBpPXIuY2FsbCh0aGlzLHQpfHx0aGlzLGkudHlwZT1WUy5ORVNUSU5HLGkudmFsdWU9IiYiLGl9cmV0dXJuIGV9KFVTLmRlZmF1bHQpO3ZpLmRlZmF1bHQ9R1M7bGQuZXhwb3J0cz12aS5kZWZhdWx0fSk7dmFyIGZkPXgoKHpuLHVkKT0+e3UoKTsidXNlIHN0cmljdCI7em4uX19lc01vZHVsZT0hMDt6bi5kZWZhdWx0PVFTO2Z1bmN0aW9uIFFTKHIpe3JldHVybiByLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS10fSl9dWQuZXhwb3J0cz16bi5kZWZhdWx0fSk7dmFyIGxvPXgoTT0+e3UoKTsidXNlIHN0cmljdCI7TS5fX2VzTW9kdWxlPSEwO00ud29yZD1NLnRpbGRlPU0udGFiPU0uc3RyPU0uc3BhY2U9TS5zbGFzaD1NLnNpbmdsZVF1b3RlPU0uc2VtaWNvbG9uPU0ucGx1cz1NLnBpcGU9TS5vcGVuU3F1YXJlPU0ub3BlblBhcmVudGhlc2lzPU0ubmV3bGluZT1NLmdyZWF0ZXJUaGFuPU0uZmVlZD1NLmVxdWFscz1NLmRvdWJsZVF1b3RlPU0uZG9sbGFyPU0uY3I9TS5jb21tZW50PU0uY29tbWE9TS5jb21iaW5hdG9yPU0uY29sb249TS5jbG9zZVNxdWFyZT1NLmNsb3NlUGFyZW50aGVzaXM9TS5jYXJldD1NLmJhbmc9TS5iYWNrc2xhc2g9TS5hdD1NLmFzdGVyaXNrPU0uYW1wZXJzYW5kPXZvaWQgMDt2YXIgWVM9Mzg7TS5hbXBlcnNhbmQ9WVM7dmFyIEtTPTQyO00uYXN0ZXJpc2s9S1M7dmFyIFhTPTY0O00uYXQ9WFM7dmFyIFpTPTQ0O00uY29tbWE9WlM7dmFyIEpTPTU4O00uY29sb249SlM7dmFyIGVBPTU5O00uc2VtaWNvbG9uPWVBO3ZhciB0QT00MDtNLm9wZW5QYXJlbnRoZXNpcz10QTt2YXIgckE9NDE7TS5jbG9zZVBhcmVudGhlc2lzPXJBO3ZhciBpQT05MTtNLm9wZW5TcXVhcmU9aUE7dmFyIG5BPTkzO00uY2xvc2VTcXVhcmU9bkE7dmFyIHNBPTM2O00uZG9sbGFyPXNBO3ZhciBhQT0xMjY7TS50aWxkZT1hQTt2YXIgb0E9OTQ7TS5jYXJldD1vQTt2YXIgbEE9NDM7TS5wbHVzPWxBO3ZhciB1QT02MTtNLmVxdWFscz11QTt2YXIgZkE9MTI0O00ucGlwZT1mQTt2YXIgY0E9NjI7TS5ncmVhdGVyVGhhbj1jQTt2YXIgcEE9MzI7TS5zcGFjZT1wQTt2YXIgY2Q9Mzk7TS5zaW5nbGVRdW90ZT1jZDt2YXIgZEE9MzQ7TS5kb3VibGVRdW90ZT1kQTt2YXIgaEE9NDc7TS5zbGFzaD1oQTt2YXIgbUE9MzM7TS5iYW5nPW1BO3ZhciBnQT05MjtNLmJhY2tzbGFzaD1nQTt2YXIgeUE9MTM7TS5jcj15QTt2YXIgYkE9MTI7TS5mZWVkPWJBO3ZhciB3QT0xMDtNLm5ld2xpbmU9d0E7dmFyIHZBPTk7TS50YWI9dkE7dmFyIHhBPWNkO00uc3RyPXhBO3ZhciBrQT0tMTtNLmNvbW1lbnQ9a0E7dmFyIFNBPS0yO00ud29yZD1TQTt2YXIgQUE9LTM7TS5jb21iaW5hdG9yPUFBfSk7dmFyIGhkPXgoeGk9Pnt1KCk7InVzZSBzdHJpY3QiO3hpLl9fZXNNb2R1bGU9ITA7eGkuRklFTERTPXZvaWQgMDt4aS5kZWZhdWx0PVBBO3ZhciBEPUNBKGxvKCkpLG5yLHRlO2Z1bmN0aW9uIHBkKHIpe2lmKHR5cGVvZiBXZWFrTWFwIT0iZnVuY3Rpb24iKXJldHVybiBudWxsO3ZhciBlPW5ldyBXZWFrTWFwLHQ9bmV3IFdlYWtNYXA7cmV0dXJuKHBkPWZ1bmN0aW9uKG4pe3JldHVybiBuP3Q6ZX0pKHIpfWZ1bmN0aW9uIENBKHIsZSl7aWYoIWUmJnImJnIuX19lc01vZHVsZSlyZXR1cm4gcjtpZihyPT09bnVsbHx8dHlwZW9mIHIhPSJvYmplY3QiJiZ0eXBlb2YgciE9ImZ1bmN0aW9uIilyZXR1cm57ZGVmYXVsdDpyfTt2YXIgdD1wZChlKTtpZih0JiZ0LmhhcyhyKSlyZXR1cm4gdC5nZXQocik7dmFyIGk9e30sbj1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBzIGluIHIpaWYocyE9PSJkZWZhdWx0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIscykpe3ZhciBhPW4/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHMpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGkscyxhKTppW3NdPXJbc119cmV0dXJuIGkuZGVmYXVsdD1yLHQmJnQuc2V0KHIsaSksaX12YXIgX0E9KG5yPXt9LG5yW0QudGFiXT0hMCxucltELm5ld2xpbmVdPSEwLG5yW0QuY3JdPSEwLG5yW0QuZmVlZF09ITAsbnIpLEVBPSh0ZT17fSx0ZVtELnNwYWNlXT0hMCx0ZVtELnRhYl09ITAsdGVbRC5uZXdsaW5lXT0hMCx0ZVtELmNyXT0hMCx0ZVtELmZlZWRdPSEwLHRlW0QuYW1wZXJzYW5kXT0hMCx0ZVtELmFzdGVyaXNrXT0hMCx0ZVtELmJhbmddPSEwLHRlW0QuY29tbWFdPSEwLHRlW0QuY29sb25dPSEwLHRlW0Quc2VtaWNvbG9uXT0hMCx0ZVtELm9wZW5QYXJlbnRoZXNpc109ITAsdGVbRC5jbG9zZVBhcmVudGhlc2lzXT0hMCx0ZVtELm9wZW5TcXVhcmVdPSEwLHRlW0QuY2xvc2VTcXVhcmVdPSEwLHRlW0Quc2luZ2xlUXVvdGVdPSEwLHRlW0QuZG91YmxlUXVvdGVdPSEwLHRlW0QucGx1c109ITAsdGVbRC5waXBlXT0hMCx0ZVtELnRpbGRlXT0hMCx0ZVtELmdyZWF0ZXJUaGFuXT0hMCx0ZVtELmVxdWFsc109ITAsdGVbRC5kb2xsYXJdPSEwLHRlW0QuY2FyZXRdPSEwLHRlW0Quc2xhc2hdPSEwLHRlKSx1bz17fSxkZD0iMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRiI7Zm9yKFVuPTA7VW48ZGQubGVuZ3RoO1VuKyspdW9bZGQuY2hhckNvZGVBdChVbildPSEwO3ZhciBVbjtmdW5jdGlvbiBPQShyLGUpe3ZhciB0PWUsaTtkb3tpZihpPXIuY2hhckNvZGVBdCh0KSxFQVtpXSlyZXR1cm4gdC0xO2k9PT1ELmJhY2tzbGFzaD90PVRBKHIsdCkrMTp0Kyt9d2hpbGUodDxyLmxlbmd0aCk7cmV0dXJuIHQtMX1mdW5jdGlvbiBUQShyLGUpe3ZhciB0PWUsaT1yLmNoYXJDb2RlQXQodCsxKTtpZighX0FbaV0paWYodW9baV0pe3ZhciBuPTA7ZG8gdCsrLG4rKyxpPXIuY2hhckNvZGVBdCh0KzEpO3doaWxlKHVvW2ldJiZuPDYpO248NiYmaT09PUQuc3BhY2UmJnQrK31lbHNlIHQrKztyZXR1cm4gdH12YXIgUkE9e1RZUEU6MCxTVEFSVF9MSU5FOjEsU1RBUlRfQ09MOjIsRU5EX0xJTkU6MyxFTkRfQ09MOjQsU1RBUlRfUE9TOjUsRU5EX1BPUzo2fTt4aS5GSUVMRFM9UkE7ZnVuY3Rpb24gUEEocil7dmFyIGU9W10sdD1yLmNzcy52YWx1ZU9mKCksaT10LG49aS5sZW5ndGgscz0tMSxhPTEsbz0wLGw9MCxjLGYsZCxwLGgsYix2LHksdyxrLFMsRSxUO2Z1bmN0aW9uIEIoTixSKXtpZihyLnNhZmUpdCs9Uix3PXQubGVuZ3RoLTE7ZWxzZSB0aHJvdyByLmVycm9yKCJVbmNsb3NlZCAiK04sYSxvLXMsbyl9Zm9yKDtvPG47KXtzd2l0Y2goYz10LmNoYXJDb2RlQXQobyksYz09PUQubmV3bGluZSYmKHM9byxhKz0xKSxjKXtjYXNlIEQuc3BhY2U6Y2FzZSBELnRhYjpjYXNlIEQubmV3bGluZTpjYXNlIEQuY3I6Y2FzZSBELmZlZWQ6dz1vO2RvIHcrPTEsYz10LmNoYXJDb2RlQXQodyksYz09PUQubmV3bGluZSYmKHM9dyxhKz0xKTt3aGlsZShjPT09RC5zcGFjZXx8Yz09PUQubmV3bGluZXx8Yz09PUQudGFifHxjPT09RC5jcnx8Yz09PUQuZmVlZCk7VD1ELnNwYWNlLHA9YSxkPXctcy0xLGw9dzticmVhaztjYXNlIEQucGx1czpjYXNlIEQuZ3JlYXRlclRoYW46Y2FzZSBELnRpbGRlOmNhc2UgRC5waXBlOnc9bztkbyB3Kz0xLGM9dC5jaGFyQ29kZUF0KHcpO3doaWxlKGM9PT1ELnBsdXN8fGM9PT1ELmdyZWF0ZXJUaGFufHxjPT09RC50aWxkZXx8Yz09PUQucGlwZSk7VD1ELmNvbWJpbmF0b3IscD1hLGQ9by1zLGw9dzticmVhaztjYXNlIEQuYXN0ZXJpc2s6Y2FzZSBELmFtcGVyc2FuZDpjYXNlIEQuYmFuZzpjYXNlIEQuY29tbWE6Y2FzZSBELmVxdWFsczpjYXNlIEQuZG9sbGFyOmNhc2UgRC5jYXJldDpjYXNlIEQub3BlblNxdWFyZTpjYXNlIEQuY2xvc2VTcXVhcmU6Y2FzZSBELmNvbG9uOmNhc2UgRC5zZW1pY29sb246Y2FzZSBELm9wZW5QYXJlbnRoZXNpczpjYXNlIEQuY2xvc2VQYXJlbnRoZXNpczp3PW8sVD1jLHA9YSxkPW8tcyxsPXcrMTticmVhaztjYXNlIEQuc2luZ2xlUXVvdGU6Y2FzZSBELmRvdWJsZVF1b3RlOkU9Yz09PUQuc2luZ2xlUXVvdGU/IiciOiciJyx3PW87ZG8gZm9yKGg9ITEsdz10LmluZGV4T2YoRSx3KzEpLHc9PT0tMSYmQigicXVvdGUiLEUpLGI9dzt0LmNoYXJDb2RlQXQoYi0xKT09PUQuYmFja3NsYXNoOyliLT0xLGg9IWg7d2hpbGUoaCk7VD1ELnN0cixwPWEsZD1vLXMsbD13KzE7YnJlYWs7ZGVmYXVsdDpjPT09RC5zbGFzaCYmdC5jaGFyQ29kZUF0KG8rMSk9PT1ELmFzdGVyaXNrPyh3PXQuaW5kZXhPZigiKi8iLG8rMikrMSx3PT09MCYmQigiY29tbWVudCIsIiovIiksZj10LnNsaWNlKG8sdysxKSx5PWYuc3BsaXQoYApgKSx2PXkubGVuZ3RoLTEsdj4wPyhrPWErdixTPXcteVt2XS5sZW5ndGgpOihrPWEsUz1zKSxUPUQuY29tbWVudCxhPWsscD1rLGQ9dy1TKTpjPT09RC5zbGFzaD8odz1vLFQ9YyxwPWEsZD1vLXMsbD13KzEpOih3PU9BKHQsbyksVD1ELndvcmQscD1hLGQ9dy1zKSxsPXcrMTticmVha31lLnB1c2goW1QsYSxvLXMscCxkLG8sbF0pLFMmJihzPVMsUz1udWxsKSxvPWx9cmV0dXJuIGV9fSk7dmFyIGtkPXgoKGtpLHhkKT0+e3UoKTsidXNlIHN0cmljdCI7a2kuX19lc01vZHVsZT0hMDtraS5kZWZhdWx0PXZvaWQgMDt2YXIgSUE9amUoRGEoKSksZm89amUoJGEoKSksREE9amUoTmEoKSksbWQ9amUoRmEoKSkscUE9amUoemEoKSksJEE9amUoSGEoKSksY289amUoR2EoKSksTEE9amUoWWEoKSksZ2Q9Vm4odG8oKSksTUE9amUoaW8oKSkscG89amUoc28oKSksTkE9amUob28oKSksQkE9amUoZmQoKSksTz1WbihoZCgpKSxxPVZuKGxvKCkpLEZBPVZuKFNlKCkpLHVlPWlpKCksVnQsaG87ZnVuY3Rpb24geWQocil7aWYodHlwZW9mIFdlYWtNYXAhPSJmdW5jdGlvbiIpcmV0dXJuIG51bGw7dmFyIGU9bmV3IFdlYWtNYXAsdD1uZXcgV2Vha01hcDtyZXR1cm4oeWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/dDplfSkocil9ZnVuY3Rpb24gVm4ocixlKXtpZighZSYmciYmci5fX2VzTW9kdWxlKXJldHVybiByO2lmKHI9PT1udWxsfHx0eXBlb2YgciE9Im9iamVjdCImJnR5cGVvZiByIT0iZnVuY3Rpb24iKXJldHVybntkZWZhdWx0OnJ9O3ZhciB0PXlkKGUpO2lmKHQmJnQuaGFzKHIpKXJldHVybiB0LmdldChyKTt2YXIgaT17fSxuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtmb3IodmFyIHMgaW4gcilpZihzIT09ImRlZmF1bHQiJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixzKSl7dmFyIGE9bj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIscyk6bnVsbDthJiYoYS5nZXR8fGEuc2V0KT9PYmplY3QuZGVmaW5lUHJvcGVydHkoaSxzLGEpOmlbc109cltzXX1yZXR1cm4gaS5kZWZhdWx0PXIsdCYmdC5zZXQocixpKSxpfWZ1bmN0aW9uIGplKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBiZChyLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaS5rZXksaSl9fWZ1bmN0aW9uIGpBKHIsZSx0KXtyZXR1cm4gZSYmYmQoci5wcm90b3R5cGUsZSksdCYmYmQocix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxyfXZhciBtbz0oVnQ9e30sVnRbcS5zcGFjZV09ITAsVnRbcS5jcl09ITAsVnRbcS5mZWVkXT0hMCxWdFtxLm5ld2xpbmVdPSEwLFZ0W3EudGFiXT0hMCxWdCksekE9T2JqZWN0LmFzc2lnbih7fSxtbywoaG89e30saG9bcS5jb21tZW50XT0hMCxobykpO2Z1bmN0aW9uIHdkKHIpe3JldHVybntsaW5lOnJbTy5GSUVMRFMuU1RBUlRfTElORV0sY29sdW1uOnJbTy5GSUVMRFMuU1RBUlRfQ09MXX19ZnVuY3Rpb24gdmQocil7cmV0dXJue2xpbmU6cltPLkZJRUxEUy5FTkRfTElORV0sY29sdW1uOnJbTy5GSUVMRFMuRU5EX0NPTF19fWZ1bmN0aW9uIEh0KHIsZSx0LGkpe3JldHVybntzdGFydDp7bGluZTpyLGNvbHVtbjplfSxlbmQ6e2xpbmU6dCxjb2x1bW46aX19fWZ1bmN0aW9uIHNyKHIpe3JldHVybiBIdChyW08uRklFTERTLlNUQVJUX0xJTkVdLHJbTy5GSUVMRFMuU1RBUlRfQ09MXSxyW08uRklFTERTLkVORF9MSU5FXSxyW08uRklFTERTLkVORF9DT0xdKX1mdW5jdGlvbiBnbyhyLGUpe2lmKCEhcilyZXR1cm4gSHQocltPLkZJRUxEUy5TVEFSVF9MSU5FXSxyW08uRklFTERTLlNUQVJUX0NPTF0sZVtPLkZJRUxEUy5FTkRfTElORV0sZVtPLkZJRUxEUy5FTkRfQ09MXSl9ZnVuY3Rpb24gYXIocixlKXt2YXIgdD1yW2VdO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyZXR1cm4gdC5pbmRleE9mKCJcXCIpIT09LTEmJigoMCx1ZS5lbnN1cmVPYmplY3QpKHIsInJhd3MiKSxyW2VdPSgwLHVlLnVuZXNjKSh0KSxyLnJhd3NbZV09PT12b2lkIDAmJihyLnJhd3NbZV09dCkpLHJ9ZnVuY3Rpb24geW8ocixlKXtmb3IodmFyIHQ9LTEsaT1bXTsodD1yLmluZGV4T2YoZSx0KzEpKSE9PS0xOylpLnB1c2godCk7cmV0dXJuIGl9ZnVuY3Rpb24gVUEoKXt2YXIgcj1BcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGFyZ3VtZW50cyk7cmV0dXJuIHIuZmlsdGVyKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9PT1yLmluZGV4T2YoZSl9KX12YXIgVkE9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKHQsaSl7aT09PXZvaWQgMCYmKGk9e30pLHRoaXMucnVsZT10LHRoaXMub3B0aW9ucz1PYmplY3QuYXNzaWduKHtsb3NzeTohMSxzYWZlOiExfSxpKSx0aGlzLnBvc2l0aW9uPTAsdGhpcy5jc3M9dHlwZW9mIHRoaXMucnVsZT09InN0cmluZyI/dGhpcy5ydWxlOnRoaXMucnVsZS5zZWxlY3Rvcix0aGlzLnRva2Vucz0oMCxPLmRlZmF1bHQpKHtjc3M6dGhpcy5jc3MsZXJyb3I6dGhpcy5fZXJyb3JHZW5lcmF0b3IoKSxzYWZlOnRoaXMub3B0aW9ucy5zYWZlfSk7dmFyIG49Z28odGhpcy50b2tlbnNbMF0sdGhpcy50b2tlbnNbdGhpcy50b2tlbnMubGVuZ3RoLTFdKTt0aGlzLnJvb3Q9bmV3IElBLmRlZmF1bHQoe3NvdXJjZTpufSksdGhpcy5yb290LmVycm9yR2VuZXJhdG9yPXRoaXMuX2Vycm9yR2VuZXJhdG9yKCk7dmFyIHM9bmV3IGZvLmRlZmF1bHQoe3NvdXJjZTp7c3RhcnQ6e2xpbmU6MSxjb2x1bW46MX19LHNvdXJjZUluZGV4OjB9KTt0aGlzLnJvb3QuYXBwZW5kKHMpLHRoaXMuY3VycmVudD1zLHRoaXMubG9vcCgpfXZhciBlPXIucHJvdG90eXBlO3JldHVybiBlLl9lcnJvckdlbmVyYXRvcj1mdW5jdGlvbigpe3ZhciBpPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKG4scyl7cmV0dXJuIHR5cGVvZiBpLnJ1bGU9PSJzdHJpbmciP25ldyBFcnJvcihuKTppLnJ1bGUuZXJyb3IobixzKX19LGUuYXR0cmlidXRlPWZ1bmN0aW9uKCl7dmFyIGk9W10sbj10aGlzLmN1cnJUb2tlbjtmb3IodGhpcy5wb3NpdGlvbisrO3RoaXMucG9zaXRpb248dGhpcy50b2tlbnMubGVuZ3RoJiZ0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXSE9PXEuY2xvc2VTcXVhcmU7KWkucHVzaCh0aGlzLmN1cnJUb2tlbiksdGhpcy5wb3NpdGlvbisrO2lmKHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdIT09cS5jbG9zZVNxdWFyZSlyZXR1cm4gdGhpcy5leHBlY3RlZCgiY2xvc2luZyBzcXVhcmUgYnJhY2tldCIsdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXSk7dmFyIHM9aS5sZW5ndGgsYT17c291cmNlOkh0KG5bMV0sblsyXSx0aGlzLmN1cnJUb2tlblszXSx0aGlzLmN1cnJUb2tlbls0XSksc291cmNlSW5kZXg6bltPLkZJRUxEUy5TVEFSVF9QT1NdfTtpZihzPT09MSYmIX5bcS53b3JkXS5pbmRleE9mKGlbMF1bTy5GSUVMRFMuVFlQRV0pKXJldHVybiB0aGlzLmV4cGVjdGVkKCJhdHRyaWJ1dGUiLGlbMF1bTy5GSUVMRFMuU1RBUlRfUE9TXSk7Zm9yKHZhciBvPTAsbD0iIixjPSIiLGY9bnVsbCxkPSExO288czspe3ZhciBwPWlbb10saD10aGlzLmNvbnRlbnQocCksYj1pW28rMV07c3dpdGNoKHBbTy5GSUVMRFMuVFlQRV0pe2Nhc2UgcS5zcGFjZTppZihkPSEwLHRoaXMub3B0aW9ucy5sb3NzeSlicmVhaztpZihmKXsoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInNwYWNlcyIsZik7dmFyIHY9YS5zcGFjZXNbZl0uYWZ0ZXJ8fCIiO2Euc3BhY2VzW2ZdLmFmdGVyPXYraDt2YXIgeT0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIiwic3BhY2VzIixmLCJhZnRlciIpfHxudWxsO3kmJihhLnJhd3Muc3BhY2VzW2ZdLmFmdGVyPXkraCl9ZWxzZSBsPWwraCxjPWMraDticmVhaztjYXNlIHEuYXN0ZXJpc2s6aWYoYltPLkZJRUxEUy5UWVBFXT09PXEuZXF1YWxzKWEub3BlcmF0b3I9aCxmPSJvcGVyYXRvciI7ZWxzZSBpZigoIWEubmFtZXNwYWNlfHxmPT09Im5hbWVzcGFjZSImJiFkKSYmYil7bCYmKCgwLHVlLmVuc3VyZU9iamVjdCkoYSwic3BhY2VzIiwiYXR0cmlidXRlIiksYS5zcGFjZXMuYXR0cmlidXRlLmJlZm9yZT1sLGw9IiIpLGMmJigoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiLCJzcGFjZXMiLCJhdHRyaWJ1dGUiKSxhLnJhd3Muc3BhY2VzLmF0dHJpYnV0ZS5iZWZvcmU9bCxjPSIiKSxhLm5hbWVzcGFjZT0oYS5uYW1lc3BhY2V8fCIiKStoO3ZhciB3PSgwLHVlLmdldFByb3ApKGEsInJhd3MiLCJuYW1lc3BhY2UiKXx8bnVsbDt3JiYoYS5yYXdzLm5hbWVzcGFjZSs9aCksZj0ibmFtZXNwYWNlIn1kPSExO2JyZWFrO2Nhc2UgcS5kb2xsYXI6aWYoZj09PSJ2YWx1ZSIpe3ZhciBrPSgwLHVlLmdldFByb3ApKGEsInJhd3MiLCJ2YWx1ZSIpO2EudmFsdWUrPSIkIixrJiYoYS5yYXdzLnZhbHVlPWsrIiQiKTticmVha31jYXNlIHEuY2FyZXQ6YltPLkZJRUxEUy5UWVBFXT09PXEuZXF1YWxzJiYoYS5vcGVyYXRvcj1oLGY9Im9wZXJhdG9yIiksZD0hMTticmVhaztjYXNlIHEuY29tYmluYXRvcjppZihoPT09In4iJiZiW08uRklFTERTLlRZUEVdPT09cS5lcXVhbHMmJihhLm9wZXJhdG9yPWgsZj0ib3BlcmF0b3IiKSxoIT09InwiKXtkPSExO2JyZWFrfWJbTy5GSUVMRFMuVFlQRV09PT1xLmVxdWFscz8oYS5vcGVyYXRvcj1oLGY9Im9wZXJhdG9yIik6IWEubmFtZXNwYWNlJiYhYS5hdHRyaWJ1dGUmJihhLm5hbWVzcGFjZT0hMCksZD0hMTticmVhaztjYXNlIHEud29yZDppZihiJiZ0aGlzLmNvbnRlbnQoYik9PT0ifCImJmlbbysyXSYmaVtvKzJdW08uRklFTERTLlRZUEVdIT09cS5lcXVhbHMmJiFhLm9wZXJhdG9yJiYhYS5uYW1lc3BhY2UpYS5uYW1lc3BhY2U9aCxmPSJuYW1lc3BhY2UiO2Vsc2UgaWYoIWEuYXR0cmlidXRlfHxmPT09ImF0dHJpYnV0ZSImJiFkKXtsJiYoKDAsdWUuZW5zdXJlT2JqZWN0KShhLCJzcGFjZXMiLCJhdHRyaWJ1dGUiKSxhLnNwYWNlcy5hdHRyaWJ1dGUuYmVmb3JlPWwsbD0iIiksYyYmKCgwLHVlLmVuc3VyZU9iamVjdCkoYSwicmF3cyIsInNwYWNlcyIsImF0dHJpYnV0ZSIpLGEucmF3cy5zcGFjZXMuYXR0cmlidXRlLmJlZm9yZT1jLGM9IiIpLGEuYXR0cmlidXRlPShhLmF0dHJpYnV0ZXx8IiIpK2g7dmFyIFM9KDAsdWUuZ2V0UHJvcCkoYSwicmF3cyIsImF0dHJpYnV0ZSIpfHxudWxsO1MmJihhLnJhd3MuYXR0cmlidXRlKz1oKSxmPSJhdHRyaWJ1dGUifWVsc2UgaWYoIWEudmFsdWUmJmEudmFsdWUhPT0iInx8Zj09PSJ2YWx1ZSImJiEoZHx8YS5xdW90ZU1hcmspKXt2YXIgRT0oMCx1ZS51bmVzYykoaCksVD0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIiwidmFsdWUiKXx8IiIsQj1hLnZhbHVlfHwiIjthLnZhbHVlPUIrRSxhLnF1b3RlTWFyaz1udWxsLChFIT09aHx8VCkmJigoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiKSxhLnJhd3MudmFsdWU9KFR8fEIpK2gpLGY9InZhbHVlIn1lbHNle3ZhciBOPWg9PT0iaSJ8fGg9PT0iSSI7KGEudmFsdWV8fGEudmFsdWU9PT0iIikmJihhLnF1b3RlTWFya3x8ZCk/KGEuaW5zZW5zaXRpdmU9TiwoIU58fGg9PT0iSSIpJiYoKDAsdWUuZW5zdXJlT2JqZWN0KShhLCJyYXdzIiksYS5yYXdzLmluc2Vuc2l0aXZlRmxhZz1oKSxmPSJpbnNlbnNpdGl2ZSIsbCYmKCgwLHVlLmVuc3VyZU9iamVjdCkoYSwic3BhY2VzIiwiaW5zZW5zaXRpdmUiKSxhLnNwYWNlcy5pbnNlbnNpdGl2ZS5iZWZvcmU9bCxsPSIiKSxjJiYoKDAsdWUuZW5zdXJlT2JqZWN0KShhLCJyYXdzIiwic3BhY2VzIiwiaW5zZW5zaXRpdmUiKSxhLnJhd3Muc3BhY2VzLmluc2Vuc2l0aXZlLmJlZm9yZT1jLGM9IiIpKTooYS52YWx1ZXx8YS52YWx1ZT09PSIiKSYmKGY9InZhbHVlIixhLnZhbHVlKz1oLGEucmF3cy52YWx1ZSYmKGEucmF3cy52YWx1ZSs9aCkpfWQ9ITE7YnJlYWs7Y2FzZSBxLnN0cjppZighYS5hdHRyaWJ1dGV8fCFhLm9wZXJhdG9yKXJldHVybiB0aGlzLmVycm9yKCJFeHBlY3RlZCBhbiBhdHRyaWJ1dGUgZm9sbG93ZWQgYnkgYW4gb3BlcmF0b3IgcHJlY2VkaW5nIHRoZSBzdHJpbmcuIix7aW5kZXg6cFtPLkZJRUxEUy5TVEFSVF9QT1NdfSk7dmFyIFI9KDAsZ2QudW5lc2NhcGVWYWx1ZSkoaCksRj1SLnVuZXNjYXBlZCxZPVIucXVvdGVNYXJrO2EudmFsdWU9RixhLnF1b3RlTWFyaz1ZLGY9InZhbHVlIiwoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiKSxhLnJhd3MudmFsdWU9aCxkPSExO2JyZWFrO2Nhc2UgcS5lcXVhbHM6aWYoIWEuYXR0cmlidXRlKXJldHVybiB0aGlzLmV4cGVjdGVkKCJhdHRyaWJ1dGUiLHBbTy5GSUVMRFMuU1RBUlRfUE9TXSxoKTtpZihhLnZhbHVlKXJldHVybiB0aGlzLmVycm9yKCdVbmV4cGVjdGVkICI9IiBmb3VuZDsgYW4gb3BlcmF0b3Igd2FzIGFscmVhZHkgZGVmaW5lZC4nLHtpbmRleDpwW08uRklFTERTLlNUQVJUX1BPU119KTthLm9wZXJhdG9yPWEub3BlcmF0b3I/YS5vcGVyYXRvcitoOmgsZj0ib3BlcmF0b3IiLGQ9ITE7YnJlYWs7Y2FzZSBxLmNvbW1lbnQ6aWYoZilpZihkfHxiJiZiW08uRklFTERTLlRZUEVdPT09cS5zcGFjZXx8Zj09PSJpbnNlbnNpdGl2ZSIpe3ZhciBfPSgwLHVlLmdldFByb3ApKGEsInNwYWNlcyIsZiwiYWZ0ZXIiKXx8IiIsUT0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIiwic3BhY2VzIixmLCJhZnRlciIpfHxfOygwLHVlLmVuc3VyZU9iamVjdCkoYSwicmF3cyIsInNwYWNlcyIsZiksYS5yYXdzLnNwYWNlc1tmXS5hZnRlcj1RK2h9ZWxzZXt2YXIgVT1hW2ZdfHwiIixsZT0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIixmKXx8VTsoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiKSxhLnJhd3NbZl09bGUraH1lbHNlIGM9YytoO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHRoaXMuZXJyb3IoJ1VuZXhwZWN0ZWQgIicraCsnIiBmb3VuZC4nLHtpbmRleDpwW08uRklFTERTLlNUQVJUX1BPU119KX1vKyt9YXIoYSwiYXR0cmlidXRlIiksYXIoYSwibmFtZXNwYWNlIiksdGhpcy5uZXdOb2RlKG5ldyBnZC5kZWZhdWx0KGEpKSx0aGlzLnBvc2l0aW9uKyt9LGUucGFyc2VXaGl0ZXNwYWNlRXF1aXZhbGVudFRva2Vucz1mdW5jdGlvbihpKXtpPDAmJihpPXRoaXMudG9rZW5zLmxlbmd0aCk7dmFyIG49dGhpcy5wb3NpdGlvbixzPVtdLGE9IiIsbz12b2lkIDA7ZG8gaWYobW9bdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuVFlQRV1dKXRoaXMub3B0aW9ucy5sb3NzeXx8KGErPXRoaXMuY29udGVudCgpKTtlbHNlIGlmKHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jb21tZW50KXt2YXIgbD17fTthJiYobC5iZWZvcmU9YSxhPSIiKSxvPW5ldyBtZC5kZWZhdWx0KHt2YWx1ZTp0aGlzLmNvbnRlbnQoKSxzb3VyY2U6c3IodGhpcy5jdXJyVG9rZW4pLHNvdXJjZUluZGV4OnRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX1BPU10sc3BhY2VzOmx9KSxzLnB1c2gobyl9d2hpbGUoKyt0aGlzLnBvc2l0aW9uPGkpO2lmKGEpe2lmKG8pby5zcGFjZXMuYWZ0ZXI9YTtlbHNlIGlmKCF0aGlzLm9wdGlvbnMubG9zc3kpe3ZhciBjPXRoaXMudG9rZW5zW25dLGY9dGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbi0xXTtzLnB1c2gobmV3IGNvLmRlZmF1bHQoe3ZhbHVlOiIiLHNvdXJjZTpIdChjW08uRklFTERTLlNUQVJUX0xJTkVdLGNbTy5GSUVMRFMuU1RBUlRfQ09MXSxmW08uRklFTERTLkVORF9MSU5FXSxmW08uRklFTERTLkVORF9DT0xdKSxzb3VyY2VJbmRleDpjW08uRklFTERTLlNUQVJUX1BPU10sc3BhY2VzOntiZWZvcmU6YSxhZnRlcjoiIn19KSl9fXJldHVybiBzfSxlLmNvbnZlcnRXaGl0ZXNwYWNlTm9kZXNUb1NwYWNlPWZ1bmN0aW9uKGksbil7dmFyIHM9dGhpcztuPT09dm9pZCAwJiYobj0hMSk7dmFyIGE9IiIsbz0iIjtpLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGY9cy5sb3NzeVNwYWNlKGMuc3BhY2VzLmJlZm9yZSxuKSxkPXMubG9zc3lTcGFjZShjLnJhd1NwYWNlQmVmb3JlLG4pO2ErPWYrcy5sb3NzeVNwYWNlKGMuc3BhY2VzLmFmdGVyLG4mJmYubGVuZ3RoPT09MCksbys9ZitjLnZhbHVlK3MubG9zc3lTcGFjZShjLnJhd1NwYWNlQWZ0ZXIsbiYmZC5sZW5ndGg9PT0wKX0pLG89PT1hJiYobz12b2lkIDApO3ZhciBsPXtzcGFjZTphLHJhd1NwYWNlOm99O3JldHVybiBsfSxlLmlzTmFtZWRDb21iaW5hdG9yPWZ1bmN0aW9uKGkpe3JldHVybiBpPT09dm9pZCAwJiYoaT10aGlzLnBvc2l0aW9uKSx0aGlzLnRva2Vuc1tpKzBdJiZ0aGlzLnRva2Vuc1tpKzBdW08uRklFTERTLlRZUEVdPT09cS5zbGFzaCYmdGhpcy50b2tlbnNbaSsxXSYmdGhpcy50b2tlbnNbaSsxXVtPLkZJRUxEUy5UWVBFXT09PXEud29yZCYmdGhpcy50b2tlbnNbaSsyXSYmdGhpcy50b2tlbnNbaSsyXVtPLkZJRUxEUy5UWVBFXT09PXEuc2xhc2h9LGUubmFtZWRDb21iaW5hdG9yPWZ1bmN0aW9uKCl7aWYodGhpcy5pc05hbWVkQ29tYmluYXRvcigpKXt2YXIgaT10aGlzLmNvbnRlbnQodGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXSksbj0oMCx1ZS51bmVzYykoaSkudG9Mb3dlckNhc2UoKSxzPXt9O24hPT1pJiYocy52YWx1ZT0iLyIraSsiLyIpO3ZhciBhPW5ldyBwby5kZWZhdWx0KHt2YWx1ZToiLyIrbisiLyIsc291cmNlOkh0KHRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX0xJTkVdLHRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX0NPTF0sdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisyXVtPLkZJRUxEUy5FTkRfTElORV0sdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisyXVtPLkZJRUxEUy5FTkRfQ09MXSksc291cmNlSW5kZXg6dGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXSxyYXdzOnN9KTtyZXR1cm4gdGhpcy5wb3NpdGlvbj10aGlzLnBvc2l0aW9uKzMsYX1lbHNlIHRoaXMudW5leHBlY3RlZCgpfSxlLmNvbWJpbmF0b3I9ZnVuY3Rpb24oKXt2YXIgaT10aGlzO2lmKHRoaXMuY29udGVudCgpPT09InwiKXJldHVybiB0aGlzLm5hbWVzcGFjZSgpO3ZhciBuPXRoaXMubG9jYXRlTmV4dE1lYW5pbmdmdWxUb2tlbih0aGlzLnBvc2l0aW9uKTtpZihuPDB8fHRoaXMudG9rZW5zW25dW08uRklFTERTLlRZUEVdPT09cS5jb21tYXx8dGhpcy50b2tlbnNbbl1bTy5GSUVMRFMuVFlQRV09PT1xLmNsb3NlUGFyZW50aGVzaXMpe3ZhciBzPXRoaXMucGFyc2VXaGl0ZXNwYWNlRXF1aXZhbGVudFRva2VucyhuKTtpZihzLmxlbmd0aD4wKXt2YXIgYT10aGlzLmN1cnJlbnQubGFzdDtpZihhKXt2YXIgbz10aGlzLmNvbnZlcnRXaGl0ZXNwYWNlTm9kZXNUb1NwYWNlKHMpLGw9by5zcGFjZSxjPW8ucmF3U3BhY2U7YyE9PXZvaWQgMCYmKGEucmF3U3BhY2VBZnRlcis9YyksYS5zcGFjZXMuYWZ0ZXIrPWx9ZWxzZSBzLmZvckVhY2goZnVuY3Rpb24oVCl7cmV0dXJuIGkubmV3Tm9kZShUKX0pfXJldHVybn12YXIgZj10aGlzLmN1cnJUb2tlbixkPXZvaWQgMDtuPnRoaXMucG9zaXRpb24mJihkPXRoaXMucGFyc2VXaGl0ZXNwYWNlRXF1aXZhbGVudFRva2VucyhuKSk7dmFyIHA7aWYodGhpcy5pc05hbWVkQ29tYmluYXRvcigpP3A9dGhpcy5uYW1lZENvbWJpbmF0b3IoKTp0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXT09PXEuY29tYmluYXRvcj8ocD1uZXcgcG8uZGVmYXVsdCh7dmFsdWU6dGhpcy5jb250ZW50KCksc291cmNlOnNyKHRoaXMuY3VyclRva2VuKSxzb3VyY2VJbmRleDp0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdfSksdGhpcy5wb3NpdGlvbisrKTptb1t0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXV18fGR8fHRoaXMudW5leHBlY3RlZCgpLHApe2lmKGQpe3ZhciBoPXRoaXMuY29udmVydFdoaXRlc3BhY2VOb2Rlc1RvU3BhY2UoZCksYj1oLnNwYWNlLHY9aC5yYXdTcGFjZTtwLnNwYWNlcy5iZWZvcmU9YixwLnJhd1NwYWNlQmVmb3JlPXZ9fWVsc2V7dmFyIHk9dGhpcy5jb252ZXJ0V2hpdGVzcGFjZU5vZGVzVG9TcGFjZShkLCEwKSx3PXkuc3BhY2Usaz15LnJhd1NwYWNlO2t8fChrPXcpO3ZhciBTPXt9LEU9e3NwYWNlczp7fX07dy5lbmRzV2l0aCgiICIpJiZrLmVuZHNXaXRoKCIgIik/KFMuYmVmb3JlPXcuc2xpY2UoMCx3Lmxlbmd0aC0xKSxFLnNwYWNlcy5iZWZvcmU9ay5zbGljZSgwLGsubGVuZ3RoLTEpKTp3LnN0YXJ0c1dpdGgoIiAiKSYmay5zdGFydHNXaXRoKCIgIik/KFMuYWZ0ZXI9dy5zbGljZSgxKSxFLnNwYWNlcy5hZnRlcj1rLnNsaWNlKDEpKTpFLnZhbHVlPWsscD1uZXcgcG8uZGVmYXVsdCh7dmFsdWU6IiAiLHNvdXJjZTpnbyhmLHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24tMV0pLHNvdXJjZUluZGV4OmZbTy5GSUVMRFMuU1RBUlRfUE9TXSxzcGFjZXM6UyxyYXdzOkV9KX1yZXR1cm4gdGhpcy5jdXJyVG9rZW4mJnRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5zcGFjZSYmKHAuc3BhY2VzLmFmdGVyPXRoaXMub3B0aW9uYWxTcGFjZSh0aGlzLmNvbnRlbnQoKSksdGhpcy5wb3NpdGlvbisrKSx0aGlzLm5ld05vZGUocCl9LGUuY29tbWE9ZnVuY3Rpb24oKXtpZih0aGlzLnBvc2l0aW9uPT09dGhpcy50b2tlbnMubGVuZ3RoLTEpe3RoaXMucm9vdC50cmFpbGluZ0NvbW1hPSEwLHRoaXMucG9zaXRpb24rKztyZXR1cm59dGhpcy5jdXJyZW50Ll9pbmZlckVuZFBvc2l0aW9uKCk7dmFyIGk9bmV3IGZvLmRlZmF1bHQoe3NvdXJjZTp7c3RhcnQ6d2QodGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXSl9LHNvdXJjZUluZGV4OnRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24rMV1bTy5GSUVMRFMuU1RBUlRfUE9TXX0pO3RoaXMuY3VycmVudC5wYXJlbnQuYXBwZW5kKGkpLHRoaXMuY3VycmVudD1pLHRoaXMucG9zaXRpb24rK30sZS5jb21tZW50PWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jdXJyVG9rZW47dGhpcy5uZXdOb2RlKG5ldyBtZC5kZWZhdWx0KHt2YWx1ZTp0aGlzLmNvbnRlbnQoKSxzb3VyY2U6c3IoaSksc291cmNlSW5kZXg6aVtPLkZJRUxEUy5TVEFSVF9QT1NdfSkpLHRoaXMucG9zaXRpb24rK30sZS5lcnJvcj1mdW5jdGlvbihpLG4pe3Rocm93IHRoaXMucm9vdC5lcnJvcihpLG4pfSxlLm1pc3NpbmdCYWNrc2xhc2g9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcigiRXhwZWN0ZWQgYSBiYWNrc2xhc2ggcHJlY2VkaW5nIHRoZSBzZW1pY29sb24uIix7aW5kZXg6dGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXX0pfSxlLm1pc3NpbmdQYXJlbnRoZXNpcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmV4cGVjdGVkKCJvcGVuaW5nIHBhcmVudGhlc2lzIix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS5taXNzaW5nU3F1YXJlQnJhY2tldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmV4cGVjdGVkKCJvcGVuaW5nIHNxdWFyZSBicmFja2V0Iix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS51bmV4cGVjdGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXJyb3IoIlVuZXhwZWN0ZWQgJyIrdGhpcy5jb250ZW50KCkrIicuIEVzY2FwaW5nIHNwZWNpYWwgY2hhcmFjdGVycyB3aXRoIFxcIG1heSBoZWxwLiIsdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXSl9LGUudW5leHBlY3RlZFBpcGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcigiVW5leHBlY3RlZCAnfCcuIix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS5uYW1lc3BhY2U9ZnVuY3Rpb24oKXt2YXIgaT10aGlzLnByZXZUb2tlbiYmdGhpcy5jb250ZW50KHRoaXMucHJldlRva2VuKXx8ITA7aWYodGhpcy5uZXh0VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLndvcmQpcmV0dXJuIHRoaXMucG9zaXRpb24rKyx0aGlzLndvcmQoaSk7aWYodGhpcy5uZXh0VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLmFzdGVyaXNrKXJldHVybiB0aGlzLnBvc2l0aW9uKyssdGhpcy51bml2ZXJzYWwoaSk7dGhpcy51bmV4cGVjdGVkUGlwZSgpfSxlLm5lc3Rpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLm5leHRUb2tlbil7dmFyIGk9dGhpcy5jb250ZW50KHRoaXMubmV4dFRva2VuKTtpZihpPT09InwiKXt0aGlzLnBvc2l0aW9uKys7cmV0dXJufX12YXIgbj10aGlzLmN1cnJUb2tlbjt0aGlzLm5ld05vZGUobmV3IE5BLmRlZmF1bHQoe3ZhbHVlOnRoaXMuY29udGVudCgpLHNvdXJjZTpzcihuKSxzb3VyY2VJbmRleDpuW08uRklFTERTLlNUQVJUX1BPU119KSksdGhpcy5wb3NpdGlvbisrfSxlLnBhcmVudGhlc2VzPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jdXJyZW50Lmxhc3Qsbj0xO2lmKHRoaXMucG9zaXRpb24rKyxpJiZpLnR5cGU9PT1GQS5QU0VVRE8pe3ZhciBzPW5ldyBmby5kZWZhdWx0KHtzb3VyY2U6e3N0YXJ0OndkKHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb25dKX0sc291cmNlSW5kZXg6dGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbl1bTy5GSUVMRFMuU1RBUlRfUE9TXX0pLGE9dGhpcy5jdXJyZW50O2ZvcihpLmFwcGVuZChzKSx0aGlzLmN1cnJlbnQ9czt0aGlzLnBvc2l0aW9uPHRoaXMudG9rZW5zLmxlbmd0aCYmbjspdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpcyYmbisrLHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jbG9zZVBhcmVudGhlc2lzJiZuLS0sbj90aGlzLnBhcnNlKCk6KHRoaXMuY3VycmVudC5zb3VyY2UuZW5kPXZkKHRoaXMuY3VyclRva2VuKSx0aGlzLmN1cnJlbnQucGFyZW50LnNvdXJjZS5lbmQ9dmQodGhpcy5jdXJyVG9rZW4pLHRoaXMucG9zaXRpb24rKyk7dGhpcy5jdXJyZW50PWF9ZWxzZXtmb3IodmFyIG89dGhpcy5jdXJyVG9rZW4sbD0iKCIsYzt0aGlzLnBvc2l0aW9uPHRoaXMudG9rZW5zLmxlbmd0aCYmbjspdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpcyYmbisrLHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jbG9zZVBhcmVudGhlc2lzJiZuLS0sYz10aGlzLmN1cnJUb2tlbixsKz10aGlzLnBhcnNlUGFyZW50aGVzaXNUb2tlbih0aGlzLmN1cnJUb2tlbiksdGhpcy5wb3NpdGlvbisrO2k/aS5hcHBlbmRUb1Byb3BlcnR5QW5kRXNjYXBlKCJ2YWx1ZSIsbCxsKTp0aGlzLm5ld05vZGUobmV3IGNvLmRlZmF1bHQoe3ZhbHVlOmwsc291cmNlOkh0KG9bTy5GSUVMRFMuU1RBUlRfTElORV0sb1tPLkZJRUxEUy5TVEFSVF9DT0xdLGNbTy5GSUVMRFMuRU5EX0xJTkVdLGNbTy5GSUVMRFMuRU5EX0NPTF0pLHNvdXJjZUluZGV4Om9bTy5GSUVMRFMuU1RBUlRfUE9TXX0pKX1pZihuKXJldHVybiB0aGlzLmV4cGVjdGVkKCJjbG9zaW5nIHBhcmVudGhlc2lzIix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS5wc2V1ZG89ZnVuY3Rpb24oKXtmb3IodmFyIGk9dGhpcyxuPSIiLHM9dGhpcy5jdXJyVG9rZW47dGhpcy5jdXJyVG9rZW4mJnRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jb2xvbjspbis9dGhpcy5jb250ZW50KCksdGhpcy5wb3NpdGlvbisrO2lmKCF0aGlzLmN1cnJUb2tlbilyZXR1cm4gdGhpcy5leHBlY3RlZChbInBzZXVkby1jbGFzcyIsInBzZXVkby1lbGVtZW50Il0sdGhpcy5wb3NpdGlvbi0xKTtpZih0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXT09PXEud29yZCl0aGlzLnNwbGl0V29yZCghMSxmdW5jdGlvbihhLG8pe24rPWEsaS5uZXdOb2RlKG5ldyBMQS5kZWZhdWx0KHt2YWx1ZTpuLHNvdXJjZTpnbyhzLGkuY3VyclRva2VuKSxzb3VyY2VJbmRleDpzW08uRklFTERTLlNUQVJUX1BPU119KSksbz4xJiZpLm5leHRUb2tlbiYmaS5uZXh0VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpcyYmaS5lcnJvcigiTWlzcGxhY2VkIHBhcmVudGhlc2lzLiIse2luZGV4OmkubmV4dFRva2VuW08uRklFTERTLlNUQVJUX1BPU119KX0pO2Vsc2UgcmV0dXJuIHRoaXMuZXhwZWN0ZWQoWyJwc2V1ZG8tY2xhc3MiLCJwc2V1ZG8tZWxlbWVudCJdLHRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX1BPU10pfSxlLnNwYWNlPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jb250ZW50KCk7dGhpcy5wb3NpdGlvbj09PTB8fHRoaXMucHJldlRva2VuW08uRklFTERTLlRZUEVdPT09cS5jb21tYXx8dGhpcy5wcmV2VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpc3x8dGhpcy5jdXJyZW50Lm5vZGVzLmV2ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBuLnR5cGU9PT0iY29tbWVudCJ9KT8odGhpcy5zcGFjZXM9dGhpcy5vcHRpb25hbFNwYWNlKGkpLHRoaXMucG9zaXRpb24rKyk6dGhpcy5wb3NpdGlvbj09PXRoaXMudG9rZW5zLmxlbmd0aC0xfHx0aGlzLm5leHRUb2tlbltPLkZJRUxEUy5UWVBFXT09PXEuY29tbWF8fHRoaXMubmV4dFRva2VuW08uRklFTERTLlRZUEVdPT09cS5jbG9zZVBhcmVudGhlc2lzPyh0aGlzLmN1cnJlbnQubGFzdC5zcGFjZXMuYWZ0ZXI9dGhpcy5vcHRpb25hbFNwYWNlKGkpLHRoaXMucG9zaXRpb24rKyk6dGhpcy5jb21iaW5hdG9yKCl9LGUuc3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jdXJyVG9rZW47dGhpcy5uZXdOb2RlKG5ldyBjby5kZWZhdWx0KHt2YWx1ZTp0aGlzLmNvbnRlbnQoKSxzb3VyY2U6c3IoaSksc291cmNlSW5kZXg6aVtPLkZJRUxEUy5TVEFSVF9QT1NdfSkpLHRoaXMucG9zaXRpb24rK30sZS51bml2ZXJzYWw9ZnVuY3Rpb24oaSl7dmFyIG49dGhpcy5uZXh0VG9rZW47aWYobiYmdGhpcy5jb250ZW50KG4pPT09InwiKXJldHVybiB0aGlzLnBvc2l0aW9uKyssdGhpcy5uYW1lc3BhY2UoKTt2YXIgcz10aGlzLmN1cnJUb2tlbjt0aGlzLm5ld05vZGUobmV3IE1BLmRlZmF1bHQoe3ZhbHVlOnRoaXMuY29udGVudCgpLHNvdXJjZTpzcihzKSxzb3VyY2VJbmRleDpzW08uRklFTERTLlNUQVJUX1BPU119KSxpKSx0aGlzLnBvc2l0aW9uKyt9LGUuc3BsaXRXb3JkPWZ1bmN0aW9uKGksbil7Zm9yKHZhciBzPXRoaXMsYT10aGlzLm5leHRUb2tlbixvPXRoaXMuY29udGVudCgpO2EmJn5bcS5kb2xsYXIscS5jYXJldCxxLmVxdWFscyxxLndvcmRdLmluZGV4T2YoYVtPLkZJRUxEUy5UWVBFXSk7KXt0aGlzLnBvc2l0aW9uKys7dmFyIGw9dGhpcy5jb250ZW50KCk7aWYobys9bCxsLmxhc3RJbmRleE9mKCJcXCIpPT09bC5sZW5ndGgtMSl7dmFyIGM9dGhpcy5uZXh0VG9rZW47YyYmY1tPLkZJRUxEUy5UWVBFXT09PXEuc3BhY2UmJihvKz10aGlzLnJlcXVpcmVkU3BhY2UodGhpcy5jb250ZW50KGMpKSx0aGlzLnBvc2l0aW9uKyspfWE9dGhpcy5uZXh0VG9rZW59dmFyIGY9eW8obywiLiIpLmZpbHRlcihmdW5jdGlvbihiKXt2YXIgdj1vW2ItMV09PT0iXFwiLHk9L15cZCtcLlxkKyUkLy50ZXN0KG8pO3JldHVybiF2JiYheX0pLGQ9eW8obywiIyIpLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gb1tiLTFdIT09IlxcIn0pLHA9eW8obywiI3siKTtwLmxlbmd0aCYmKGQ9ZC5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIX5wLmluZGV4T2YoYil9KSk7dmFyIGg9KDAsQkEuZGVmYXVsdCkoVUEoWzBdLmNvbmNhdChmLGQpKSk7aC5mb3JFYWNoKGZ1bmN0aW9uKGIsdil7dmFyIHk9aFt2KzFdfHxvLmxlbmd0aCx3PW8uc2xpY2UoYix5KTtpZih2PT09MCYmbilyZXR1cm4gbi5jYWxsKHMsdyxoLmxlbmd0aCk7dmFyIGssUz1zLmN1cnJUb2tlbixFPVNbTy5GSUVMRFMuU1RBUlRfUE9TXStoW3ZdLFQ9SHQoU1sxXSxTWzJdK2IsU1szXSxTWzJdKyh5LTEpKTtpZih+Zi5pbmRleE9mKGIpKXt2YXIgQj17dmFsdWU6dy5zbGljZSgxKSxzb3VyY2U6VCxzb3VyY2VJbmRleDpFfTtrPW5ldyBEQS5kZWZhdWx0KGFyKEIsInZhbHVlIikpfWVsc2UgaWYofmQuaW5kZXhPZihiKSl7dmFyIE49e3ZhbHVlOncuc2xpY2UoMSksc291cmNlOlQsc291cmNlSW5kZXg6RX07az1uZXcgcUEuZGVmYXVsdChhcihOLCJ2YWx1ZSIpKX1lbHNle3ZhciBSPXt2YWx1ZTp3LHNvdXJjZTpULHNvdXJjZUluZGV4OkV9O2FyKFIsInZhbHVlIiksaz1uZXcgJEEuZGVmYXVsdChSKX1zLm5ld05vZGUoayxpKSxpPW51bGx9KSx0aGlzLnBvc2l0aW9uKyt9LGUud29yZD1mdW5jdGlvbihpKXt2YXIgbj10aGlzLm5leHRUb2tlbjtyZXR1cm4gbiYmdGhpcy5jb250ZW50KG4pPT09InwiPyh0aGlzLnBvc2l0aW9uKyssdGhpcy5uYW1lc3BhY2UoKSk6dGhpcy5zcGxpdFdvcmQoaSl9LGUubG9vcD1mdW5jdGlvbigpe2Zvcig7dGhpcy5wb3NpdGlvbjx0aGlzLnRva2Vucy5sZW5ndGg7KXRoaXMucGFyc2UoITApO3JldHVybiB0aGlzLmN1cnJlbnQuX2luZmVyRW5kUG9zaXRpb24oKSx0aGlzLnJvb3R9LGUucGFyc2U9ZnVuY3Rpb24oaSl7c3dpdGNoKHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdKXtjYXNlIHEuc3BhY2U6dGhpcy5zcGFjZSgpO2JyZWFrO2Nhc2UgcS5jb21tZW50OnRoaXMuY29tbWVudCgpO2JyZWFrO2Nhc2UgcS5vcGVuUGFyZW50aGVzaXM6dGhpcy5wYXJlbnRoZXNlcygpO2JyZWFrO2Nhc2UgcS5jbG9zZVBhcmVudGhlc2lzOmkmJnRoaXMubWlzc2luZ1BhcmVudGhlc2lzKCk7YnJlYWs7Y2FzZSBxLm9wZW5TcXVhcmU6dGhpcy5hdHRyaWJ1dGUoKTticmVhaztjYXNlIHEuZG9sbGFyOmNhc2UgcS5jYXJldDpjYXNlIHEuZXF1YWxzOmNhc2UgcS53b3JkOnRoaXMud29yZCgpO2JyZWFrO2Nhc2UgcS5jb2xvbjp0aGlzLnBzZXVkbygpO2JyZWFrO2Nhc2UgcS5jb21tYTp0aGlzLmNvbW1hKCk7YnJlYWs7Y2FzZSBxLmFzdGVyaXNrOnRoaXMudW5pdmVyc2FsKCk7YnJlYWs7Y2FzZSBxLmFtcGVyc2FuZDp0aGlzLm5lc3RpbmcoKTticmVhaztjYXNlIHEuc2xhc2g6Y2FzZSBxLmNvbWJpbmF0b3I6dGhpcy5jb21iaW5hdG9yKCk7YnJlYWs7Y2FzZSBxLnN0cjp0aGlzLnN0cmluZygpO2JyZWFrO2Nhc2UgcS5jbG9zZVNxdWFyZTp0aGlzLm1pc3NpbmdTcXVhcmVCcmFja2V0KCk7Y2FzZSBxLnNlbWljb2xvbjp0aGlzLm1pc3NpbmdCYWNrc2xhc2goKTtkZWZhdWx0OnRoaXMudW5leHBlY3RlZCgpfX0sZS5leHBlY3RlZD1mdW5jdGlvbihpLG4scyl7aWYoQXJyYXkuaXNBcnJheShpKSl7dmFyIGE9aS5wb3AoKTtpPWkuam9pbigiLCAiKSsiIG9yICIrYX12YXIgbz0vXlthZWlvdV0vLnRlc3QoaVswXSk/ImFuIjoiYSI7cmV0dXJuIHM/dGhpcy5lcnJvcigiRXhwZWN0ZWQgIitvKyIgIitpKycsIGZvdW5kICInK3MrJyIgaW5zdGVhZC4nLHtpbmRleDpufSk6dGhpcy5lcnJvcigiRXhwZWN0ZWQgIitvKyIgIitpKyIuIix7aW5kZXg6bn0pfSxlLnJlcXVpcmVkU3BhY2U9ZnVuY3Rpb24oaSl7cmV0dXJuIHRoaXMub3B0aW9ucy5sb3NzeT8iICI6aX0sZS5vcHRpb25hbFNwYWNlPWZ1bmN0aW9uKGkpe3JldHVybiB0aGlzLm9wdGlvbnMubG9zc3k/IiI6aX0sZS5sb3NzeVNwYWNlPWZ1bmN0aW9uKGksbil7cmV0dXJuIHRoaXMub3B0aW9ucy5sb3NzeT9uPyIgIjoiIjppfSxlLnBhcnNlUGFyZW50aGVzaXNUb2tlbj1mdW5jdGlvbihpKXt2YXIgbj10aGlzLmNvbnRlbnQoaSk7cmV0dXJuIGlbTy5GSUVMRFMuVFlQRV09PT1xLnNwYWNlP3RoaXMucmVxdWlyZWRTcGFjZShuKTpufSxlLm5ld05vZGU9ZnVuY3Rpb24oaSxuKXtyZXR1cm4gbiYmKC9eICskLy50ZXN0KG4pJiYodGhpcy5vcHRpb25zLmxvc3N5fHwodGhpcy5zcGFjZXM9KHRoaXMuc3BhY2VzfHwiIikrbiksbj0hMCksaS5uYW1lc3BhY2U9bixhcihpLCJuYW1lc3BhY2UiKSksdGhpcy5zcGFjZXMmJihpLnNwYWNlcy5iZWZvcmU9dGhpcy5zcGFjZXMsdGhpcy5zcGFjZXM9IiIpLHRoaXMuY3VycmVudC5hcHBlbmQoaSl9LGUuY29udGVudD1mdW5jdGlvbihpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9dGhpcy5jdXJyVG9rZW4pLHRoaXMuY3NzLnNsaWNlKGlbTy5GSUVMRFMuU1RBUlRfUE9TXSxpW08uRklFTERTLkVORF9QT1NdKX0sZS5sb2NhdGVOZXh0TWVhbmluZ2Z1bFRva2VuPWZ1bmN0aW9uKGkpe2k9PT12b2lkIDAmJihpPXRoaXMucG9zaXRpb24rMSk7Zm9yKHZhciBuPWk7bjx0aGlzLnRva2Vucy5sZW5ndGg7KWlmKHpBW3RoaXMudG9rZW5zW25dW08uRklFTERTLlRZUEVdXSl7bisrO2NvbnRpbnVlfWVsc2UgcmV0dXJuIG47cmV0dXJuLTF9LGpBKHIsW3trZXk6ImN1cnJUb2tlbiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb25dfX0se2tleToibmV4dFRva2VuIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXX19LHtrZXk6InByZXZUb2tlbiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24tMV19fV0pLHJ9KCk7a2kuZGVmYXVsdD1WQTt4ZC5leHBvcnRzPWtpLmRlZmF1bHR9KTt2YXIgQWQ9eCgoU2ksU2QpPT57dSgpOyJ1c2Ugc3RyaWN0IjtTaS5fX2VzTW9kdWxlPSEwO1NpLmRlZmF1bHQ9dm9pZCAwO3ZhciBIQT1XQShrZCgpKTtmdW5jdGlvbiBXQShyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19dmFyIEdBPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0LGkpe3RoaXMuZnVuYz10fHxmdW5jdGlvbigpe30sdGhpcy5mdW5jUmVzPW51bGwsdGhpcy5vcHRpb25zPWl9dmFyIGU9ci5wcm90b3R5cGU7cmV0dXJuIGUuX3Nob3VsZFVwZGF0ZVNlbGVjdG9yPWZ1bmN0aW9uKGksbil7bj09PXZvaWQgMCYmKG49e30pO3ZhciBzPU9iamVjdC5hc3NpZ24oe30sdGhpcy5vcHRpb25zLG4pO3JldHVybiBzLnVwZGF0ZVNlbGVjdG9yPT09ITE/ITE6dHlwZW9mIGkhPSJzdHJpbmcifSxlLl9pc0xvc3N5PWZ1bmN0aW9uKGkpe2k9PT12b2lkIDAmJihpPXt9KTt2YXIgbj1PYmplY3QuYXNzaWduKHt9LHRoaXMub3B0aW9ucyxpKTtyZXR1cm4gbi5sb3NzbGVzcz09PSExfSxlLl9yb290PWZ1bmN0aW9uKGksbil7bj09PXZvaWQgMCYmKG49e30pO3ZhciBzPW5ldyBIQS5kZWZhdWx0KGksdGhpcy5fcGFyc2VPcHRpb25zKG4pKTtyZXR1cm4gcy5yb290fSxlLl9wYXJzZU9wdGlvbnM9ZnVuY3Rpb24oaSl7cmV0dXJue2xvc3N5OnRoaXMuX2lzTG9zc3koaSl9fSxlLl9ydW49ZnVuY3Rpb24oaSxuKXt2YXIgcz10aGlzO3JldHVybiBuPT09dm9pZCAwJiYobj17fSksbmV3IFByb21pc2UoZnVuY3Rpb24oYSxvKXt0cnl7dmFyIGw9cy5fcm9vdChpLG4pO1Byb21pc2UucmVzb2x2ZShzLmZ1bmMobCkpLnRoZW4oZnVuY3Rpb24oYyl7dmFyIGY9dm9pZCAwO3JldHVybiBzLl9zaG91bGRVcGRhdGVTZWxlY3RvcihpLG4pJiYoZj1sLnRvU3RyaW5nKCksaS5zZWxlY3Rvcj1mKSx7dHJhbnNmb3JtOmMscm9vdDpsLHN0cmluZzpmfX0pLnRoZW4oYSxvKX1jYXRjaChjKXtvKGMpO3JldHVybn19KX0sZS5fcnVuU3luYz1mdW5jdGlvbihpLG4pe249PT12b2lkIDAmJihuPXt9KTt2YXIgcz10aGlzLl9yb290KGksbiksYT10aGlzLmZ1bmMocyk7aWYoYSYmdHlwZW9mIGEudGhlbj09ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoIlNlbGVjdG9yIHByb2Nlc3NvciByZXR1cm5lZCBhIHByb21pc2UgdG8gYSBzeW5jaHJvbm91cyBjYWxsLiIpO3ZhciBvPXZvaWQgMDtyZXR1cm4gbi51cGRhdGVTZWxlY3RvciYmdHlwZW9mIGkhPSJzdHJpbmciJiYobz1zLnRvU3RyaW5nKCksaS5zZWxlY3Rvcj1vKSx7dHJhbnNmb3JtOmEscm9vdDpzLHN0cmluZzpvfX0sZS5hc3Q9ZnVuY3Rpb24oaSxuKXtyZXR1cm4gdGhpcy5fcnVuKGksbikudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5yb290fSl9LGUuYXN0U3luYz1mdW5jdGlvbihpLG4pe3JldHVybiB0aGlzLl9ydW5TeW5jKGksbikucm9vdH0sZS50cmFuc2Zvcm09ZnVuY3Rpb24oaSxuKXtyZXR1cm4gdGhpcy5fcnVuKGksbikudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy50cmFuc2Zvcm19KX0sZS50cmFuc2Zvcm1TeW5jPWZ1bmN0aW9uKGksbil7cmV0dXJuIHRoaXMuX3J1blN5bmMoaSxuKS50cmFuc2Zvcm19LGUucHJvY2Vzcz1mdW5jdGlvbihpLG4pe3JldHVybiB0aGlzLl9ydW4oaSxuKS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLnN0cmluZ3x8cy5yb290LnRvU3RyaW5nKCl9KX0sZS5wcm9jZXNzU3luYz1mdW5jdGlvbihpLG4pe3ZhciBzPXRoaXMuX3J1blN5bmMoaSxuKTtyZXR1cm4gcy5zdHJpbmd8fHMucm9vdC50b1N0cmluZygpfSxyfSgpO1NpLmRlZmF1bHQ9R0E7U2QuZXhwb3J0cz1TaS5kZWZhdWx0fSk7dmFyIENkPXgobmU9Pnt1KCk7InVzZSBzdHJpY3QiO25lLl9fZXNNb2R1bGU9ITA7bmUudW5pdmVyc2FsPW5lLnRhZz1uZS5zdHJpbmc9bmUuc2VsZWN0b3I9bmUucm9vdD1uZS5wc2V1ZG89bmUubmVzdGluZz1uZS5pZD1uZS5jb21tZW50PW5lLmNvbWJpbmF0b3I9bmUuY2xhc3NOYW1lPW5lLmF0dHJpYnV0ZT12b2lkIDA7dmFyIFFBPXplKHRvKCkpLFlBPXplKE5hKCkpLEtBPXplKHNvKCkpLFhBPXplKEZhKCkpLFpBPXplKHphKCkpLEpBPXplKG9vKCkpLGVDPXplKFlhKCkpLHRDPXplKERhKCkpLHJDPXplKCRhKCkpLGlDPXplKEdhKCkpLG5DPXplKEhhKCkpLHNDPXplKGlvKCkpO2Z1bmN0aW9uIHplKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX12YXIgYUM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBRQS5kZWZhdWx0KGUpfTtuZS5hdHRyaWJ1dGU9YUM7dmFyIG9DPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgWUEuZGVmYXVsdChlKX07bmUuY2xhc3NOYW1lPW9DO3ZhciBsQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IEtBLmRlZmF1bHQoZSl9O25lLmNvbWJpbmF0b3I9bEM7dmFyIHVDPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgWEEuZGVmYXVsdChlKX07bmUuY29tbWVudD11Qzt2YXIgZkM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBaQS5kZWZhdWx0KGUpfTtuZS5pZD1mQzt2YXIgY0M9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBKQS5kZWZhdWx0KGUpfTtuZS5uZXN0aW5nPWNDO3ZhciBwQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGVDLmRlZmF1bHQoZSl9O25lLnBzZXVkbz1wQzt2YXIgZEM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0Qy5kZWZhdWx0KGUpfTtuZS5yb290PWRDO3ZhciBoQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHJDLmRlZmF1bHQoZSl9O25lLnNlbGVjdG9yPWhDO3ZhciBtQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGlDLmRlZmF1bHQoZSl9O25lLnN0cmluZz1tQzt2YXIgZ0M9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBuQy5kZWZhdWx0KGUpfTtuZS50YWc9Z0M7dmFyIHlDPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgc0MuZGVmYXVsdChlKX07bmUudW5pdmVyc2FsPXlDfSk7dmFyIFRkPXgoWj0+e3UoKTsidXNlIHN0cmljdCI7Wi5fX2VzTW9kdWxlPSEwO1ouaXNDb21tZW50PVouaXNDb21iaW5hdG9yPVouaXNDbGFzc05hbWU9Wi5pc0F0dHJpYnV0ZT12b2lkIDA7Wi5pc0NvbnRhaW5lcj1UQztaLmlzSWRlbnRpZmllcj12b2lkIDA7Wi5pc05hbWVzcGFjZT1SQztaLmlzTmVzdGluZz12b2lkIDA7Wi5pc05vZGU9Ym87Wi5pc1BzZXVkbz12b2lkIDA7Wi5pc1BzZXVkb0NsYXNzPU9DO1ouaXNQc2V1ZG9FbGVtZW50PU9kO1ouaXNVbml2ZXJzYWw9Wi5pc1RhZz1aLmlzU3RyaW5nPVouaXNTZWxlY3Rvcj1aLmlzUm9vdD12b2lkIDA7dmFyIGZlPVNlKCksT2UsYkM9KE9lPXt9LE9lW2ZlLkFUVFJJQlVURV09ITAsT2VbZmUuQ0xBU1NdPSEwLE9lW2ZlLkNPTUJJTkFUT1JdPSEwLE9lW2ZlLkNPTU1FTlRdPSEwLE9lW2ZlLklEXT0hMCxPZVtmZS5ORVNUSU5HXT0hMCxPZVtmZS5QU0VVRE9dPSEwLE9lW2ZlLlJPT1RdPSEwLE9lW2ZlLlNFTEVDVE9SXT0hMCxPZVtmZS5TVFJJTkddPSEwLE9lW2ZlLlRBR109ITAsT2VbZmUuVU5JVkVSU0FMXT0hMCxPZSk7ZnVuY3Rpb24gYm8ocil7cmV0dXJuIHR5cGVvZiByPT0ib2JqZWN0IiYmYkNbci50eXBlXX1mdW5jdGlvbiBVZShyLGUpe3JldHVybiBibyhlKSYmZS50eXBlPT09cn12YXIgX2Q9VWUuYmluZChudWxsLGZlLkFUVFJJQlVURSk7Wi5pc0F0dHJpYnV0ZT1fZDt2YXIgd0M9VWUuYmluZChudWxsLGZlLkNMQVNTKTtaLmlzQ2xhc3NOYW1lPXdDO3ZhciB2Qz1VZS5iaW5kKG51bGwsZmUuQ09NQklOQVRPUik7Wi5pc0NvbWJpbmF0b3I9dkM7dmFyIHhDPVVlLmJpbmQobnVsbCxmZS5DT01NRU5UKTtaLmlzQ29tbWVudD14Qzt2YXIga0M9VWUuYmluZChudWxsLGZlLklEKTtaLmlzSWRlbnRpZmllcj1rQzt2YXIgU0M9VWUuYmluZChudWxsLGZlLk5FU1RJTkcpO1ouaXNOZXN0aW5nPVNDO3ZhciB3bz1VZS5iaW5kKG51bGwsZmUuUFNFVURPKTtaLmlzUHNldWRvPXdvO3ZhciBBQz1VZS5iaW5kKG51bGwsZmUuUk9PVCk7Wi5pc1Jvb3Q9QUM7dmFyIENDPVVlLmJpbmQobnVsbCxmZS5TRUxFQ1RPUik7Wi5pc1NlbGVjdG9yPUNDO3ZhciBfQz1VZS5iaW5kKG51bGwsZmUuU1RSSU5HKTtaLmlzU3RyaW5nPV9DO3ZhciBFZD1VZS5iaW5kKG51bGwsZmUuVEFHKTtaLmlzVGFnPUVkO3ZhciBFQz1VZS5iaW5kKG51bGwsZmUuVU5JVkVSU0FMKTtaLmlzVW5pdmVyc2FsPUVDO2Z1bmN0aW9uIE9kKHIpe3JldHVybiB3byhyKSYmci52YWx1ZSYmKHIudmFsdWUuc3RhcnRzV2l0aCgiOjoiKXx8ci52YWx1ZS50b0xvd2VyQ2FzZSgpPT09IjpiZWZvcmUifHxyLnZhbHVlLnRvTG93ZXJDYXNlKCk9PT0iOmFmdGVyInx8ci52YWx1ZS50b0xvd2VyQ2FzZSgpPT09IjpmaXJzdC1sZXR0ZXIifHxyLnZhbHVlLnRvTG93ZXJDYXNlKCk9PT0iOmZpcnN0LWxpbmUiKX1mdW5jdGlvbiBPQyhyKXtyZXR1cm4gd28ocikmJiFPZChyKX1mdW5jdGlvbiBUQyhyKXtyZXR1cm4hIShibyhyKSYmci53YWxrKX1mdW5jdGlvbiBSQyhyKXtyZXR1cm4gX2Qocil8fEVkKHIpfX0pO3ZhciBSZD14KEtlPT57dSgpOyJ1c2Ugc3RyaWN0IjtLZS5fX2VzTW9kdWxlPSEwO3ZhciB2bz1TZSgpO09iamVjdC5rZXlzKHZvKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3I9PT0iZGVmYXVsdCJ8fHI9PT0iX19lc01vZHVsZSJ8fHIgaW4gS2UmJktlW3JdPT09dm9bcl18fChLZVtyXT12b1tyXSl9KTt2YXIgeG89Q2QoKTtPYmplY3Qua2V5cyh4bykuZm9yRWFjaChmdW5jdGlvbihyKXtyPT09ImRlZmF1bHQifHxyPT09Il9fZXNNb2R1bGUifHxyIGluIEtlJiZLZVtyXT09PXhvW3JdfHwoS2Vbcl09eG9bcl0pfSk7dmFyIGtvPVRkKCk7T2JqZWN0LmtleXMoa28pLmZvckVhY2goZnVuY3Rpb24ocil7cj09PSJkZWZhdWx0Inx8cj09PSJfX2VzTW9kdWxlInx8ciBpbiBLZSYmS2Vbcl09PT1rb1tyXXx8KEtlW3JdPWtvW3JdKX0pfSk7dmFyIGl0PXgoKEFpLElkKT0+e3UoKTsidXNlIHN0cmljdCI7QWkuX19lc01vZHVsZT0hMDtBaS5kZWZhdWx0PXZvaWQgMDt2YXIgUEM9cUMoQWQoKSksSUM9REMoUmQoKSk7ZnVuY3Rpb24gUGQocil7aWYodHlwZW9mIFdlYWtNYXAhPSJmdW5jdGlvbiIpcmV0dXJuIG51bGw7dmFyIGU9bmV3IFdlYWtNYXAsdD1uZXcgV2Vha01hcDtyZXR1cm4oUGQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/dDplfSkocil9ZnVuY3Rpb24gREMocixlKXtpZighZSYmciYmci5fX2VzTW9kdWxlKXJldHVybiByO2lmKHI9PT1udWxsfHx0eXBlb2YgciE9Im9iamVjdCImJnR5cGVvZiByIT0iZnVuY3Rpb24iKXJldHVybntkZWZhdWx0OnJ9O3ZhciB0PVBkKGUpO2lmKHQmJnQuaGFzKHIpKXJldHVybiB0LmdldChyKTt2YXIgaT17fSxuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtmb3IodmFyIHMgaW4gcilpZihzIT09ImRlZmF1bHQiJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixzKSl7dmFyIGE9bj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIscyk6bnVsbDthJiYoYS5nZXR8fGEuc2V0KT9PYmplY3QuZGVmaW5lUHJvcGVydHkoaSxzLGEpOmlbc109cltzXX1yZXR1cm4gaS5kZWZhdWx0PXIsdCYmdC5zZXQocixpKSxpfWZ1bmN0aW9uIHFDKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX12YXIgU289ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQQy5kZWZhdWx0KGUpfTtPYmplY3QuYXNzaWduKFNvLElDKTtkZWxldGUgU28uX19lc01vZHVsZTt2YXIgJEM9U287QWkuZGVmYXVsdD0kQztJZC5leHBvcnRzPUFpLmRlZmF1bHR9KTtmdW5jdGlvbiBtdChyKXtyZXR1cm5bImZvbnRTaXplIiwib3V0bGluZSJdLmluY2x1ZGVzKHIpP2U9Pih0eXBlb2YgZT09ImZ1bmN0aW9uIiYmKGU9ZSh7fSkpLEFycmF5LmlzQXJyYXkoZSkmJihlPWVbMF0pLGUpOnI9PT0iZm9udEZhbWlseSI/ZT0+e3R5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHt9KSk7bGV0IHQ9QXJyYXkuaXNBcnJheShlKSYma2UoZVsxXSk/ZVswXTplO3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Quam9pbigiLCAiKTp0fTpbImJveFNoYWRvdyIsInRyYW5zaXRpb25Qcm9wZXJ0eSIsInRyYW5zaXRpb25EdXJhdGlvbiIsInRyYW5zaXRpb25EZWxheSIsInRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiIsImJhY2tncm91bmRJbWFnZSIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZENvbG9yIiwiY3Vyc29yIiwiYW5pbWF0aW9uIl0uaW5jbHVkZXMocik/ZT0+KHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHt9KSksQXJyYXkuaXNBcnJheShlKSYmKGU9ZS5qb2luKCIsICIpKSxlKTpbImdyaWRUZW1wbGF0ZUNvbHVtbnMiLCJncmlkVGVtcGxhdGVSb3dzIiwib2JqZWN0UG9zaXRpb24iXS5pbmNsdWRlcyhyKT9lPT4odHlwZW9mIGU9PSJmdW5jdGlvbiImJihlPWUoe30pKSx0eXBlb2YgZT09InN0cmluZyImJihlPWVlLmxpc3QuY29tbWEoZSkuam9pbigiICIpKSxlKTooZSx0PXt9KT0+KHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHQpKSxlKX12YXIgQ2k9UCgoKT0+e3UoKTtPdCgpO0t0KCl9KTt2YXIgQmQ9eCgoTUksT28pPT57dSgpO3ZhcntBdFJ1bGU6TEMsUnVsZTpEZH09JGUoKSxxZD1pdCgpO2Z1bmN0aW9uIEFvKHIsZSl7bGV0IHQ7dHJ5e3FkKGk9Pnt0PWl9KS5wcm9jZXNzU3luYyhyKX1jYXRjaChpKXt0aHJvdyByLmluY2x1ZGVzKCI6Iik/ZT9lLmVycm9yKCJNaXNzZWQgc2VtaWNvbG9uIik6aTplP2UuZXJyb3IoaS5tZXNzYWdlKTppfXJldHVybiB0LmF0KDApfWZ1bmN0aW9uICRkKHIsZSl7bGV0IHQ9ITE7cmV0dXJuIHIuZWFjaChpPT57aWYoaS50eXBlPT09Im5lc3RpbmciKXtsZXQgbj1lLmNsb25lKHt9KTtpLnZhbHVlIT09IiYiP2kucmVwbGFjZVdpdGgoQW8oaS52YWx1ZS5yZXBsYWNlKCImIixuLnRvU3RyaW5nKCkpKSk6aS5yZXBsYWNlV2l0aChuKSx0PSEwfWVsc2Uibm9kZXMiaW4gaSYmaS5ub2RlcyYmJGQoaSxlKSYmKHQ9ITApfSksdH1mdW5jdGlvbiBMZChyLGUpe2xldCB0PVtdO3JldHVybiByLnNlbGVjdG9ycy5mb3JFYWNoKGk9PntsZXQgbj1BbyhpLHIpO2Uuc2VsZWN0b3JzLmZvckVhY2gocz0+e2lmKCFzKXJldHVybjtsZXQgYT1BbyhzLGUpOyRkKGEsbil8fChhLnByZXBlbmQocWQuY29tYmluYXRvcih7dmFsdWU6IiAifSkpLGEucHJlcGVuZChuLmNsb25lKHt9KSkpLHQucHVzaChhLnRvU3RyaW5nKCkpfSl9KSx0fWZ1bmN0aW9uIEhuKHIsZSl7bGV0IHQ9ci5wcmV2KCk7Zm9yKGUuYWZ0ZXIocik7dCYmdC50eXBlPT09ImNvbW1lbnQiOyl7bGV0IGk9dC5wcmV2KCk7ZS5hZnRlcih0KSx0PWl9cmV0dXJuIHJ9ZnVuY3Rpb24gTUMocil7cmV0dXJuIGZ1bmN0aW9uIGUodCxpLG4scz1uKXtsZXQgYT1bXTtpZihpLmVhY2gobz0+e28udHlwZT09PSJydWxlIiYmbj9zJiYoby5zZWxlY3RvcnM9TGQodCxvKSk6by50eXBlPT09ImF0cnVsZSImJm8ubm9kZXM/cltvLm5hbWVdP2UodCxvLHMpOmlbX29dIT09ITEmJmEucHVzaChvKTphLnB1c2gobyl9KSxuJiZhLmxlbmd0aCl7bGV0IG89dC5jbG9uZSh7bm9kZXM6W119KTtmb3IobGV0IGwgb2YgYSlvLmFwcGVuZChsKTtpLnByZXBlbmQobyl9fX1mdW5jdGlvbiBDbyhyLGUsdCl7bGV0IGk9bmV3IERkKHtub2RlczpbXSxzZWxlY3RvcjpyfSk7cmV0dXJuIGkuYXBwZW5kKGUpLHQuYWZ0ZXIoaSksaX1mdW5jdGlvbiBNZChyLGUpe2xldCB0PXt9O2ZvcihsZXQgaSBvZiByKXRbaV09ITA7aWYoZSlmb3IobGV0IGkgb2YgZSl0W2kucmVwbGFjZSgvXkAvLCIiKV09ITA7cmV0dXJuIHR9ZnVuY3Rpb24gTkMocil7cj1yLnRyaW0oKTtsZXQgZT1yLm1hdGNoKC9eXCgoLiopXCkkLyk7aWYoIWUpcmV0dXJue3NlbGVjdG9yOnIsdHlwZToiYmFzaWMifTtsZXQgdD1lWzFdLm1hdGNoKC9eKHdpdGgoPzpvdXQpPyk6KC4rKSQvKTtpZih0KXtsZXQgaT10WzFdPT09IndpdGgiLG49T2JqZWN0LmZyb21FbnRyaWVzKHRbMl0udHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoYT0+W2EsITBdKSk7aWYoaSYmbi5hbGwpcmV0dXJue3R5cGU6Im5vb3AifTtsZXQgcz1hPT4hIW5bYV07cmV0dXJuIG4uYWxsP3M9KCk9PiEwOmkmJihzPWE9PmE9PT0iYWxsIj8hMTohblthXSkse2VzY2FwZXM6cyx0eXBlOiJ3aXRocnVsZXMifX1yZXR1cm57dHlwZToidW5rbm93biJ9fWZ1bmN0aW9uIEJDKHIpe2xldCBlPVtdLHQ9ci5wYXJlbnQ7Zm9yKDt0JiZ0IGluc3RhbmNlb2YgTEM7KWUucHVzaCh0KSx0PXQucGFyZW50O3JldHVybiBlfWZ1bmN0aW9uIEZDKHIpe2xldCBlPXJbTmRdO2lmKCFlKXIuYWZ0ZXIoci5ub2Rlcyk7ZWxzZXtsZXQgdD1yLm5vZGVzLGksbj0tMSxzLGEsbyxsPUJDKHIpO2lmKGwuZm9yRWFjaCgoYyxmKT0+e2lmKGUoYy5uYW1lKSlpPWMsbj1mLGE9bztlbHNle2xldCBkPW87bz1jLmNsb25lKHtub2RlczpbXX0pLGQmJm8uYXBwZW5kKGQpLHM9c3x8b319KSxpP2E/KHMuYXBwZW5kKHQpLGkuYWZ0ZXIoYSkpOmkuYWZ0ZXIodCk6ci5hZnRlcih0KSxyLm5leHQoKSYmaSl7bGV0IGM7bC5zbGljZSgwLG4rMSkuZm9yRWFjaCgoZixkLHApPT57bGV0IGg9YztjPWYuY2xvbmUoe25vZGVzOltdfSksaCYmYy5hcHBlbmQoaCk7bGV0IGI9W10seT0ocFtkLTFdfHxyKS5uZXh0KCk7Zm9yKDt5OyliLnB1c2goeSkseT15Lm5leHQoKTtjLmFwcGVuZChiKX0pLGMmJihhfHx0W3QubGVuZ3RoLTFdKS5hZnRlcihjKX19ci5yZW1vdmUoKX12YXIgX289U3ltYm9sKCJyb290UnVsZU1lcmdlU2VsIiksTmQ9U3ltYm9sKCJyb290UnVsZUVzY2FwZXMiKTtmdW5jdGlvbiBqQyhyKXtsZXR7cGFyYW1zOmV9PXIse2VzY2FwZXM6dCxzZWxlY3RvcjppLHR5cGU6bn09TkMoZSk7aWYobj09PSJ1bmtub3duIil0aHJvdyByLmVycm9yKGBVbmtub3duIEAke3IubmFtZX0gcGFyYW1ldGVyICR7SlNPTi5zdHJpbmdpZnkoZSl9YCk7aWYobj09PSJiYXNpYyImJmkpe2xldCBzPW5ldyBEZCh7bm9kZXM6ci5ub2RlcyxzZWxlY3RvcjppfSk7ci5yZW1vdmVBbGwoKSxyLmFwcGVuZChzKX1yW05kXT10LHJbX29dPXQ/IXQoImFsbCIpOm49PT0ibm9vcCJ9dmFyIEVvPVN5bWJvbCgiaGFzUm9vdFJ1bGUiKTtPby5leHBvcnRzPShyPXt9KT0+e2xldCBlPU1kKFsibWVkaWEiLCJzdXBwb3J0cyIsImxheWVyIiwiY29udGFpbmVyIiwic3RhcnRpbmctc3R5bGUiXSxyLmJ1YmJsZSksdD1NQyhlKSxpPU1kKFsiZG9jdW1lbnQiLCJmb250LWZhY2UiLCJrZXlmcmFtZXMiLCItd2Via2l0LWtleWZyYW1lcyIsIi1tb3ota2V5ZnJhbWVzIl0sci51bndyYXApLG49KHIucm9vdFJ1bGVOYW1lfHwiYXQtcm9vdCIpLnJlcGxhY2UoL15ALywiIikscz1yLnByZXNlcnZlRW1wdHk7cmV0dXJue09uY2UoYSl7YS53YWxrQXRSdWxlcyhuLG89PntqQyhvKSxhW0VvXT0hMH0pfSxwb3N0Y3NzUGx1Z2luOiJwb3N0Y3NzLW5lc3RlZCIsUm9vdEV4aXQoYSl7YVtFb10mJihhLndhbGtBdFJ1bGVzKG4sRkMpLGFbRW9dPSExKX0sUnVsZShhKXtsZXQgbz0hMSxsPWEsYz0hMSxmPVtdO2EuZWFjaChkPT57ZC50eXBlPT09InJ1bGUiPyhmLmxlbmd0aCYmKGw9Q28oYS5zZWxlY3RvcixmLGwpLGY9W10pLGM9ITAsbz0hMCxkLnNlbGVjdG9ycz1MZChhLGQpLGw9SG4oZCxsKSk6ZC50eXBlPT09ImF0cnVsZSI/KGYubGVuZ3RoJiYobD1DbyhhLnNlbGVjdG9yLGYsbCksZj1bXSksZC5uYW1lPT09bj8obz0hMCx0KGEsZCwhMCxkW19vXSksbD1IbihkLGwpKTplW2QubmFtZV0/KGM9ITAsbz0hMCx0KGEsZCwhMCksbD1IbihkLGwpKTppW2QubmFtZV0/KGM9ITAsbz0hMCx0KGEsZCwhMSksbD1IbihkLGwpKTpjJiZmLnB1c2goZCkpOmQudHlwZT09PSJkZWNsIiYmYyYmZi5wdXNoKGQpfSksZi5sZW5ndGgmJihsPUNvKGEuc2VsZWN0b3IsZixsKSksbyYmcyE9PSEwJiYoYS5yYXdzLnNlbWljb2xvbj0hMCxhLm5vZGVzLmxlbmd0aD09PTAmJmEucmVtb3ZlKCkpfX19O09vLmV4cG9ydHMucG9zdGNzcz0hMH0pO3ZhciBVZD14KChOSSx6ZCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBGZD0vLShcd3wkKS9nLGpkPShyLGUpPT5lLnRvVXBwZXJDYXNlKCksekM9cj0+KHI9ci50b0xvd2VyQ2FzZSgpLHI9PT0iZmxvYXQiPyJjc3NGbG9hdCI6ci5zdGFydHNXaXRoKCItbXMtIik/ci5zdWJzdHIoMSkucmVwbGFjZShGZCxqZCk6ci5yZXBsYWNlKEZkLGpkKSk7emQuZXhwb3J0cz16Q30pO3ZhciBQbz14KChCSSxWZCk9Pnt1KCk7dmFyIFVDPVVkKCksVkM9e2JveEZsZXg6ITAsYm94RmxleEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGZsZXg6ITAsZmxleEdyb3c6ITAsZmxleFBvc2l0aXZlOiEwLGZsZXhTaHJpbms6ITAsZmxleE5lZ2F0aXZlOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUNsYW1wOiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHRhYlNpemU6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwLGZpbGxPcGFjaXR5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlT3BhY2l0eTohMCxzdHJva2VXaWR0aDohMH07ZnVuY3Rpb24gVG8ocil7cmV0dXJuIHR5cGVvZiByLm5vZGVzPT0idW5kZWZpbmVkIj8hMDpSbyhyKX1mdW5jdGlvbiBSbyhyKXtsZXQgZSx0PXt9O3JldHVybiByLmVhY2goaT0+e2lmKGkudHlwZT09PSJhdHJ1bGUiKWU9IkAiK2kubmFtZSxpLnBhcmFtcyYmKGUrPSIgIitpLnBhcmFtcyksdHlwZW9mIHRbZV09PSJ1bmRlZmluZWQiP3RbZV09VG8oaSk6QXJyYXkuaXNBcnJheSh0W2VdKT90W2VdLnB1c2goVG8oaSkpOnRbZV09W3RbZV0sVG8oaSldO2Vsc2UgaWYoaS50eXBlPT09InJ1bGUiKXtsZXQgbj1SbyhpKTtpZih0W2kuc2VsZWN0b3JdKWZvcihsZXQgcyBpbiBuKXRbaS5zZWxlY3Rvcl1bc109bltzXTtlbHNlIHRbaS5zZWxlY3Rvcl09bn1lbHNlIGlmKGkudHlwZT09PSJkZWNsIil7aS5wcm9wWzBdPT09Ii0iJiZpLnByb3BbMV09PT0iLSJ8fGkucGFyZW50JiZpLnBhcmVudC5zZWxlY3Rvcj09PSI6ZXhwb3J0Ij9lPWkucHJvcDplPVVDKGkucHJvcCk7bGV0IG49aS52YWx1ZTshaXNOYU4oaS52YWx1ZSkmJlZDW2VdJiYobj1wYXJzZUZsb2F0KGkudmFsdWUpKSxpLmltcG9ydGFudCYmKG4rPSIgIWltcG9ydGFudCIpLHR5cGVvZiB0W2VdPT0idW5kZWZpbmVkIj90W2VdPW46QXJyYXkuaXNBcnJheSh0W2VdKT90W2VdLnB1c2gobik6dFtlXT1bdFtlXSxuXX19KSx0fVZkLmV4cG9ydHM9Um99KTt2YXIgV249eCgoRkksUWQpPT57dSgpO3ZhciBfaT0kZSgpLEhkPS9ccyohaW1wb3J0YW50XHMqJC9pLEhDPXsiYm94LWZsZXgiOiEwLCJib3gtZmxleC1ncm91cCI6ITAsImNvbHVtbi1jb3VudCI6ITAsZmxleDohMCwiZmxleC1ncm93IjohMCwiZmxleC1wb3NpdGl2ZSI6ITAsImZsZXgtc2hyaW5rIjohMCwiZmxleC1uZWdhdGl2ZSI6ITAsImZvbnQtd2VpZ2h0IjohMCwibGluZS1jbGFtcCI6ITAsImxpbmUtaGVpZ2h0IjohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsInRhYi1zaXplIjohMCx3aWRvd3M6ITAsInotaW5kZXgiOiEwLHpvb206ITAsImZpbGwtb3BhY2l0eSI6ITAsInN0cm9rZS1kYXNob2Zmc2V0IjohMCwic3Ryb2tlLW9wYWNpdHkiOiEwLCJzdHJva2Utd2lkdGgiOiEwfTtmdW5jdGlvbiBXQyhyKXtyZXR1cm4gci5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnJlcGxhY2UoL15tcy0vLCItbXMtIikudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBXZChyLGUsdCl7dD09PSExfHx0PT09bnVsbHx8KGUuc3RhcnRzV2l0aCgiLS0iKXx8KGU9V0MoZSkpLHR5cGVvZiB0PT0ibnVtYmVyIiYmKHQ9PT0wfHxIQ1tlXT90PXQudG9TdHJpbmcoKTp0Kz0icHgiKSxlPT09ImNzcy1mbG9hdCImJihlPSJmbG9hdCIpLEhkLnRlc3QodCk/KHQ9dC5yZXBsYWNlKEhkLCIiKSxyLnB1c2goX2kuZGVjbCh7cHJvcDplLHZhbHVlOnQsaW1wb3J0YW50OiEwfSkpKTpyLnB1c2goX2kuZGVjbCh7cHJvcDplLHZhbHVlOnR9KSkpfWZ1bmN0aW9uIEdkKHIsZSx0KXtsZXQgaT1faS5hdFJ1bGUoe25hbWU6ZVsxXSxwYXJhbXM6ZVszXXx8IiJ9KTt0eXBlb2YgdD09Im9iamVjdCImJihpLm5vZGVzPVtdLElvKHQsaSkpLHIucHVzaChpKX1mdW5jdGlvbiBJbyhyLGUpe2xldCB0LGksbjtmb3IodCBpbiByKWlmKGk9clt0XSwhKGk9PT1udWxsfHx0eXBlb2YgaT09InVuZGVmaW5lZCIpKWlmKHRbMF09PT0iQCIpe2xldCBzPXQubWF0Y2goL0AoXFMrKShccysoW1xXXHddKilccyopPy8pO2lmKEFycmF5LmlzQXJyYXkoaSkpZm9yKGxldCBhIG9mIGkpR2QoZSxzLGEpO2Vsc2UgR2QoZSxzLGkpfWVsc2UgaWYoQXJyYXkuaXNBcnJheShpKSlmb3IobGV0IHMgb2YgaSlXZChlLHQscyk7ZWxzZSB0eXBlb2YgaT09Im9iamVjdCI/KG49X2kucnVsZSh7c2VsZWN0b3I6dH0pLElvKGksbiksZS5wdXNoKG4pKTpXZChlLHQsaSl9UWQuZXhwb3J0cz1mdW5jdGlvbihyKXtsZXQgZT1faS5yb290KCk7cmV0dXJuIElvKHIsZSksZX19KTt2YXIgRG89eCgoakksWWQpPT57dSgpO3ZhciBHQz1QbygpO1lkLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGNvbnNvbGUmJmNvbnNvbGUud2FybiYmZS53YXJuaW5ncygpLmZvckVhY2godD0+e2xldCBpPXQucGx1Z2lufHwiUG9zdENTUyI7Y29uc29sZS53YXJuKGkrIjogIit0LnRleHQpfSksR0MoZS5yb290KX19KTt2YXIgWGQ9eCgoekksS2QpPT57dSgpO3ZhciBRQz0kZSgpLFlDPURvKCksS0M9V24oKTtLZC5leHBvcnRzPWZ1bmN0aW9uKGUpe2xldCB0PVFDKGUpO3JldHVybiBhc3luYyBpPT57bGV0IG49YXdhaXQgdC5wcm9jZXNzKGkse3BhcnNlcjpLQyxmcm9tOnZvaWQgMH0pO3JldHVybiBZQyhuKX19fSk7dmFyIEpkPXgoKFVJLFpkKT0+e3UoKTt2YXIgWEM9JGUoKSxaQz1EbygpLEpDPVduKCk7WmQuZXhwb3J0cz1mdW5jdGlvbihyKXtsZXQgZT1YQyhyKTtyZXR1cm4gdD0+e2xldCBpPWUucHJvY2Vzcyh0LHtwYXJzZXI6SkMsZnJvbTp2b2lkIDB9KTtyZXR1cm4gWkMoaSl9fX0pO3ZhciB0aD14KChWSSxlaCk9Pnt1KCk7dmFyIGVfPVBvKCksdF89V24oKSxyXz1YZCgpLGlfPUpkKCk7ZWguZXhwb3J0cz17b2JqZWN0aWZ5OmVfLHBhcnNlOnRfLGFzeW5jOnJfLHN5bmM6aV99fSk7dmFyIG9yLHJoLEhJLFdJLEdJLFFJLGloPVAoKCk9Pnt1KCk7b3I9cGUodGgoKSkscmg9b3IuZGVmYXVsdCxIST1vci5kZWZhdWx0Lm9iamVjdGlmeSxXST1vci5kZWZhdWx0LnBhcnNlLEdJPW9yLmRlZmF1bHQuYXN5bmMsUUk9b3IuZGVmYXVsdC5zeW5jfSk7ZnVuY3Rpb24gbHIocil7cmV0dXJuIEFycmF5LmlzQXJyYXkocik/ci5mbGF0TWFwKGU9PmVlKFsoMCxuaC5kZWZhdWx0KSh7YnViYmxlOlsic2NyZWVuIl19KV0pLnByb2Nlc3MoZSx7cGFyc2VyOnJofSkucm9vdC5ub2Rlcyk6bHIoW3JdKX12YXIgbmgscW89UCgoKT0+e3UoKTtPdCgpO25oPXBlKEJkKCkpO2loKCl9KTtmdW5jdGlvbiB1cihyLGUsdD0hMSl7aWYocj09PSIiKXJldHVybiBlO2xldCBpPXR5cGVvZiBlPT0ic3RyaW5nIj8oMCxzaC5kZWZhdWx0KSgpLmFzdFN5bmMoZSk6ZTtyZXR1cm4gaS53YWxrQ2xhc3NlcyhuPT57bGV0IHM9bi52YWx1ZSxhPXQmJnMuc3RhcnRzV2l0aCgiLSIpO24udmFsdWU9YT9gLSR7cn0ke3Muc2xpY2UoMSl9YDpgJHtyfSR7c31gfSksdHlwZW9mIGU9PSJzdHJpbmciP2kudG9TdHJpbmcoKTppfXZhciBzaCxHbj1QKCgpPT57dSgpO3NoPXBlKGl0KCkpfSk7ZnVuY3Rpb24gVGUocil7bGV0IGU9YWguZGVmYXVsdC5jbGFzc05hbWUoKTtyZXR1cm4gZS52YWx1ZT1yLGp0KGU/LnJhd3M/LnZhbHVlPz9lLnZhbHVlKX12YXIgYWgsZnI9UCgoKT0+e3UoKTthaD1wZShpdCgpKTtaaSgpfSk7ZnVuY3Rpb24gJG8ocil7cmV0dXJuIGp0KGAuJHtUZShyKX1gKX1mdW5jdGlvbiBRbihyLGUpe3JldHVybiAkbyhFaShyLGUpKX1mdW5jdGlvbiBFaShyLGUpe3JldHVybiBlPT09IkRFRkFVTFQiP3I6ZT09PSItInx8ZT09PSItREVGQVVMVCI/YC0ke3J9YDplLnN0YXJ0c1dpdGgoIi0iKT9gLSR7cn0ke2V9YDplLnN0YXJ0c1dpdGgoIi8iKT9gJHtyfSR7ZX1gOmAke3J9LSR7ZX1gfXZhciBMbz1QKCgpPT57dSgpO2ZyKCk7WmkoKX0pO2Z1bmN0aW9uIEwocixlPVtbcixbcl1dXSx7ZmlsdGVyRGVmYXVsdDp0PSExLC4uLml9PXt9KXtsZXQgbj1tdChyKTtyZXR1cm4gZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOnMsdGhlbWU6YX0pe2ZvcihsZXQgbyBvZiBlKXtsZXQgbD1BcnJheS5pc0FycmF5KG9bMF0pP286W29dO3MobC5yZWR1Y2UoKGMsW2YsZF0pPT5PYmplY3QuYXNzaWduKGMse1tmXTpwPT5kLnJlZHVjZSgoaCxiKT0+QXJyYXkuaXNBcnJheShiKT9PYmplY3QuYXNzaWduKGgse1tiWzBdXTpiWzFdfSk6T2JqZWN0LmFzc2lnbihoLHtbYl06bihwKX0pLHt9KX0pLHt9KSx7Li4uaSx2YWx1ZXM6dD9PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYShyKT8/e30pLmZpbHRlcigoW2NdKT0+YyE9PSJERUZBVUxUIikpOmEocil9KX19fXZhciBvaD1QKCgpPT57dSgpO0NpKCl9KTtmdW5jdGlvbiBUdChyKXtyZXR1cm4gcj1BcnJheS5pc0FycmF5KHIpP3I6W3JdLHIubWFwKGU9PntsZXQgdD1lLnZhbHVlcy5tYXAoaT0+aS5yYXchPT12b2lkIDA/aS5yYXc6W2kubWluJiZgKG1pbi13aWR0aDogJHtpLm1pbn0pYCxpLm1heCYmYChtYXgtd2lkdGg6ICR7aS5tYXh9KWBdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgYW5kICIpKTtyZXR1cm4gZS5ub3Q/YG5vdCBhbGwgYW5kICR7dH1gOnR9KS5qb2luKCIsICIpfXZhciBZbj1QKCgpPT57dSgpfSk7ZnVuY3Rpb24gTW8ocil7cmV0dXJuIHIuc3BsaXQoZl8pLm1hcCh0PT57bGV0IGk9dC50cmltKCksbj17dmFsdWU6aX0scz1pLnNwbGl0KGNfKSxhPW5ldyBTZXQ7Zm9yKGxldCBvIG9mIHMpIWEuaGFzKCJESVJFQ1RJT05TIikmJm5fLmhhcyhvKT8obi5kaXJlY3Rpb249byxhLmFkZCgiRElSRUNUSU9OUyIpKTohYS5oYXMoIlBMQVlfU1RBVEVTIikmJnNfLmhhcyhvKT8obi5wbGF5U3RhdGU9byxhLmFkZCgiUExBWV9TVEFURVMiKSk6IWEuaGFzKCJGSUxMX01PREVTIikmJmFfLmhhcyhvKT8obi5maWxsTW9kZT1vLGEuYWRkKCJGSUxMX01PREVTIikpOiFhLmhhcygiSVRFUkFUSU9OX0NPVU5UUyIpJiYob18uaGFzKG8pfHxwXy50ZXN0KG8pKT8obi5pdGVyYXRpb25Db3VudD1vLGEuYWRkKCJJVEVSQVRJT05fQ09VTlRTIikpOiFhLmhhcygiVElNSU5HX0ZVTkNUSU9OIikmJmxfLmhhcyhvKXx8IWEuaGFzKCJUSU1JTkdfRlVOQ1RJT04iKSYmdV8uc29tZShsPT5vLnN0YXJ0c1dpdGgoYCR7bH0oYCkpPyhuLnRpbWluZ0Z1bmN0aW9uPW8sYS5hZGQoIlRJTUlOR19GVU5DVElPTiIpKTohYS5oYXMoIkRVUkFUSU9OIikmJmxoLnRlc3Qobyk/KG4uZHVyYXRpb249byxhLmFkZCgiRFVSQVRJT04iKSk6IWEuaGFzKCJERUxBWSIpJiZsaC50ZXN0KG8pPyhuLmRlbGF5PW8sYS5hZGQoIkRFTEFZIikpOmEuaGFzKCJOQU1FIik/KG4udW5rbm93bnx8KG4udW5rbm93bj1bXSksbi51bmtub3duLnB1c2gobykpOihuLm5hbWU9byxhLmFkZCgiTkFNRSIpKTtyZXR1cm4gbn0pfXZhciBuXyxzXyxhXyxvXyxsXyx1XyxmXyxjXyxsaCxwXyx1aD1QKCgpPT57dSgpO25fPW5ldyBTZXQoWyJub3JtYWwiLCJyZXZlcnNlIiwiYWx0ZXJuYXRlIiwiYWx0ZXJuYXRlLXJldmVyc2UiXSksc189bmV3IFNldChbInJ1bm5pbmciLCJwYXVzZWQiXSksYV89bmV3IFNldChbIm5vbmUiLCJmb3J3YXJkcyIsImJhY2t3YXJkcyIsImJvdGgiXSksb189bmV3IFNldChbImluZmluaXRlIl0pLGxfPW5ldyBTZXQoWyJsaW5lYXIiLCJlYXNlIiwiZWFzZS1pbiIsImVhc2Utb3V0IiwiZWFzZS1pbi1vdXQiLCJzdGVwLXN0YXJ0Iiwic3RlcC1lbmQiXSksdV89WyJjdWJpYy1iZXppZXIiLCJzdGVwcyJdLGZfPS9cLCg/IVteKF0qXCkpL2csY189L1wgKyg/IVteKF0qXCkpL2csbGg9L14oLT9bXGQuXSttP3MpJC8scF89L14oXGQrKSQvfSk7dmFyIGZoLHhlLGNoPVAoKCk9Pnt1KCk7Zmg9cj0+T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhyPz97fSkuZmxhdE1hcCgoW2UsdF0pPT50eXBlb2YgdD09Im9iamVjdCI/T2JqZWN0LmVudHJpZXMoZmgodCkpLm1hcCgoW2ksbl0pPT4oe1tlKyhpPT09IkRFRkFVTFQiPyIiOmAtJHtpfWApXTpufSkpOlt7W2Ake2V9YF06dH1dKSkseGU9Zmh9KTt2YXIgZGgscGg9UCgoKT0+e2RoPSIzLjQuMTcifSk7ZnVuY3Rpb24gUnQocixlPSEwKXtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLm1hcCh0PT57aWYoZSYmQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgRXJyb3IoIlRoZSB0dXBsZSBzeW50YXggaXMgbm90IHN1cHBvcnRlZCBmb3IgYHNjcmVlbnNgLiIpO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyZXR1cm57bmFtZTp0LnRvU3RyaW5nKCksbm90OiExLHZhbHVlczpbe21pbjp0LG1heDp2b2lkIDB9XX07bGV0W2ksbl09dDtyZXR1cm4gaT1pLnRvU3RyaW5nKCksdHlwZW9mIG49PSJzdHJpbmciP3tuYW1lOmksbm90OiExLHZhbHVlczpbe21pbjpuLG1heDp2b2lkIDB9XX06QXJyYXkuaXNBcnJheShuKT97bmFtZTppLG5vdDohMSx2YWx1ZXM6bi5tYXAocz0+bWgocykpfTp7bmFtZTppLG5vdDohMSx2YWx1ZXM6W21oKG4pXX19KTpSdChPYmplY3QuZW50cmllcyhyPz97fSksITEpfWZ1bmN0aW9uIEtuKHIpe3JldHVybiByLnZhbHVlcy5sZW5ndGghPT0xP3tyZXN1bHQ6ITEscmVhc29uOiJtdWx0aXBsZS12YWx1ZXMifTpyLnZhbHVlc1swXS5yYXchPT12b2lkIDA/e3Jlc3VsdDohMSxyZWFzb246InJhdy12YWx1ZXMifTpyLnZhbHVlc1swXS5taW4hPT12b2lkIDAmJnIudmFsdWVzWzBdLm1heCE9PXZvaWQgMD97cmVzdWx0OiExLHJlYXNvbjoibWluLWFuZC1tYXgifTp7cmVzdWx0OiEwLHJlYXNvbjpudWxsfX1mdW5jdGlvbiBoaChyLGUsdCl7bGV0IGk9WG4oZSxyKSxuPVhuKHQscikscz1LbihpKSxhPUtuKG4pO2lmKHMucmVhc29uPT09Im11bHRpcGxlLXZhbHVlcyJ8fGEucmVhc29uPT09Im11bHRpcGxlLXZhbHVlcyIpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gc29ydCBhIHNjcmVlbiB3aXRoIG11bHRpcGxlIHZhbHVlcy4gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLiBQbGVhc2Ugb3BlbiBhIGJ1ZyByZXBvcnQuIik7aWYocy5yZWFzb249PT0icmF3LXZhbHVlcyJ8fGEucmVhc29uPT09InJhdy12YWx1ZXMiKXRocm93IG5ldyBFcnJvcigiQXR0ZW1wdGVkIHRvIHNvcnQgYSBzY3JlZW4gd2l0aCByYXcgdmFsdWVzLiBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIFBsZWFzZSBvcGVuIGEgYnVnIHJlcG9ydC4iKTtpZihzLnJlYXNvbj09PSJtaW4tYW5kLW1heCJ8fGEucmVhc29uPT09Im1pbi1hbmQtbWF4Iil0aHJvdyBuZXcgRXJyb3IoIkF0dGVtcHRlZCB0byBzb3J0IGEgc2NyZWVuIHdpdGggYm90aCBtaW4gYW5kIG1heCB2YWx1ZXMuIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi4gUGxlYXNlIG9wZW4gYSBidWcgcmVwb3J0LiIpO2xldHttaW46byxtYXg6bH09aS52YWx1ZXNbMF0se21pbjpjLG1heDpmfT1uLnZhbHVlc1swXTtlLm5vdCYmKFtvLGxdPVtsLG9dKSx0Lm5vdCYmKFtjLGZdPVtmLGNdKSxvPW89PT12b2lkIDA/bzpwYXJzZUZsb2F0KG8pLGw9bD09PXZvaWQgMD9sOnBhcnNlRmxvYXQobCksYz1jPT09dm9pZCAwP2M6cGFyc2VGbG9hdChjKSxmPWY9PT12b2lkIDA/ZjpwYXJzZUZsb2F0KGYpO2xldFtkLHBdPXI9PT0ibWluIj9bbyxjXTpbZixsXTtyZXR1cm4gZC1wfWZ1bmN0aW9uIFhuKHIsZSl7cmV0dXJuIHR5cGVvZiByPT0ib2JqZWN0Ij9yOntuYW1lOiJhcmJpdHJhcnktc2NyZWVuIix2YWx1ZXM6W3tbZV06cn1dfX1mdW5jdGlvbiBtaCh7Im1pbi13aWR0aCI6cixtaW46ZT1yLG1heDp0LHJhdzppfT17fSl7cmV0dXJue21pbjplLG1heDp0LHJhdzppfX12YXIgWm49UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIEpuKHIsZSl7ci53YWxrRGVjbHModD0+e2lmKGUuaW5jbHVkZXModC5wcm9wKSl7dC5yZW1vdmUoKTtyZXR1cm59Zm9yKGxldCBpIG9mIGUpdC52YWx1ZS5pbmNsdWRlcyhgLyB2YXIoJHtpfSlgKT90LnZhbHVlPXQudmFsdWUucmVwbGFjZShgLyB2YXIoJHtpfSlgLCIiKTp0LnZhbHVlLmluY2x1ZGVzKGAvIHZhcigke2l9LCAxKWApJiYodC52YWx1ZT10LnZhbHVlLnJlcGxhY2UoYC8gdmFyKCR7aX0sIDEpYCwiIikpfSl9dmFyIGdoPVAoKCk9Pnt1KCl9KTt2YXIgc2UsWGUsbnQsZ2UseWgsYmg9UCgoKT0+e3UoKTtmdCgpO2V0KCk7T3QoKTtvaCgpO1luKCk7ZnIoKTt1aCgpO2NoKCk7THIoKTtyYSgpO0t0KCk7Q2koKTtwaCgpO0JlKCk7Wm4oKTtZcygpO2doKCk7Y3QoKTtCcigpO09pKCk7c2U9e2NoaWxkVmFyaWFudDooe2FkZFZhcmlhbnQ6cn0pPT57cigiKiIsIiYgPiAqIil9LHBzZXVkb0VsZW1lbnRWYXJpYW50czooe2FkZFZhcmlhbnQ6cn0pPT57cigiZmlyc3QtbGV0dGVyIiwiJjo6Zmlyc3QtbGV0dGVyIikscigiZmlyc3QtbGluZSIsIiY6OmZpcnN0LWxpbmUiKSxyKCJtYXJrZXIiLFsoe2NvbnRhaW5lcjplfSk9PihKbihlLFsiLS10dy10ZXh0LW9wYWNpdHkiXSksIiYgKjo6bWFya2VyIiksKHtjb250YWluZXI6ZX0pPT4oSm4oZSxbIi0tdHctdGV4dC1vcGFjaXR5Il0pLCImOjptYXJrZXIiKV0pLHIoInNlbGVjdGlvbiIsWyImICo6OnNlbGVjdGlvbiIsIiY6OnNlbGVjdGlvbiJdKSxyKCJmaWxlIiwiJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24iKSxyKCJwbGFjZWhvbGRlciIsIiY6OnBsYWNlaG9sZGVyIikscigiYmFja2Ryb3AiLCImOjpiYWNrZHJvcCIpLHIoImJlZm9yZSIsKHtjb250YWluZXI6ZX0pPT4oZS53YWxrUnVsZXModD0+e2xldCBpPSExO3Qud2Fsa0RlY2xzKCJjb250ZW50IiwoKT0+e2k9ITB9KSxpfHx0LnByZXBlbmQoZWUuZGVjbCh7cHJvcDoiY29udGVudCIsdmFsdWU6InZhcigtLXR3LWNvbnRlbnQpIn0pKX0pLCImOjpiZWZvcmUiKSkscigiYWZ0ZXIiLCh7Y29udGFpbmVyOmV9KT0+KGUud2Fsa1J1bGVzKHQ9PntsZXQgaT0hMTt0LndhbGtEZWNscygiY29udGVudCIsKCk9PntpPSEwfSksaXx8dC5wcmVwZW5kKGVlLmRlY2woe3Byb3A6ImNvbnRlbnQiLHZhbHVlOiJ2YXIoLS10dy1jb250ZW50KSJ9KSl9KSwiJjo6YWZ0ZXIiKSl9LHBzZXVkb0NsYXNzVmFyaWFudHM6KHthZGRWYXJpYW50OnIsbWF0Y2hWYXJpYW50OmUsY29uZmlnOnQscHJlZml4Oml9KT0+e2xldCBuPVtbImZpcnN0IiwiJjpmaXJzdC1jaGlsZCJdLFsibGFzdCIsIiY6bGFzdC1jaGlsZCJdLFsib25seSIsIiY6b25seS1jaGlsZCJdLFsib2RkIiwiJjpudGgtY2hpbGQob2RkKSJdLFsiZXZlbiIsIiY6bnRoLWNoaWxkKGV2ZW4pIl0sImZpcnN0LW9mLXR5cGUiLCJsYXN0LW9mLXR5cGUiLCJvbmx5LW9mLXR5cGUiLFsidmlzaXRlZCIsKHtjb250YWluZXI6YX0pPT4oSm4oYSxbIi0tdHctdGV4dC1vcGFjaXR5IiwiLS10dy1ib3JkZXItb3BhY2l0eSIsIi0tdHctYmctb3BhY2l0eSJdKSwiJjp2aXNpdGVkIildLCJ0YXJnZXQiLFsib3BlbiIsIiZbb3Blbl0iXSwiZGVmYXVsdCIsImNoZWNrZWQiLCJpbmRldGVybWluYXRlIiwicGxhY2Vob2xkZXItc2hvd24iLCJhdXRvZmlsbCIsIm9wdGlvbmFsIiwicmVxdWlyZWQiLCJ2YWxpZCIsImludmFsaWQiLCJpbi1yYW5nZSIsIm91dC1vZi1yYW5nZSIsInJlYWQtb25seSIsImVtcHR5IiwiZm9jdXMtd2l0aGluIixbImhvdmVyIix3ZSh0KCksImhvdmVyT25seVdoZW5TdXBwb3J0ZWQiKT8iQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkgeyAmOmhvdmVyIH0iOiImOmhvdmVyIl0sImZvY3VzIiwiZm9jdXMtdmlzaWJsZSIsImFjdGl2ZSIsImVuYWJsZWQiLCJkaXNhYmxlZCJdLm1hcChhPT5BcnJheS5pc0FycmF5KGEpP2E6W2EsYCY6JHthfWBdKTtmb3IobGV0W2Esb11vZiBuKXIoYSxsPT50eXBlb2Ygbz09ImZ1bmN0aW9uIj9vKGwpOm8pO2xldCBzPXtncm91cDooYSx7bW9kaWZpZXI6b30pPT5vP1tgOm1lcmdlKCR7aSgiLmdyb3VwIil9XFwvJHtUZShvKX0pYCwiICYiXTpbYDptZXJnZSgke2koIi5ncm91cCIpfSlgLCIgJiJdLHBlZXI6KGEse21vZGlmaWVyOm99KT0+bz9bYDptZXJnZSgke2koIi5wZWVyIil9XFwvJHtUZShvKX0pYCwiIH4gJiJdOltgOm1lcmdlKCR7aSgiLnBlZXIiKX0pYCwiIH4gJiJdfTtmb3IobGV0W2Esb11vZiBPYmplY3QuZW50cmllcyhzKSllKGEsKGw9IiIsYyk9PntsZXQgZj1LKHR5cGVvZiBsPT0iZnVuY3Rpb24iP2woYyk6bCk7Zi5pbmNsdWRlcygiJiIpfHwoZj0iJiIrZik7bGV0W2QscF09bygiIixjKSxoPW51bGwsYj1udWxsLHY9MDtmb3IobGV0IHk9MDt5PGYubGVuZ3RoOysreSl7bGV0IHc9Zlt5XTt3PT09IiYiP2g9eTp3PT09IicifHx3PT09JyInP3YrPTE6aCE9PW51bGwmJnc9PT0iICImJiF2JiYoYj15KX1yZXR1cm4gaCE9PW51bGwmJmI9PT1udWxsJiYoYj1mLmxlbmd0aCksZi5zbGljZSgwLGgpK2QrZi5zbGljZShoKzEsYikrcCtmLnNsaWNlKGIpfSx7dmFsdWVzOk9iamVjdC5mcm9tRW50cmllcyhuKSxbUHRdOntyZXNwZWN0UHJlZml4OiExfX0pfSxkaXJlY3Rpb25WYXJpYW50czooe2FkZFZhcmlhbnQ6cn0pPT57cigibHRyIiwnJjp3aGVyZShbZGlyPSJsdHIiXSwgW2Rpcj0ibHRyIl0gKiknKSxyKCJydGwiLCcmOndoZXJlKFtkaXI9InJ0bCJdLCBbZGlyPSJydGwiXSAqKScpfSxyZWR1Y2VkTW90aW9uVmFyaWFudHM6KHthZGRWYXJpYW50OnJ9KT0+e3IoIm1vdGlvbi1zYWZlIiwiQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSIpLHIoIm1vdGlvbi1yZWR1Y2UiLCJAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKX0sZGFya1ZhcmlhbnRzOih7Y29uZmlnOnIsYWRkVmFyaWFudDplfSk9PntsZXRbdCxpPSIuZGFyayJdPVtdLmNvbmNhdChyKCJkYXJrTW9kZSIsIm1lZGlhIikpO2lmKHQ9PT0hMSYmKHQ9Im1lZGlhIixHLndhcm4oImRhcmttb2RlLWZhbHNlIixbIlRoZSBgZGFya01vZGVgIG9wdGlvbiBpbiB5b3VyIFRhaWx3aW5kIENTUyBjb25maWd1cmF0aW9uIGlzIHNldCB0byBgZmFsc2VgLCB3aGljaCBub3cgYmVoYXZlcyB0aGUgc2FtZSBhcyBgbWVkaWFgLiIsIkNoYW5nZSBgZGFya01vZGVgIHRvIGBtZWRpYWAgb3IgcmVtb3ZlIGl0IGVudGlyZWx5LiIsImh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdXBncmFkZS1ndWlkZSNyZW1vdmUtZGFyay1tb2RlLWNvbmZpZ3VyYXRpb24iXSkpLHQ9PT0idmFyaWFudCIpe2xldCBuO2lmKEFycmF5LmlzQXJyYXkoaSl8fHR5cGVvZiBpPT0iZnVuY3Rpb24iP249aTp0eXBlb2YgaT09InN0cmluZyImJihuPVtpXSksQXJyYXkuaXNBcnJheShuKSlmb3IobGV0IHMgb2YgbilzPT09Ii5kYXJrIj8odD0hMSxHLndhcm4oImRhcmttb2RlLXZhcmlhbnQtd2l0aG91dC1zZWxlY3RvciIsWyJXaGVuIHVzaW5nIGB2YXJpYW50YCBmb3IgYGRhcmtNb2RlYCwgeW91IG11c3QgcHJvdmlkZSBhIHNlbGVjdG9yLiIsJ0V4YW1wbGU6IGBkYXJrTW9kZTogWyJ2YXJpYW50IiwgIi55b3VyLXNlbGVjdG9yICYiXWAnXSkpOnMuaW5jbHVkZXMoIiYiKXx8KHQ9ITEsRy53YXJuKCJkYXJrbW9kZS12YXJpYW50LXdpdGhvdXQtYW1wZXJzYW5kIixbIldoZW4gdXNpbmcgYHZhcmlhbnRgIGZvciBgZGFya01vZGVgLCB5b3VyIHNlbGVjdG9yIG11c3QgY29udGFpbiBgJmAuIiwnRXhhbXBsZSBgZGFya01vZGU6IFsidmFyaWFudCIsICIueW91ci1zZWxlY3RvciAmIl1gJ10pKTtpPW59dD09PSJzZWxlY3RvciI/ZSgiZGFyayIsYCY6d2hlcmUoJHtpfSwgJHtpfSAqKWApOnQ9PT0ibWVkaWEiP2UoImRhcmsiLCJAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpOnQ9PT0idmFyaWFudCI/ZSgiZGFyayIsaSk6dD09PSJjbGFzcyImJmUoImRhcmsiLGAmOmlzKCR7aX0gKilgKX0scHJpbnRWYXJpYW50Oih7YWRkVmFyaWFudDpyfSk9PntyKCJwcmludCIsIkBtZWRpYSBwcmludCIpfSxzY3JlZW5WYXJpYW50czooe3RoZW1lOnIsYWRkVmFyaWFudDplLG1hdGNoVmFyaWFudDp0fSk9PntsZXQgaT1yKCJzY3JlZW5zIik/P3t9LG49T2JqZWN0LnZhbHVlcyhpKS5ldmVyeSh3PT50eXBlb2Ygdz09InN0cmluZyIpLHM9UnQocigic2NyZWVucyIpKSxhPW5ldyBTZXQoW10pO2Z1bmN0aW9uIG8odyl7cmV0dXJuIHcubWF0Y2goLyhcRCspJC8pPy5bMV0/PyIobm9uZSkifWZ1bmN0aW9uIGwodyl7dyE9PXZvaWQgMCYmYS5hZGQobyh3KSl9ZnVuY3Rpb24gYyh3KXtyZXR1cm4gbCh3KSxhLnNpemU9PT0xfWZvcihsZXQgdyBvZiBzKWZvcihsZXQgayBvZiB3LnZhbHVlcylsKGsubWluKSxsKGsubWF4KTtsZXQgZj1hLnNpemU8PTE7ZnVuY3Rpb24gZCh3KXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKHMuZmlsdGVyKGs9PktuKGspLnJlc3VsdCkubWFwKGs9PntsZXR7bWluOlMsbWF4OkV9PWsudmFsdWVzWzBdO2lmKHc9PT0ibWluIiYmUyE9PXZvaWQgMClyZXR1cm4gaztpZih3PT09Im1pbiImJkUhPT12b2lkIDApcmV0dXJuey4uLmssbm90OiFrLm5vdH07aWYodz09PSJtYXgiJiZFIT09dm9pZCAwKXJldHVybiBrO2lmKHc9PT0ibWF4IiYmUyE9PXZvaWQgMClyZXR1cm57Li4uayxub3Q6IWsubm90fX0pLm1hcChrPT5bay5uYW1lLGtdKSl9ZnVuY3Rpb24gcCh3KXtyZXR1cm4oayxTKT0+aGgodyxrLnZhbHVlLFMudmFsdWUpfWxldCBoPXAoIm1heCIpLGI9cCgibWluIik7ZnVuY3Rpb24gdih3KXtyZXR1cm4gaz0+e2lmKG4paWYoZil7aWYodHlwZW9mIGs9PSJzdHJpbmciJiYhYyhrKSlyZXR1cm4gRy53YXJuKCJtaW5tYXgtaGF2ZS1taXhlZC11bml0cyIsWyJUaGUgYG1pbi0qYCBhbmQgYG1heC0qYCB2YXJpYW50cyBhcmUgbm90IHN1cHBvcnRlZCB3aXRoIGEgYHNjcmVlbnNgIGNvbmZpZ3VyYXRpb24gY29udGFpbmluZyBtaXhlZCB1bml0cy4iXSksW119ZWxzZSByZXR1cm4gRy53YXJuKCJtaXhlZC1zY3JlZW4tdW5pdHMiLFsiVGhlIGBtaW4tKmAgYW5kIGBtYXgtKmAgdmFyaWFudHMgYXJlIG5vdCBzdXBwb3J0ZWQgd2l0aCBhIGBzY3JlZW5zYCBjb25maWd1cmF0aW9uIGNvbnRhaW5pbmcgbWl4ZWQgdW5pdHMuIl0pLFtdO2Vsc2UgcmV0dXJuIEcud2FybigiY29tcGxleC1zY3JlZW4tY29uZmlnIixbIlRoZSBgbWluLSpgIGFuZCBgbWF4LSpgIHZhcmlhbnRzIGFyZSBub3Qgc3VwcG9ydGVkIHdpdGggYSBgc2NyZWVuc2AgY29uZmlndXJhdGlvbiBjb250YWluaW5nIG9iamVjdHMuIl0pLFtdO3JldHVybltgQG1lZGlhICR7VHQoWG4oayx3KSl9YF19fXQoIm1heCIsdigibWF4Iikse3NvcnQ6aCx2YWx1ZXM6bj9kKCJtYXgiKTp7fX0pO2xldCB5PSJtaW4tc2NyZWVucyI7Zm9yKGxldCB3IG9mIHMpZSh3Lm5hbWUsYEBtZWRpYSAke1R0KHcpfWAse2lkOnksc29ydDpuJiZmP2I6dm9pZCAwLHZhbHVlOnd9KTt0KCJtaW4iLHYoIm1pbiIpLHtpZDp5LHNvcnQ6Yn0pfSxzdXBwb3J0c1ZhcmlhbnRzOih7bWF0Y2hWYXJpYW50OnIsdGhlbWU6ZX0pPT57cigic3VwcG9ydHMiLCh0PSIiKT0+e2xldCBpPUsodCksbj0vXlx3KlxzKlwoLy50ZXN0KGkpO3JldHVybiBpPW4/aS5yZXBsYWNlKC9cYihhbmR8b3J8bm90KVxiL2csIiAkMSAiKTppLG4/YEBzdXBwb3J0cyAke2l9YDooaS5pbmNsdWRlcygiOiIpfHwoaT1gJHtpfTogdmFyKC0tdHcpYCksaS5zdGFydHNXaXRoKCIoIikmJmkuZW5kc1dpdGgoIikiKXx8KGk9YCgke2l9KWApLGBAc3VwcG9ydHMgJHtpfWApfSx7dmFsdWVzOmUoInN1cHBvcnRzIik/P3t9fSl9LGhhc1ZhcmlhbnRzOih7bWF0Y2hWYXJpYW50OnIscHJlZml4OmV9KT0+e3IoImhhcyIsdD0+YCY6aGFzKCR7Syh0KX0pYCx7dmFsdWVzOnt9LFtQdF06e3Jlc3BlY3RQcmVmaXg6ITF9fSkscigiZ3JvdXAtaGFzIiwodCx7bW9kaWZpZXI6aX0pPT5pP2A6bWVyZ2UoJHtlKCIuZ3JvdXAiKX1cXC8ke2l9KTpoYXMoJHtLKHQpfSkgJmA6YDptZXJnZSgke2UoIi5ncm91cCIpfSk6aGFzKCR7Syh0KX0pICZgLHt2YWx1ZXM6e30sW1B0XTp7cmVzcGVjdFByZWZpeDohMX19KSxyKCJwZWVyLWhhcyIsKHQse21vZGlmaWVyOml9KT0+aT9gOm1lcmdlKCR7ZSgiLnBlZXIiKX1cXC8ke2l9KTpoYXMoJHtLKHQpfSkgfiAmYDpgOm1lcmdlKCR7ZSgiLnBlZXIiKX0pOmhhcygke0sodCl9KSB+ICZgLHt2YWx1ZXM6e30sW1B0XTp7cmVzcGVjdFByZWZpeDohMX19KX0sYXJpYVZhcmlhbnRzOih7bWF0Y2hWYXJpYW50OnIsdGhlbWU6ZX0pPT57cigiYXJpYSIsdD0+YCZbYXJpYS0ke1llKEsodCkpfV1gLHt2YWx1ZXM6ZSgiYXJpYSIpPz97fX0pLHIoImdyb3VwLWFyaWEiLCh0LHttb2RpZmllcjppfSk9Pmk/YDptZXJnZSguZ3JvdXBcXC8ke2l9KVthcmlhLSR7WWUoSyh0KSl9XSAmYDpgOm1lcmdlKC5ncm91cClbYXJpYS0ke1llKEsodCkpfV0gJmAse3ZhbHVlczplKCJhcmlhIik/P3t9fSkscigicGVlci1hcmlhIiwodCx7bW9kaWZpZXI6aX0pPT5pP2A6bWVyZ2UoLnBlZXJcXC8ke2l9KVthcmlhLSR7WWUoSyh0KSl9XSB+ICZgOmA6bWVyZ2UoLnBlZXIpW2FyaWEtJHtZZShLKHQpKX1dIH4gJmAse3ZhbHVlczplKCJhcmlhIik/P3t9fSl9LGRhdGFWYXJpYW50czooe21hdGNoVmFyaWFudDpyLHRoZW1lOmV9KT0+e3IoImRhdGEiLHQ9PmAmW2RhdGEtJHtZZShLKHQpKX1dYCx7dmFsdWVzOmUoImRhdGEiKT8/e319KSxyKCJncm91cC1kYXRhIiwodCx7bW9kaWZpZXI6aX0pPT5pP2A6bWVyZ2UoLmdyb3VwXFwvJHtpfSlbZGF0YS0ke1llKEsodCkpfV0gJmA6YDptZXJnZSguZ3JvdXApW2RhdGEtJHtZZShLKHQpKX1dICZgLHt2YWx1ZXM6ZSgiZGF0YSIpPz97fX0pLHIoInBlZXItZGF0YSIsKHQse21vZGlmaWVyOml9KT0+aT9gOm1lcmdlKC5wZWVyXFwvJHtpfSlbZGF0YS0ke1llKEsodCkpfV0gfiAmYDpgOm1lcmdlKC5wZWVyKVtkYXRhLSR7WWUoSyh0KSl9XSB+ICZgLHt2YWx1ZXM6ZSgiZGF0YSIpPz97fX0pfSxvcmllbnRhdGlvblZhcmlhbnRzOih7YWRkVmFyaWFudDpyfSk9PntyKCJwb3J0cmFpdCIsIkBtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSIpLHIoImxhbmRzY2FwZSIsIkBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiKX0scHJlZmVyc0NvbnRyYXN0VmFyaWFudHM6KHthZGRWYXJpYW50OnJ9KT0+e3IoImNvbnRyYXN0LW1vcmUiLCJAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIikscigiY29udHJhc3QtbGVzcyIsIkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogbGVzcykiKX0sZm9yY2VkQ29sb3JzVmFyaWFudHM6KHthZGRWYXJpYW50OnJ9KT0+e3IoImZvcmNlZC1jb2xvcnMiLCJAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkiKX19LFhlPVsidHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSwgdmFyKC0tdHctdHJhbnNsYXRlLXkpKSIsInJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSIsInNrZXdYKHZhcigtLXR3LXNrZXcteCkpIiwic2tld1kodmFyKC0tdHctc2tldy15KSkiLCJzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIiwic2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKSJdLmpvaW4oIiAiKSxudD1bInZhcigtLXR3LWJsdXIpIiwidmFyKC0tdHctYnJpZ2h0bmVzcykiLCJ2YXIoLS10dy1jb250cmFzdCkiLCJ2YXIoLS10dy1ncmF5c2NhbGUpIiwidmFyKC0tdHctaHVlLXJvdGF0ZSkiLCJ2YXIoLS10dy1pbnZlcnQpIiwidmFyKC0tdHctc2F0dXJhdGUpIiwidmFyKC0tdHctc2VwaWEpIiwidmFyKC0tdHctZHJvcC1zaGFkb3cpIl0uam9pbigiICIpLGdlPVsidmFyKC0tdHctYmFja2Ryb3AtYmx1cikiLCJ2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzKSIsInZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSIsInZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSkiLCJ2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlKSIsInZhcigtLXR3LWJhY2tkcm9wLWludmVydCkiLCJ2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5KSIsInZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlKSIsInZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKSJdLmpvaW4oIiAiKSx5aD17cHJlZmxpZ2h0Oih7YWRkQmFzZTpyfSk9PntsZXQgZT1lZS5wYXJzZShgKiw6OmFmdGVyLDo6YmVmb3Jle2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItd2lkdGg6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRoZW1lKCdib3JkZXJDb2xvci5ERUZBVUxUJywgY3VycmVudENvbG9yKX06OmFmdGVyLDo6YmVmb3Jley0tdHctY29udGVudDonJ306aG9zdCxodG1se2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbW96LXRhYi1zaXplOjQ7dGFiLXNpemU6NDtmb250LWZhbWlseTp0aGVtZSgnZm9udEZhbWlseS5zYW5zJywgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiLCAiU2Vnb2UgVUkgU3ltYm9sIiwgIk5vdG8gQ29sb3IgRW1vamkiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dGhlbWUoJ2ZvbnRGYW1pbHkuc2Fuc1sxXS5mb250RmVhdHVyZVNldHRpbmdzJywgbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp0aGVtZSgnZm9udEZhbWlseS5zYW5zWzFdLmZvbnRWYXJpYXRpb25TZXR0aW5ncycsIG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWJvZHl7bWFyZ2luOjA7bGluZS1oZWlnaHQ6aW5oZXJpdH1ocntoZWlnaHQ6MDtjb2xvcjppbmhlcml0O2JvcmRlci10b3Atd2lkdGg6MXB4fWFiYnI6d2hlcmUoW3RpdGxlXSl7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5OnRoZW1lKCdmb250RmFtaWx5Lm1vbm8nLCB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZSk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOnRoZW1lKCdmb250RmFtaWx5Lm1vbm9bMV0uZm9udEZlYXR1cmVTZXR0aW5ncycsIG5vcm1hbCk7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6dGhlbWUoJ2ZvbnRGYW1pbHkubW9ub1sxXS5mb250VmFyaWF0aW9uU2V0dGluZ3MnLCBub3JtYWwpO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saW5wdXQ6d2hlcmUoW3R5cGU9YnV0dG9uXSksaW5wdXQ6d2hlcmUoW3R5cGU9cmVzZXRdKSxpbnB1dDp3aGVyZShbdHlwZT1zdWJtaXRdKXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6LTJweH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfWJsb2NrcXVvdGUsZGQsZGwsZmlndXJlLGgxLGgyLGgzLGg0LGg1LGg2LGhyLHAscHJle21hcmdpbjowfWZpZWxkc2V0e21hcmdpbjowO3BhZGRpbmc6MH1sZWdlbmR7cGFkZGluZzowfW1lbnUsb2wsdWx7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MH1kaWFsb2d7cGFkZGluZzowfXRleHRhcmVhe3Jlc2l6ZTp2ZXJ0aWNhbH1pbnB1dDo6cGxhY2Vob2xkZXIsdGV4dGFyZWE6OnBsYWNlaG9sZGVye29wYWNpdHk6MTtjb2xvcjp0aGVtZSgnY29sb3JzLmdyYXkuNCcsICM5Y2EzYWYpfVtyb2xlPWJ1dHRvbl0sYnV0dG9ue2N1cnNvcjpwb2ludGVyfTpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH1hdWRpbyxjYW52YXMsZW1iZWQsaWZyYW1lLGltZyxvYmplY3Qsc3ZnLHZpZGVve2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWltZyx2aWRlb3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b31baGlkZGVuXTp3aGVyZSg6bm90KFtoaWRkZW49dW50aWwtZm91bmRdKSl7ZGlzcGxheTpub25lfWApO3IoW2VlLmNvbW1lbnQoe3RleHQ6YCEgdGFpbHdpbmRjc3MgdiR7ZGh9IHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbWB9KSwuLi5lLm5vZGVzXSl9LGNvbnRhaW5lcjooKCk9PntmdW5jdGlvbiByKHQ9W10pe3JldHVybiB0LmZsYXRNYXAoaT0+aS52YWx1ZXMubWFwKG49Pm4ubWluKSkuZmlsdGVyKGk9PmkhPT12b2lkIDApfWZ1bmN0aW9uIGUodCxpLG4pe2lmKHR5cGVvZiBuPT0idW5kZWZpbmVkIilyZXR1cm5bXTtpZighKHR5cGVvZiBuPT0ib2JqZWN0IiYmbiE9PW51bGwpKXJldHVyblt7c2NyZWVuOiJERUZBVUxUIixtaW5XaWR0aDowLHBhZGRpbmc6bn1dO2xldCBzPVtdO24uREVGQVVMVCYmcy5wdXNoKHtzY3JlZW46IkRFRkFVTFQiLG1pbldpZHRoOjAscGFkZGluZzpuLkRFRkFVTFR9KTtmb3IobGV0IGEgb2YgdClmb3IobGV0IG8gb2YgaSlmb3IobGV0e21pbjpsfW9mIG8udmFsdWVzKWw9PT1hJiZzLnB1c2goe21pbldpZHRoOmEscGFkZGluZzpuW28ubmFtZV19KTtyZXR1cm4gc31yZXR1cm4gZnVuY3Rpb24oe2FkZENvbXBvbmVudHM6dCx0aGVtZTppfSl7bGV0IG49UnQoaSgiY29udGFpbmVyLnNjcmVlbnMiLGkoInNjcmVlbnMiKSkpLHM9cihuKSxhPWUocyxuLGkoImNvbnRhaW5lci5wYWRkaW5nIikpLG89Yz0+e2xldCBmPWEuZmluZChkPT5kLm1pbldpZHRoPT09Yyk7cmV0dXJuIGY/e3BhZGRpbmdSaWdodDpmLnBhZGRpbmcscGFkZGluZ0xlZnQ6Zi5wYWRkaW5nfTp7fX0sbD1BcnJheS5mcm9tKG5ldyBTZXQocy5zbGljZSgpLnNvcnQoKGMsZik9PnBhcnNlSW50KGMpLXBhcnNlSW50KGYpKSkpLm1hcChjPT4oe1tgQG1lZGlhIChtaW4td2lkdGg6ICR7Y30pYF06eyIuY29udGFpbmVyIjp7Im1heC13aWR0aCI6YywuLi5vKGMpfX19KSk7dChbeyIuY29udGFpbmVyIjpPYmplY3QuYXNzaWduKHt3aWR0aDoiMTAwJSJ9LGkoImNvbnRhaW5lci5jZW50ZXIiLCExKT97bWFyZ2luUmlnaHQ6ImF1dG8iLG1hcmdpbkxlZnQ6ImF1dG8ifTp7fSxvKDApKX0sLi4ubF0pfX0pKCksYWNjZXNzaWJpbGl0eTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnNyLW9ubHkiOntwb3NpdGlvbjoiYWJzb2x1dGUiLHdpZHRoOiIxcHgiLGhlaWdodDoiMXB4IixwYWRkaW5nOiIwIixtYXJnaW46Ii0xcHgiLG92ZXJmbG93OiJoaWRkZW4iLGNsaXA6InJlY3QoMCwgMCwgMCwgMCkiLHdoaXRlU3BhY2U6Im5vd3JhcCIsYm9yZGVyV2lkdGg6IjAifSwiLm5vdC1zci1vbmx5Ijp7cG9zaXRpb246InN0YXRpYyIsd2lkdGg6ImF1dG8iLGhlaWdodDoiYXV0byIscGFkZGluZzoiMCIsbWFyZ2luOiIwIixvdmVyZmxvdzoidmlzaWJsZSIsY2xpcDoiYXV0byIsd2hpdGVTcGFjZToibm9ybWFsIn19KX0scG9pbnRlckV2ZW50czooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnBvaW50ZXItZXZlbnRzLW5vbmUiOnsicG9pbnRlci1ldmVudHMiOiJub25lIn0sIi5wb2ludGVyLWV2ZW50cy1hdXRvIjp7InBvaW50ZXItZXZlbnRzIjoiYXV0byJ9fSl9LHZpc2liaWxpdHk6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii52aXNpYmxlIjp7dmlzaWJpbGl0eToidmlzaWJsZSJ9LCIuaW52aXNpYmxlIjp7dmlzaWJpbGl0eToiaGlkZGVuIn0sIi5jb2xsYXBzZSI6e3Zpc2liaWxpdHk6ImNvbGxhcHNlIn19KX0scG9zaXRpb246KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zdGF0aWMiOntwb3NpdGlvbjoic3RhdGljIn0sIi5maXhlZCI6e3Bvc2l0aW9uOiJmaXhlZCJ9LCIuYWJzb2x1dGUiOntwb3NpdGlvbjoiYWJzb2x1dGUifSwiLnJlbGF0aXZlIjp7cG9zaXRpb246InJlbGF0aXZlIn0sIi5zdGlja3kiOntwb3NpdGlvbjoic3RpY2t5In19KX0saW5zZXQ6TCgiaW5zZXQiLFtbImluc2V0IixbImluc2V0Il1dLFtbImluc2V0LXgiLFsibGVmdCIsInJpZ2h0Il1dLFsiaW5zZXQteSIsWyJ0b3AiLCJib3R0b20iXV1dLFtbInN0YXJ0IixbImluc2V0LWlubGluZS1zdGFydCJdXSxbImVuZCIsWyJpbnNldC1pbmxpbmUtZW5kIl1dLFsidG9wIixbInRvcCJdXSxbInJpZ2h0IixbInJpZ2h0Il1dLFsiYm90dG9tIixbImJvdHRvbSJdXSxbImxlZnQiLFsibGVmdCJdXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksaXNvbGF0aW9uOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuaXNvbGF0ZSI6e2lzb2xhdGlvbjoiaXNvbGF0ZSJ9LCIuaXNvbGF0aW9uLWF1dG8iOntpc29sYXRpb246ImF1dG8ifX0pfSx6SW5kZXg6TCgiekluZGV4IixbWyJ6IixbInpJbmRleCJdXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxvcmRlcjpMKCJvcmRlciIsdm9pZCAwLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZENvbHVtbjpMKCJncmlkQ29sdW1uIixbWyJjb2wiLFsiZ3JpZENvbHVtbiJdXV0pLGdyaWRDb2x1bW5TdGFydDpMKCJncmlkQ29sdW1uU3RhcnQiLFtbImNvbC1zdGFydCIsWyJncmlkQ29sdW1uU3RhcnQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZENvbHVtbkVuZDpMKCJncmlkQ29sdW1uRW5kIixbWyJjb2wtZW5kIixbImdyaWRDb2x1bW5FbmQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZFJvdzpMKCJncmlkUm93IixbWyJyb3ciLFsiZ3JpZFJvdyJdXV0pLGdyaWRSb3dTdGFydDpMKCJncmlkUm93U3RhcnQiLFtbInJvdy1zdGFydCIsWyJncmlkUm93U3RhcnQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZFJvd0VuZDpMKCJncmlkUm93RW5kIixbWyJyb3ctZW5kIixbImdyaWRSb3dFbmQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZmxvYXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5mbG9hdC1zdGFydCI6e2Zsb2F0OiJpbmxpbmUtc3RhcnQifSwiLmZsb2F0LWVuZCI6e2Zsb2F0OiJpbmxpbmUtZW5kIn0sIi5mbG9hdC1yaWdodCI6e2Zsb2F0OiJyaWdodCJ9LCIuZmxvYXQtbGVmdCI6e2Zsb2F0OiJsZWZ0In0sIi5mbG9hdC1ub25lIjp7ZmxvYXQ6Im5vbmUifX0pfSxjbGVhcjooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmNsZWFyLXN0YXJ0Ijp7Y2xlYXI6ImlubGluZS1zdGFydCJ9LCIuY2xlYXItZW5kIjp7Y2xlYXI6ImlubGluZS1lbmQifSwiLmNsZWFyLWxlZnQiOntjbGVhcjoibGVmdCJ9LCIuY2xlYXItcmlnaHQiOntjbGVhcjoicmlnaHQifSwiLmNsZWFyLWJvdGgiOntjbGVhcjoiYm90aCJ9LCIuY2xlYXItbm9uZSI6e2NsZWFyOiJub25lIn19KX0sbWFyZ2luOkwoIm1hcmdpbiIsW1sibSIsWyJtYXJnaW4iXV0sW1sibXgiLFsibWFyZ2luLWxlZnQiLCJtYXJnaW4tcmlnaHQiXV0sWyJteSIsWyJtYXJnaW4tdG9wIiwibWFyZ2luLWJvdHRvbSJdXV0sW1sibXMiLFsibWFyZ2luLWlubGluZS1zdGFydCJdXSxbIm1lIixbIm1hcmdpbi1pbmxpbmUtZW5kIl1dLFsibXQiLFsibWFyZ2luLXRvcCJdXSxbIm1yIixbIm1hcmdpbi1yaWdodCJdXSxbIm1iIixbIm1hcmdpbi1ib3R0b20iXV0sWyJtbCIsWyJtYXJnaW4tbGVmdCJdXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksYm94U2l6aW5nOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYm94LWJvcmRlciI6eyJib3gtc2l6aW5nIjoiYm9yZGVyLWJveCJ9LCIuYm94LWNvbnRlbnQiOnsiYm94LXNpemluZyI6ImNvbnRlbnQtYm94In19KX0sbGluZUNsYW1wOih7bWF0Y2hVdGlsaXRpZXM6cixhZGRVdGlsaXRpZXM6ZSx0aGVtZTp0fSk9PntyKHsibGluZS1jbGFtcCI6aT0+KHtvdmVyZmxvdzoiaGlkZGVuIixkaXNwbGF5OiItd2Via2l0LWJveCIsIi13ZWJraXQtYm94LW9yaWVudCI6InZlcnRpY2FsIiwiLXdlYmtpdC1saW5lLWNsYW1wIjpgJHtpfWB9KX0se3ZhbHVlczp0KCJsaW5lQ2xhbXAiKX0pLGUoeyIubGluZS1jbGFtcC1ub25lIjp7b3ZlcmZsb3c6InZpc2libGUiLGRpc3BsYXk6ImJsb2NrIiwiLXdlYmtpdC1ib3gtb3JpZW50IjoiaG9yaXpvbnRhbCIsIi13ZWJraXQtbGluZS1jbGFtcCI6Im5vbmUifX0pfSxkaXNwbGF5Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYmxvY2siOntkaXNwbGF5OiJibG9jayJ9LCIuaW5saW5lLWJsb2NrIjp7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sIi5pbmxpbmUiOntkaXNwbGF5OiJpbmxpbmUifSwiLmZsZXgiOntkaXNwbGF5OiJmbGV4In0sIi5pbmxpbmUtZmxleCI6e2Rpc3BsYXk6ImlubGluZS1mbGV4In0sIi50YWJsZSI6e2Rpc3BsYXk6InRhYmxlIn0sIi5pbmxpbmUtdGFibGUiOntkaXNwbGF5OiJpbmxpbmUtdGFibGUifSwiLnRhYmxlLWNhcHRpb24iOntkaXNwbGF5OiJ0YWJsZS1jYXB0aW9uIn0sIi50YWJsZS1jZWxsIjp7ZGlzcGxheToidGFibGUtY2VsbCJ9LCIudGFibGUtY29sdW1uIjp7ZGlzcGxheToidGFibGUtY29sdW1uIn0sIi50YWJsZS1jb2x1bW4tZ3JvdXAiOntkaXNwbGF5OiJ0YWJsZS1jb2x1bW4tZ3JvdXAifSwiLnRhYmxlLWZvb3Rlci1ncm91cCI6e2Rpc3BsYXk6InRhYmxlLWZvb3Rlci1ncm91cCJ9LCIudGFibGUtaGVhZGVyLWdyb3VwIjp7ZGlzcGxheToidGFibGUtaGVhZGVyLWdyb3VwIn0sIi50YWJsZS1yb3ctZ3JvdXAiOntkaXNwbGF5OiJ0YWJsZS1yb3ctZ3JvdXAifSwiLnRhYmxlLXJvdyI6e2Rpc3BsYXk6InRhYmxlLXJvdyJ9LCIuZmxvdy1yb290Ijp7ZGlzcGxheToiZmxvdy1yb290In0sIi5ncmlkIjp7ZGlzcGxheToiZ3JpZCJ9LCIuaW5saW5lLWdyaWQiOntkaXNwbGF5OiJpbmxpbmUtZ3JpZCJ9LCIuY29udGVudHMiOntkaXNwbGF5OiJjb250ZW50cyJ9LCIubGlzdC1pdGVtIjp7ZGlzcGxheToibGlzdC1pdGVtIn0sIi5oaWRkZW4iOntkaXNwbGF5OiJub25lIn19KX0sYXNwZWN0UmF0aW86TCgiYXNwZWN0UmF0aW8iLFtbImFzcGVjdCIsWyJhc3BlY3QtcmF0aW8iXV1dKSxzaXplOkwoInNpemUiLFtbInNpemUiLFsid2lkdGgiLCJoZWlnaHQiXV1dKSxoZWlnaHQ6TCgiaGVpZ2h0IixbWyJoIixbImhlaWdodCJdXV0pLG1heEhlaWdodDpMKCJtYXhIZWlnaHQiLFtbIm1heC1oIixbIm1heEhlaWdodCJdXV0pLG1pbkhlaWdodDpMKCJtaW5IZWlnaHQiLFtbIm1pbi1oIixbIm1pbkhlaWdodCJdXV0pLHdpZHRoOkwoIndpZHRoIixbWyJ3IixbIndpZHRoIl1dXSksbWluV2lkdGg6TCgibWluV2lkdGgiLFtbIm1pbi13IixbIm1pbldpZHRoIl1dXSksbWF4V2lkdGg6TCgibWF4V2lkdGgiLFtbIm1heC13IixbIm1heFdpZHRoIl1dXSksZmxleDpMKCJmbGV4IiksZmxleFNocmluazpMKCJmbGV4U2hyaW5rIixbWyJmbGV4LXNocmluayIsWyJmbGV4LXNocmluayJdXSxbInNocmluayIsWyJmbGV4LXNocmluayJdXV0pLGZsZXhHcm93OkwoImZsZXhHcm93IixbWyJmbGV4LWdyb3ciLFsiZmxleC1ncm93Il1dLFsiZ3JvdyIsWyJmbGV4LWdyb3ciXV1dKSxmbGV4QmFzaXM6TCgiZmxleEJhc2lzIixbWyJiYXNpcyIsWyJmbGV4LWJhc2lzIl1dXSksdGFibGVMYXlvdXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii50YWJsZS1hdXRvIjp7InRhYmxlLWxheW91dCI6ImF1dG8ifSwiLnRhYmxlLWZpeGVkIjp7InRhYmxlLWxheW91dCI6ImZpeGVkIn19KX0sY2FwdGlvblNpZGU6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5jYXB0aW9uLXRvcCI6eyJjYXB0aW9uLXNpZGUiOiJ0b3AifSwiLmNhcHRpb24tYm90dG9tIjp7ImNhcHRpb24tc2lkZSI6ImJvdHRvbSJ9fSl9LGJvcmRlckNvbGxhcHNlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYm9yZGVyLWNvbGxhcHNlIjp7ImJvcmRlci1jb2xsYXBzZSI6ImNvbGxhcHNlIn0sIi5ib3JkZXItc2VwYXJhdGUiOnsiYm9yZGVyLWNvbGxhcHNlIjoic2VwYXJhdGUifX0pfSxib3JkZXJTcGFjaW5nOih7YWRkRGVmYXVsdHM6cixtYXRjaFV0aWxpdGllczplLHRoZW1lOnR9KT0+e3IoImJvcmRlci1zcGFjaW5nIix7Ii0tdHctYm9yZGVyLXNwYWNpbmcteCI6MCwiLS10dy1ib3JkZXItc3BhY2luZy15IjowfSksZSh7ImJvcmRlci1zcGFjaW5nIjppPT4oeyItLXR3LWJvcmRlci1zcGFjaW5nLXgiOmksIi0tdHctYm9yZGVyLXNwYWNpbmcteSI6aSwiQGRlZmF1bHRzIGJvcmRlci1zcGFjaW5nIjp7fSwiYm9yZGVyLXNwYWNpbmciOiJ2YXIoLS10dy1ib3JkZXItc3BhY2luZy14KSB2YXIoLS10dy1ib3JkZXItc3BhY2luZy15KSJ9KSwiYm9yZGVyLXNwYWNpbmcteCI6aT0+KHsiLS10dy1ib3JkZXItc3BhY2luZy14IjppLCJAZGVmYXVsdHMgYm9yZGVyLXNwYWNpbmciOnt9LCJib3JkZXItc3BhY2luZyI6InZhcigtLXR3LWJvcmRlci1zcGFjaW5nLXgpIHZhcigtLXR3LWJvcmRlci1zcGFjaW5nLXkpIn0pLCJib3JkZXItc3BhY2luZy15IjppPT4oeyItLXR3LWJvcmRlci1zcGFjaW5nLXkiOmksIkBkZWZhdWx0cyBib3JkZXItc3BhY2luZyI6e30sImJvcmRlci1zcGFjaW5nIjoidmFyKC0tdHctYm9yZGVyLXNwYWNpbmcteCkgdmFyKC0tdHctYm9yZGVyLXNwYWNpbmcteSkifSl9LHt2YWx1ZXM6dCgiYm9yZGVyU3BhY2luZyIpfSl9LHRyYW5zZm9ybU9yaWdpbjpMKCJ0cmFuc2Zvcm1PcmlnaW4iLFtbIm9yaWdpbiIsWyJ0cmFuc2Zvcm1PcmlnaW4iXV1dKSx0cmFuc2xhdGU6TCgidHJhbnNsYXRlIixbW1sidHJhbnNsYXRlLXgiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy10cmFuc2xhdGUteCIsWyJ0cmFuc2Zvcm0iLFhlXV1dLFsidHJhbnNsYXRlLXkiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy10cmFuc2xhdGUteSIsWyJ0cmFuc2Zvcm0iLFhlXV1dXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxyb3RhdGU6TCgicm90YXRlIixbWyJyb3RhdGUiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1yb3RhdGUiLFsidHJhbnNmb3JtIixYZV1dXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxza2V3OkwoInNrZXciLFtbWyJza2V3LXgiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1za2V3LXgiLFsidHJhbnNmb3JtIixYZV1dXSxbInNrZXcteSIsW1siQGRlZmF1bHRzIHRyYW5zZm9ybSIse31dLCItLXR3LXNrZXcteSIsWyJ0cmFuc2Zvcm0iLFhlXV1dXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxzY2FsZTpMKCJzY2FsZSIsW1sic2NhbGUiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1zY2FsZS14IiwiLS10dy1zY2FsZS15IixbInRyYW5zZm9ybSIsWGVdXV0sW1sic2NhbGUteCIsW1siQGRlZmF1bHRzIHRyYW5zZm9ybSIse31dLCItLXR3LXNjYWxlLXgiLFsidHJhbnNmb3JtIixYZV1dXSxbInNjYWxlLXkiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1zY2FsZS15IixbInRyYW5zZm9ybSIsWGVdXV1dXSx7c3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pLHRyYW5zZm9ybTooe2FkZERlZmF1bHRzOnIsYWRkVXRpbGl0aWVzOmV9KT0+e3IoInRyYW5zZm9ybSIseyItLXR3LXRyYW5zbGF0ZS14IjoiMCIsIi0tdHctdHJhbnNsYXRlLXkiOiIwIiwiLS10dy1yb3RhdGUiOiIwIiwiLS10dy1za2V3LXgiOiIwIiwiLS10dy1za2V3LXkiOiIwIiwiLS10dy1zY2FsZS14IjoiMSIsIi0tdHctc2NhbGUteSI6IjEifSksZSh7Ii50cmFuc2Zvcm0iOnsiQGRlZmF1bHRzIHRyYW5zZm9ybSI6e30sdHJhbnNmb3JtOlhlfSwiLnRyYW5zZm9ybS1jcHUiOnt0cmFuc2Zvcm06WGV9LCIudHJhbnNmb3JtLWdwdSI6e3RyYW5zZm9ybTpYZS5yZXBsYWNlKCJ0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLCB2YXIoLS10dy10cmFuc2xhdGUteSkpIiwidHJhbnNsYXRlM2QodmFyKC0tdHctdHJhbnNsYXRlLXgpLCB2YXIoLS10dy10cmFuc2xhdGUteSksIDApIil9LCIudHJhbnNmb3JtLW5vbmUiOnt0cmFuc2Zvcm06Im5vbmUifX0pfSxhbmltYXRpb246KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29uZmlnOnR9KT0+e2xldCBpPXM9PlRlKHQoInByZWZpeCIpK3MpLG49T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGUoImtleWZyYW1lcyIpPz97fSkubWFwKChbcyxhXSk9PltzLHtbYEBrZXlmcmFtZXMgJHtpKHMpfWBdOmF9XSkpO3Ioe2FuaW1hdGU6cz0+e2xldCBhPU1vKHMpO3JldHVyblsuLi5hLmZsYXRNYXAobz0+bltvLm5hbWVdKSx7YW5pbWF0aW9uOmEubWFwKCh7bmFtZTpvLHZhbHVlOmx9KT0+bz09PXZvaWQgMHx8bltvXT09PXZvaWQgMD9sOmwucmVwbGFjZShvLGkobykpKS5qb2luKCIsICIpfV19fSx7dmFsdWVzOmUoImFuaW1hdGlvbiIpfSl9LGN1cnNvcjpMKCJjdXJzb3IiKSx0b3VjaEFjdGlvbjooe2FkZERlZmF1bHRzOnIsYWRkVXRpbGl0aWVzOmV9KT0+e3IoInRvdWNoLWFjdGlvbiIseyItLXR3LXBhbi14IjoiICIsIi0tdHctcGFuLXkiOiIgIiwiLS10dy1waW5jaC16b29tIjoiICJ9KTtsZXQgdD0idmFyKC0tdHctcGFuLXgpIHZhcigtLXR3LXBhbi15KSB2YXIoLS10dy1waW5jaC16b29tKSI7ZSh7Ii50b3VjaC1hdXRvIjp7InRvdWNoLWFjdGlvbiI6ImF1dG8ifSwiLnRvdWNoLW5vbmUiOnsidG91Y2gtYWN0aW9uIjoibm9uZSJ9LCIudG91Y2gtcGFuLXgiOnsiQGRlZmF1bHRzIHRvdWNoLWFjdGlvbiI6e30sIi0tdHctcGFuLXgiOiJwYW4teCIsInRvdWNoLWFjdGlvbiI6dH0sIi50b3VjaC1wYW4tbGVmdCI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teCI6InBhbi1sZWZ0IiwidG91Y2gtYWN0aW9uIjp0fSwiLnRvdWNoLXBhbi1yaWdodCI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teCI6InBhbi1yaWdodCIsInRvdWNoLWFjdGlvbiI6dH0sIi50b3VjaC1wYW4teSI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teSI6InBhbi15IiwidG91Y2gtYWN0aW9uIjp0fSwiLnRvdWNoLXBhbi11cCI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teSI6InBhbi11cCIsInRvdWNoLWFjdGlvbiI6dH0sIi50b3VjaC1wYW4tZG93biI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teSI6InBhbi1kb3duIiwidG91Y2gtYWN0aW9uIjp0fSwiLnRvdWNoLXBpbmNoLXpvb20iOnsiQGRlZmF1bHRzIHRvdWNoLWFjdGlvbiI6e30sIi0tdHctcGluY2gtem9vbSI6InBpbmNoLXpvb20iLCJ0b3VjaC1hY3Rpb24iOnR9LCIudG91Y2gtbWFuaXB1bGF0aW9uIjp7InRvdWNoLWFjdGlvbiI6Im1hbmlwdWxhdGlvbiJ9fSl9LHVzZXJTZWxlY3Q6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zZWxlY3Qtbm9uZSI6eyJ1c2VyLXNlbGVjdCI6Im5vbmUifSwiLnNlbGVjdC10ZXh0Ijp7InVzZXItc2VsZWN0IjoidGV4dCJ9LCIuc2VsZWN0LWFsbCI6eyJ1c2VyLXNlbGVjdCI6ImFsbCJ9LCIuc2VsZWN0LWF1dG8iOnsidXNlci1zZWxlY3QiOiJhdXRvIn19KX0scmVzaXplOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIucmVzaXplLW5vbmUiOntyZXNpemU6Im5vbmUifSwiLnJlc2l6ZS15Ijp7cmVzaXplOiJ2ZXJ0aWNhbCJ9LCIucmVzaXplLXgiOntyZXNpemU6Imhvcml6b250YWwifSwiLnJlc2l6ZSI6e3Jlc2l6ZToiYm90aCJ9fSl9LHNjcm9sbFNuYXBUeXBlOih7YWRkRGVmYXVsdHM6cixhZGRVdGlsaXRpZXM6ZX0pPT57cigic2Nyb2xsLXNuYXAtdHlwZSIseyItLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3MiOiJwcm94aW1pdHkifSksZSh7Ii5zbmFwLW5vbmUiOnsic2Nyb2xsLXNuYXAtdHlwZSI6Im5vbmUifSwiLnNuYXAteCI6eyJAZGVmYXVsdHMgc2Nyb2xsLXNuYXAtdHlwZSI6e30sInNjcm9sbC1zbmFwLXR5cGUiOiJ4IHZhcigtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpIn0sIi5zbmFwLXkiOnsiQGRlZmF1bHRzIHNjcm9sbC1zbmFwLXR5cGUiOnt9LCJzY3JvbGwtc25hcC10eXBlIjoieSB2YXIoLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzKSJ9LCIuc25hcC1ib3RoIjp7IkBkZWZhdWx0cyBzY3JvbGwtc25hcC10eXBlIjp7fSwic2Nyb2xsLXNuYXAtdHlwZSI6ImJvdGggdmFyKC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcykifSwiLnNuYXAtbWFuZGF0b3J5Ijp7Ii0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcyI6Im1hbmRhdG9yeSJ9LCIuc25hcC1wcm94aW1pdHkiOnsiLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzIjoicHJveGltaXR5In19KX0sc2Nyb2xsU25hcEFsaWduOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuc25hcC1zdGFydCI6eyJzY3JvbGwtc25hcC1hbGlnbiI6InN0YXJ0In0sIi5zbmFwLWVuZCI6eyJzY3JvbGwtc25hcC1hbGlnbiI6ImVuZCJ9LCIuc25hcC1jZW50ZXIiOnsic2Nyb2xsLXNuYXAtYWxpZ24iOiJjZW50ZXIifSwiLnNuYXAtYWxpZ24tbm9uZSI6eyJzY3JvbGwtc25hcC1hbGlnbiI6Im5vbmUifX0pfSxzY3JvbGxTbmFwU3RvcDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnNuYXAtbm9ybWFsIjp7InNjcm9sbC1zbmFwLXN0b3AiOiJub3JtYWwifSwiLnNuYXAtYWx3YXlzIjp7InNjcm9sbC1zbmFwLXN0b3AiOiJhbHdheXMifX0pfSxzY3JvbGxNYXJnaW46TCgic2Nyb2xsTWFyZ2luIixbWyJzY3JvbGwtbSIsWyJzY3JvbGwtbWFyZ2luIl1dLFtbInNjcm9sbC1teCIsWyJzY3JvbGwtbWFyZ2luLWxlZnQiLCJzY3JvbGwtbWFyZ2luLXJpZ2h0Il1dLFsic2Nyb2xsLW15IixbInNjcm9sbC1tYXJnaW4tdG9wIiwic2Nyb2xsLW1hcmdpbi1ib3R0b20iXV1dLFtbInNjcm9sbC1tcyIsWyJzY3JvbGwtbWFyZ2luLWlubGluZS1zdGFydCJdXSxbInNjcm9sbC1tZSIsWyJzY3JvbGwtbWFyZ2luLWlubGluZS1lbmQiXV0sWyJzY3JvbGwtbXQiLFsic2Nyb2xsLW1hcmdpbi10b3AiXV0sWyJzY3JvbGwtbXIiLFsic2Nyb2xsLW1hcmdpbi1yaWdodCJdXSxbInNjcm9sbC1tYiIsWyJzY3JvbGwtbWFyZ2luLWJvdHRvbSJdXSxbInNjcm9sbC1tbCIsWyJzY3JvbGwtbWFyZ2luLWxlZnQiXV1dXSx7c3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pLHNjcm9sbFBhZGRpbmc6TCgic2Nyb2xsUGFkZGluZyIsW1sic2Nyb2xsLXAiLFsic2Nyb2xsLXBhZGRpbmciXV0sW1sic2Nyb2xsLXB4IixbInNjcm9sbC1wYWRkaW5nLWxlZnQiLCJzY3JvbGwtcGFkZGluZy1yaWdodCJdXSxbInNjcm9sbC1weSIsWyJzY3JvbGwtcGFkZGluZy10b3AiLCJzY3JvbGwtcGFkZGluZy1ib3R0b20iXV1dLFtbInNjcm9sbC1wcyIsWyJzY3JvbGwtcGFkZGluZy1pbmxpbmUtc3RhcnQiXV0sWyJzY3JvbGwtcGUiLFsic2Nyb2xsLXBhZGRpbmctaW5saW5lLWVuZCJdXSxbInNjcm9sbC1wdCIsWyJzY3JvbGwtcGFkZGluZy10b3AiXV0sWyJzY3JvbGwtcHIiLFsic2Nyb2xsLXBhZGRpbmctcmlnaHQiXV0sWyJzY3JvbGwtcGIiLFsic2Nyb2xsLXBhZGRpbmctYm90dG9tIl1dLFsic2Nyb2xsLXBsIixbInNjcm9sbC1wYWRkaW5nLWxlZnQiXV1dXSksbGlzdFN0eWxlUG9zaXRpb246KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5saXN0LWluc2lkZSI6eyJsaXN0LXN0eWxlLXBvc2l0aW9uIjoiaW5zaWRlIn0sIi5saXN0LW91dHNpZGUiOnsibGlzdC1zdHlsZS1wb3NpdGlvbiI6Im91dHNpZGUifX0pfSxsaXN0U3R5bGVUeXBlOkwoImxpc3RTdHlsZVR5cGUiLFtbImxpc3QiLFsibGlzdFN0eWxlVHlwZSJdXV0pLGxpc3RTdHlsZUltYWdlOkwoImxpc3RTdHlsZUltYWdlIixbWyJsaXN0LWltYWdlIixbImxpc3RTdHlsZUltYWdlIl1dXSksYXBwZWFyYW5jZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmFwcGVhcmFuY2Utbm9uZSI6e2FwcGVhcmFuY2U6Im5vbmUifSwiLmFwcGVhcmFuY2UtYXV0byI6e2FwcGVhcmFuY2U6ImF1dG8ifX0pfSxjb2x1bW5zOkwoImNvbHVtbnMiLFtbImNvbHVtbnMiLFsiY29sdW1ucyJdXV0pLGJyZWFrQmVmb3JlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYnJlYWstYmVmb3JlLWF1dG8iOnsiYnJlYWstYmVmb3JlIjoiYXV0byJ9LCIuYnJlYWstYmVmb3JlLWF2b2lkIjp7ImJyZWFrLWJlZm9yZSI6ImF2b2lkIn0sIi5icmVhay1iZWZvcmUtYWxsIjp7ImJyZWFrLWJlZm9yZSI6ImFsbCJ9LCIuYnJlYWstYmVmb3JlLWF2b2lkLXBhZ2UiOnsiYnJlYWstYmVmb3JlIjoiYXZvaWQtcGFnZSJ9LCIuYnJlYWstYmVmb3JlLXBhZ2UiOnsiYnJlYWstYmVmb3JlIjoicGFnZSJ9LCIuYnJlYWstYmVmb3JlLWxlZnQiOnsiYnJlYWstYmVmb3JlIjoibGVmdCJ9LCIuYnJlYWstYmVmb3JlLXJpZ2h0Ijp7ImJyZWFrLWJlZm9yZSI6InJpZ2h0In0sIi5icmVhay1iZWZvcmUtY29sdW1uIjp7ImJyZWFrLWJlZm9yZSI6ImNvbHVtbiJ9fSl9LGJyZWFrSW5zaWRlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYnJlYWstaW5zaWRlLWF1dG8iOnsiYnJlYWstaW5zaWRlIjoiYXV0byJ9LCIuYnJlYWstaW5zaWRlLWF2b2lkIjp7ImJyZWFrLWluc2lkZSI6ImF2b2lkIn0sIi5icmVhay1pbnNpZGUtYXZvaWQtcGFnZSI6eyJicmVhay1pbnNpZGUiOiJhdm9pZC1wYWdlIn0sIi5icmVhay1pbnNpZGUtYXZvaWQtY29sdW1uIjp7ImJyZWFrLWluc2lkZSI6ImF2b2lkLWNvbHVtbiJ9fSl9LGJyZWFrQWZ0ZXI6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5icmVhay1hZnRlci1hdXRvIjp7ImJyZWFrLWFmdGVyIjoiYXV0byJ9LCIuYnJlYWstYWZ0ZXItYXZvaWQiOnsiYnJlYWstYWZ0ZXIiOiJhdm9pZCJ9LCIuYnJlYWstYWZ0ZXItYWxsIjp7ImJyZWFrLWFmdGVyIjoiYWxsIn0sIi5icmVhay1hZnRlci1hdm9pZC1wYWdlIjp7ImJyZWFrLWFmdGVyIjoiYXZvaWQtcGFnZSJ9LCIuYnJlYWstYWZ0ZXItcGFnZSI6eyJicmVhay1hZnRlciI6InBhZ2UifSwiLmJyZWFrLWFmdGVyLWxlZnQiOnsiYnJlYWstYWZ0ZXIiOiJsZWZ0In0sIi5icmVhay1hZnRlci1yaWdodCI6eyJicmVhay1hZnRlciI6InJpZ2h0In0sIi5icmVhay1hZnRlci1jb2x1bW4iOnsiYnJlYWstYWZ0ZXIiOiJjb2x1bW4ifX0pfSxncmlkQXV0b0NvbHVtbnM6TCgiZ3JpZEF1dG9Db2x1bW5zIixbWyJhdXRvLWNvbHMiLFsiZ3JpZEF1dG9Db2x1bW5zIl1dXSksZ3JpZEF1dG9GbG93Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuZ3JpZC1mbG93LXJvdyI6e2dyaWRBdXRvRmxvdzoicm93In0sIi5ncmlkLWZsb3ctY29sIjp7Z3JpZEF1dG9GbG93OiJjb2x1bW4ifSwiLmdyaWQtZmxvdy1kZW5zZSI6e2dyaWRBdXRvRmxvdzoiZGVuc2UifSwiLmdyaWQtZmxvdy1yb3ctZGVuc2UiOntncmlkQXV0b0Zsb3c6InJvdyBkZW5zZSJ9LCIuZ3JpZC1mbG93LWNvbC1kZW5zZSI6e2dyaWRBdXRvRmxvdzoiY29sdW1uIGRlbnNlIn19KX0sZ3JpZEF1dG9Sb3dzOkwoImdyaWRBdXRvUm93cyIsW1siYXV0by1yb3dzIixbImdyaWRBdXRvUm93cyJdXV0pLGdyaWRUZW1wbGF0ZUNvbHVtbnM6TCgiZ3JpZFRlbXBsYXRlQ29sdW1ucyIsW1siZ3JpZC1jb2xzIixbImdyaWRUZW1wbGF0ZUNvbHVtbnMiXV1dKSxncmlkVGVtcGxhdGVSb3dzOkwoImdyaWRUZW1wbGF0ZVJvd3MiLFtbImdyaWQtcm93cyIsWyJncmlkVGVtcGxhdGVSb3dzIl1dXSksZmxleERpcmVjdGlvbjooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmZsZXgtcm93Ijp7ImZsZXgtZGlyZWN0aW9uIjoicm93In0sIi5mbGV4LXJvdy1yZXZlcnNlIjp7ImZsZXgtZGlyZWN0aW9uIjoicm93LXJldmVyc2UifSwiLmZsZXgtY29sIjp7ImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uIn0sIi5mbGV4LWNvbC1yZXZlcnNlIjp7ImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uLXJldmVyc2UifX0pfSxmbGV4V3JhcDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmZsZXgtd3JhcCI6eyJmbGV4LXdyYXAiOiJ3cmFwIn0sIi5mbGV4LXdyYXAtcmV2ZXJzZSI6eyJmbGV4LXdyYXAiOiJ3cmFwLXJldmVyc2UifSwiLmZsZXgtbm93cmFwIjp7ImZsZXgtd3JhcCI6Im5vd3JhcCJ9fSl9LHBsYWNlQ29udGVudDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnBsYWNlLWNvbnRlbnQtY2VudGVyIjp7InBsYWNlLWNvbnRlbnQiOiJjZW50ZXIifSwiLnBsYWNlLWNvbnRlbnQtc3RhcnQiOnsicGxhY2UtY29udGVudCI6InN0YXJ0In0sIi5wbGFjZS1jb250ZW50LWVuZCI6eyJwbGFjZS1jb250ZW50IjoiZW5kIn0sIi5wbGFjZS1jb250ZW50LWJldHdlZW4iOnsicGxhY2UtY29udGVudCI6InNwYWNlLWJldHdlZW4ifSwiLnBsYWNlLWNvbnRlbnQtYXJvdW5kIjp7InBsYWNlLWNvbnRlbnQiOiJzcGFjZS1hcm91bmQifSwiLnBsYWNlLWNvbnRlbnQtZXZlbmx5Ijp7InBsYWNlLWNvbnRlbnQiOiJzcGFjZS1ldmVubHkifSwiLnBsYWNlLWNvbnRlbnQtYmFzZWxpbmUiOnsicGxhY2UtY29udGVudCI6ImJhc2VsaW5lIn0sIi5wbGFjZS1jb250ZW50LXN0cmV0Y2giOnsicGxhY2UtY29udGVudCI6InN0cmV0Y2gifX0pfSxwbGFjZUl0ZW1zOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIucGxhY2UtaXRlbXMtc3RhcnQiOnsicGxhY2UtaXRlbXMiOiJzdGFydCJ9LCIucGxhY2UtaXRlbXMtZW5kIjp7InBsYWNlLWl0ZW1zIjoiZW5kIn0sIi5wbGFjZS1pdGVtcy1jZW50ZXIiOnsicGxhY2UtaXRlbXMiOiJjZW50ZXIifSwiLnBsYWNlLWl0ZW1zLWJhc2VsaW5lIjp7InBsYWNlLWl0ZW1zIjoiYmFzZWxpbmUifSwiLnBsYWNlLWl0ZW1zLXN0cmV0Y2giOnsicGxhY2UtaXRlbXMiOiJzdHJldGNoIn19KX0sYWxpZ25Db250ZW50Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuY29udGVudC1ub3JtYWwiOnsiYWxpZ24tY29udGVudCI6Im5vcm1hbCJ9LCIuY29udGVudC1jZW50ZXIiOnsiYWxpZ24tY29udGVudCI6ImNlbnRlciJ9LCIuY29udGVudC1zdGFydCI6eyJhbGlnbi1jb250ZW50IjoiZmxleC1zdGFydCJ9LCIuY29udGVudC1lbmQiOnsiYWxpZ24tY29udGVudCI6ImZsZXgtZW5kIn0sIi5jb250ZW50LWJldHdlZW4iOnsiYWxpZ24tY29udGVudCI6InNwYWNlLWJldHdlZW4ifSwiLmNvbnRlbnQtYXJvdW5kIjp7ImFsaWduLWNvbnRlbnQiOiJzcGFjZS1hcm91bmQifSwiLmNvbnRlbnQtZXZlbmx5Ijp7ImFsaWduLWNvbnRlbnQiOiJzcGFjZS1ldmVubHkifSwiLmNvbnRlbnQtYmFzZWxpbmUiOnsiYWxpZ24tY29udGVudCI6ImJhc2VsaW5lIn0sIi5jb250ZW50LXN0cmV0Y2giOnsiYWxpZ24tY29udGVudCI6InN0cmV0Y2gifX0pfSxhbGlnbkl0ZW1zOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuaXRlbXMtc3RhcnQiOnsiYWxpZ24taXRlbXMiOiJmbGV4LXN0YXJ0In0sIi5pdGVtcy1lbmQiOnsiYWxpZ24taXRlbXMiOiJmbGV4LWVuZCJ9LCIuaXRlbXMtY2VudGVyIjp7ImFsaWduLWl0ZW1zIjoiY2VudGVyIn0sIi5pdGVtcy1iYXNlbGluZSI6eyJhbGlnbi1pdGVtcyI6ImJhc2VsaW5lIn0sIi5pdGVtcy1zdHJldGNoIjp7ImFsaWduLWl0ZW1zIjoic3RyZXRjaCJ9fSl9LGp1c3RpZnlDb250ZW50Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuanVzdGlmeS1ub3JtYWwiOnsianVzdGlmeS1jb250ZW50Ijoibm9ybWFsIn0sIi5qdXN0aWZ5LXN0YXJ0Ijp7Imp1c3RpZnktY29udGVudCI6ImZsZXgtc3RhcnQifSwiLmp1c3RpZnktZW5kIjp7Imp1c3RpZnktY29udGVudCI6ImZsZXgtZW5kIn0sIi5qdXN0aWZ5LWNlbnRlciI6eyJqdXN0aWZ5LWNvbnRlbnQiOiJjZW50ZXIifSwiLmp1c3RpZnktYmV0d2VlbiI6eyJqdXN0aWZ5LWNvbnRlbnQiOiJzcGFjZS1iZXR3ZWVuIn0sIi5qdXN0aWZ5LWFyb3VuZCI6eyJqdXN0aWZ5LWNvbnRlbnQiOiJzcGFjZS1hcm91bmQifSwiLmp1c3RpZnktZXZlbmx5Ijp7Imp1c3RpZnktY29udGVudCI6InNwYWNlLWV2ZW5seSJ9LCIuanVzdGlmeS1zdHJldGNoIjp7Imp1c3RpZnktY29udGVudCI6InN0cmV0Y2gifX0pfSxqdXN0aWZ5SXRlbXM6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5qdXN0aWZ5LWl0ZW1zLXN0YXJ0Ijp7Imp1c3RpZnktaXRlbXMiOiJzdGFydCJ9LCIuanVzdGlmeS1pdGVtcy1lbmQiOnsianVzdGlmeS1pdGVtcyI6ImVuZCJ9LCIuanVzdGlmeS1pdGVtcy1jZW50ZXIiOnsianVzdGlmeS1pdGVtcyI6ImNlbnRlciJ9LCIuanVzdGlmeS1pdGVtcy1zdHJldGNoIjp7Imp1c3RpZnktaXRlbXMiOiJzdHJldGNoIn19KX0sZ2FwOkwoImdhcCIsW1siZ2FwIixbImdhcCJdXSxbWyJnYXAteCIsWyJjb2x1bW5HYXAiXV0sWyJnYXAteSIsWyJyb3dHYXAiXV1dXSksc3BhY2U6KHttYXRjaFV0aWxpdGllczpyLGFkZFV0aWxpdGllczplLHRoZW1lOnR9KT0+e3IoeyJzcGFjZS14IjppPT4oaT1pPT09IjAiPyIwcHgiOmkseyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyItLXR3LXNwYWNlLXgtcmV2ZXJzZSI6IjAiLCJtYXJnaW4tcmlnaHQiOmBjYWxjKCR7aX0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKWAsIm1hcmdpbi1sZWZ0IjpgY2FsYygke2l9ICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpYH19KSwic3BhY2UteSI6aT0+KGk9aT09PSIwIj8iMHB4IjppLHsiJiA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiLS10dy1zcGFjZS15LXJldmVyc2UiOiIwIiwibWFyZ2luLXRvcCI6YGNhbGMoJHtpfSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKWAsIm1hcmdpbi1ib3R0b20iOmBjYWxjKCR7aX0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKWB9fSl9LHt2YWx1ZXM6dCgic3BhY2UiKSxzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZSh7Ii5zcGFjZS15LXJldmVyc2UgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIjp7Ii0tdHctc3BhY2UteS1yZXZlcnNlIjoiMSJ9LCIuc3BhY2UteC1yZXZlcnNlID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyItLXR3LXNwYWNlLXgtcmV2ZXJzZSI6IjEifX0pfSxkaXZpZGVXaWR0aDooe21hdGNoVXRpbGl0aWVzOnIsYWRkVXRpbGl0aWVzOmUsdGhlbWU6dH0pPT57cih7ImRpdmlkZS14IjppPT4oaT1pPT09IjAiPyIwcHgiOmkseyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIjp7fSwiLS10dy1kaXZpZGUteC1yZXZlcnNlIjoiMCIsImJvcmRlci1yaWdodC13aWR0aCI6YGNhbGMoJHtpfSAqIHZhcigtLXR3LWRpdmlkZS14LXJldmVyc2UpKWAsImJvcmRlci1sZWZ0LXdpZHRoIjpgY2FsYygke2l9ICogY2FsYygxIC0gdmFyKC0tdHctZGl2aWRlLXgtcmV2ZXJzZSkpKWB9fSksImRpdmlkZS15IjppPT4oaT1pPT09IjAiPyIwcHgiOmkseyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIjp7fSwiLS10dy1kaXZpZGUteS1yZXZlcnNlIjoiMCIsImJvcmRlci10b3Atd2lkdGgiOmBjYWxjKCR7aX0gKiBjYWxjKDEgLSB2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSkpYCwiYm9yZGVyLWJvdHRvbS13aWR0aCI6YGNhbGMoJHtpfSAqIHZhcigtLXR3LWRpdmlkZS15LXJldmVyc2UpKWB9fSl9LHt2YWx1ZXM6dCgiZGl2aWRlV2lkdGgiKSx0eXBlOlsibGluZS13aWR0aCIsImxlbmd0aCIsImFueSJdfSksZSh7Ii5kaXZpZGUteS1yZXZlcnNlID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIjp7fSwiLS10dy1kaXZpZGUteS1yZXZlcnNlIjoiMSJ9LCIuZGl2aWRlLXgtcmV2ZXJzZSA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiQGRlZmF1bHRzIGJvcmRlci13aWR0aCI6e30sIi0tdHctZGl2aWRlLXgtcmV2ZXJzZSI6IjEifX0pfSxkaXZpZGVTdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmRpdmlkZS1zb2xpZCA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiYm9yZGVyLXN0eWxlIjoic29saWQifSwiLmRpdmlkZS1kYXNoZWQgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIjp7ImJvcmRlci1zdHlsZSI6ImRhc2hlZCJ9LCIuZGl2aWRlLWRvdHRlZCA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiYm9yZGVyLXN0eWxlIjoiZG90dGVkIn0sIi5kaXZpZGUtZG91YmxlID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJib3JkZXItc3R5bGUiOiJkb3VibGUifSwiLmRpdmlkZS1ub25lID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJib3JkZXItc3R5bGUiOiJub25lIn19KX0sZGl2aWRlQ29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29yZVBsdWdpbnM6dH0pPT57cih7ZGl2aWRlOmk9PnQoImRpdmlkZU9wYWNpdHkiKT97WyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSJdOkFlKHtjb2xvcjppLHByb3BlcnR5OiJib3JkZXItY29sb3IiLHZhcmlhYmxlOiItLXR3LWRpdmlkZS1vcGFjaXR5In0pfTp7WyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSJdOnsiYm9yZGVyLWNvbG9yIjpYKGkpfX19LHt2YWx1ZXM6KCh7REVGQVVMVDppLC4uLm59KT0+bikoeGUoZSgiZGl2aWRlQ29sb3IiKSkpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LGRpdmlkZU9wYWNpdHk6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJkaXZpZGUtb3BhY2l0eSI6dD0+KHtbIiYgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIl06eyItLXR3LWRpdmlkZS1vcGFjaXR5Ijp0fX0pfSx7dmFsdWVzOmUoImRpdmlkZU9wYWNpdHkiKX0pfSxwbGFjZVNlbGY6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5wbGFjZS1zZWxmLWF1dG8iOnsicGxhY2Utc2VsZiI6ImF1dG8ifSwiLnBsYWNlLXNlbGYtc3RhcnQiOnsicGxhY2Utc2VsZiI6InN0YXJ0In0sIi5wbGFjZS1zZWxmLWVuZCI6eyJwbGFjZS1zZWxmIjoiZW5kIn0sIi5wbGFjZS1zZWxmLWNlbnRlciI6eyJwbGFjZS1zZWxmIjoiY2VudGVyIn0sIi5wbGFjZS1zZWxmLXN0cmV0Y2giOnsicGxhY2Utc2VsZiI6InN0cmV0Y2gifX0pfSxhbGlnblNlbGY6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zZWxmLWF1dG8iOnsiYWxpZ24tc2VsZiI6ImF1dG8ifSwiLnNlbGYtc3RhcnQiOnsiYWxpZ24tc2VsZiI6ImZsZXgtc3RhcnQifSwiLnNlbGYtZW5kIjp7ImFsaWduLXNlbGYiOiJmbGV4LWVuZCJ9LCIuc2VsZi1jZW50ZXIiOnsiYWxpZ24tc2VsZiI6ImNlbnRlciJ9LCIuc2VsZi1zdHJldGNoIjp7ImFsaWduLXNlbGYiOiJzdHJldGNoIn0sIi5zZWxmLWJhc2VsaW5lIjp7ImFsaWduLXNlbGYiOiJiYXNlbGluZSJ9fSl9LGp1c3RpZnlTZWxmOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuanVzdGlmeS1zZWxmLWF1dG8iOnsianVzdGlmeS1zZWxmIjoiYXV0byJ9LCIuanVzdGlmeS1zZWxmLXN0YXJ0Ijp7Imp1c3RpZnktc2VsZiI6InN0YXJ0In0sIi5qdXN0aWZ5LXNlbGYtZW5kIjp7Imp1c3RpZnktc2VsZiI6ImVuZCJ9LCIuanVzdGlmeS1zZWxmLWNlbnRlciI6eyJqdXN0aWZ5LXNlbGYiOiJjZW50ZXIifSwiLmp1c3RpZnktc2VsZi1zdHJldGNoIjp7Imp1c3RpZnktc2VsZiI6InN0cmV0Y2gifX0pfSxvdmVyZmxvdzooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLm92ZXJmbG93LWF1dG8iOntvdmVyZmxvdzoiYXV0byJ9LCIub3ZlcmZsb3ctaGlkZGVuIjp7b3ZlcmZsb3c6ImhpZGRlbiJ9LCIub3ZlcmZsb3ctY2xpcCI6e292ZXJmbG93OiJjbGlwIn0sIi5vdmVyZmxvdy12aXNpYmxlIjp7b3ZlcmZsb3c6InZpc2libGUifSwiLm92ZXJmbG93LXNjcm9sbCI6e292ZXJmbG93OiJzY3JvbGwifSwiLm92ZXJmbG93LXgtYXV0byI6eyJvdmVyZmxvdy14IjoiYXV0byJ9LCIub3ZlcmZsb3cteS1hdXRvIjp7Im92ZXJmbG93LXkiOiJhdXRvIn0sIi5vdmVyZmxvdy14LWhpZGRlbiI6eyJvdmVyZmxvdy14IjoiaGlkZGVuIn0sIi5vdmVyZmxvdy15LWhpZGRlbiI6eyJvdmVyZmxvdy15IjoiaGlkZGVuIn0sIi5vdmVyZmxvdy14LWNsaXAiOnsib3ZlcmZsb3cteCI6ImNsaXAifSwiLm92ZXJmbG93LXktY2xpcCI6eyJvdmVyZmxvdy15IjoiY2xpcCJ9LCIub3ZlcmZsb3cteC12aXNpYmxlIjp7Im92ZXJmbG93LXgiOiJ2aXNpYmxlIn0sIi5vdmVyZmxvdy15LXZpc2libGUiOnsib3ZlcmZsb3cteSI6InZpc2libGUifSwiLm92ZXJmbG93LXgtc2Nyb2xsIjp7Im92ZXJmbG93LXgiOiJzY3JvbGwifSwiLm92ZXJmbG93LXktc2Nyb2xsIjp7Im92ZXJmbG93LXkiOiJzY3JvbGwifX0pfSxvdmVyc2Nyb2xsQmVoYXZpb3I6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5vdmVyc2Nyb2xsLWF1dG8iOnsib3ZlcnNjcm9sbC1iZWhhdmlvciI6ImF1dG8ifSwiLm92ZXJzY3JvbGwtY29udGFpbiI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yIjoiY29udGFpbiJ9LCIub3ZlcnNjcm9sbC1ub25lIjp7Im92ZXJzY3JvbGwtYmVoYXZpb3IiOiJub25lIn0sIi5vdmVyc2Nyb2xsLXktYXV0byI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXkiOiJhdXRvIn0sIi5vdmVyc2Nyb2xsLXktY29udGFpbiI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXkiOiJjb250YWluIn0sIi5vdmVyc2Nyb2xsLXktbm9uZSI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXkiOiJub25lIn0sIi5vdmVyc2Nyb2xsLXgtYXV0byI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXgiOiJhdXRvIn0sIi5vdmVyc2Nyb2xsLXgtY29udGFpbiI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXgiOiJjb250YWluIn0sIi5vdmVyc2Nyb2xsLXgtbm9uZSI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXgiOiJub25lIn19KX0sc2Nyb2xsQmVoYXZpb3I6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zY3JvbGwtYXV0byI6eyJzY3JvbGwtYmVoYXZpb3IiOiJhdXRvIn0sIi5zY3JvbGwtc21vb3RoIjp7InNjcm9sbC1iZWhhdmlvciI6InNtb290aCJ9fSl9LHRleHRPdmVyZmxvdzooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnRydW5jYXRlIjp7b3ZlcmZsb3c6ImhpZGRlbiIsInRleHQtb3ZlcmZsb3ciOiJlbGxpcHNpcyIsIndoaXRlLXNwYWNlIjoibm93cmFwIn0sIi5vdmVyZmxvdy1lbGxpcHNpcyI6eyJ0ZXh0LW92ZXJmbG93IjoiZWxsaXBzaXMifSwiLnRleHQtZWxsaXBzaXMiOnsidGV4dC1vdmVyZmxvdyI6ImVsbGlwc2lzIn0sIi50ZXh0LWNsaXAiOnsidGV4dC1vdmVyZmxvdyI6ImNsaXAifX0pfSxoeXBoZW5zOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuaHlwaGVucy1ub25lIjp7aHlwaGVuczoibm9uZSJ9LCIuaHlwaGVucy1tYW51YWwiOntoeXBoZW5zOiJtYW51YWwifSwiLmh5cGhlbnMtYXV0byI6e2h5cGhlbnM6ImF1dG8ifX0pfSx3aGl0ZXNwYWNlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIud2hpdGVzcGFjZS1ub3JtYWwiOnsid2hpdGUtc3BhY2UiOiJub3JtYWwifSwiLndoaXRlc3BhY2Utbm93cmFwIjp7IndoaXRlLXNwYWNlIjoibm93cmFwIn0sIi53aGl0ZXNwYWNlLXByZSI6eyJ3aGl0ZS1zcGFjZSI6InByZSJ9LCIud2hpdGVzcGFjZS1wcmUtbGluZSI6eyJ3aGl0ZS1zcGFjZSI6InByZS1saW5lIn0sIi53aGl0ZXNwYWNlLXByZS13cmFwIjp7IndoaXRlLXNwYWNlIjoicHJlLXdyYXAifSwiLndoaXRlc3BhY2UtYnJlYWstc3BhY2VzIjp7IndoaXRlLXNwYWNlIjoiYnJlYWstc3BhY2VzIn19KX0sdGV4dFdyYXA6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii50ZXh0LXdyYXAiOnsidGV4dC13cmFwIjoid3JhcCJ9LCIudGV4dC1ub3dyYXAiOnsidGV4dC13cmFwIjoibm93cmFwIn0sIi50ZXh0LWJhbGFuY2UiOnsidGV4dC13cmFwIjoiYmFsYW5jZSJ9LCIudGV4dC1wcmV0dHkiOnsidGV4dC13cmFwIjoicHJldHR5In19KX0sd29yZEJyZWFrOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYnJlYWstbm9ybWFsIjp7Im92ZXJmbG93LXdyYXAiOiJub3JtYWwiLCJ3b3JkLWJyZWFrIjoibm9ybWFsIn0sIi5icmVhay13b3JkcyI6eyJvdmVyZmxvdy13cmFwIjoiYnJlYWstd29yZCJ9LCIuYnJlYWstYWxsIjp7IndvcmQtYnJlYWsiOiJicmVhay1hbGwifSwiLmJyZWFrLWtlZXAiOnsid29yZC1icmVhayI6ImtlZXAtYWxsIn19KX0sYm9yZGVyUmFkaXVzOkwoImJvcmRlclJhZGl1cyIsW1sicm91bmRlZCIsWyJib3JkZXItcmFkaXVzIl1dLFtbInJvdW5kZWQtcyIsWyJib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzIiwiYm9yZGVyLWVuZC1zdGFydC1yYWRpdXMiXV0sWyJyb3VuZGVkLWUiLFsiYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXMiLCJib3JkZXItZW5kLWVuZC1yYWRpdXMiXV0sWyJyb3VuZGVkLXQiLFsiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyIsImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIl1dLFsicm91bmRlZC1yIixbImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIiwiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiXV0sWyJyb3VuZGVkLWIiLFsiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLCJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIl1dLFsicm91bmRlZC1sIixbImJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIl1dXSxbWyJyb3VuZGVkLXNzIixbImJvcmRlci1zdGFydC1zdGFydC1yYWRpdXMiXV0sWyJyb3VuZGVkLXNlIixbImJvcmRlci1zdGFydC1lbmQtcmFkaXVzIl1dLFsicm91bmRlZC1lZSIsWyJib3JkZXItZW5kLWVuZC1yYWRpdXMiXV0sWyJyb3VuZGVkLWVzIixbImJvcmRlci1lbmQtc3RhcnQtcmFkaXVzIl1dLFsicm91bmRlZC10bCIsWyJib3JkZXItdG9wLWxlZnQtcmFkaXVzIl1dLFsicm91bmRlZC10ciIsWyJib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyJdXSxbInJvdW5kZWQtYnIiLFsiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiXV0sWyJyb3VuZGVkLWJsIixbImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMiXV1dXSksYm9yZGVyV2lkdGg6TCgiYm9yZGVyV2lkdGgiLFtbImJvcmRlciIsW1siQGRlZmF1bHRzIGJvcmRlci13aWR0aCIse31dLCJib3JkZXItd2lkdGgiXV0sW1siYm9yZGVyLXgiLFtbIkBkZWZhdWx0cyBib3JkZXItd2lkdGgiLHt9XSwiYm9yZGVyLWxlZnQtd2lkdGgiLCJib3JkZXItcmlnaHQtd2lkdGgiXV0sWyJib3JkZXIteSIsW1siQGRlZmF1bHRzIGJvcmRlci13aWR0aCIse31dLCJib3JkZXItdG9wLXdpZHRoIiwiYm9yZGVyLWJvdHRvbS13aWR0aCJdXV0sW1siYm9yZGVyLXMiLFtbIkBkZWZhdWx0cyBib3JkZXItd2lkdGgiLHt9XSwiYm9yZGVyLWlubGluZS1zdGFydC13aWR0aCJdXSxbImJvcmRlci1lIixbWyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIix7fV0sImJvcmRlci1pbmxpbmUtZW5kLXdpZHRoIl1dLFsiYm9yZGVyLXQiLFtbIkBkZWZhdWx0cyBib3JkZXItd2lkdGgiLHt9XSwiYm9yZGVyLXRvcC13aWR0aCJdXSxbImJvcmRlci1yIixbWyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIix7fV0sImJvcmRlci1yaWdodC13aWR0aCJdXSxbImJvcmRlci1iIixbWyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIix7fV0sImJvcmRlci1ib3R0b20td2lkdGgiXV0sWyJib3JkZXItbCIsW1siQGRlZmF1bHRzIGJvcmRlci13aWR0aCIse31dLCJib3JkZXItbGVmdC13aWR0aCJdXV1dLHt0eXBlOlsibGluZS13aWR0aCIsImxlbmd0aCJdfSksYm9yZGVyU3R5bGU6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5ib3JkZXItc29saWQiOnsiYm9yZGVyLXN0eWxlIjoic29saWQifSwiLmJvcmRlci1kYXNoZWQiOnsiYm9yZGVyLXN0eWxlIjoiZGFzaGVkIn0sIi5ib3JkZXItZG90dGVkIjp7ImJvcmRlci1zdHlsZSI6ImRvdHRlZCJ9LCIuYm9yZGVyLWRvdWJsZSI6eyJib3JkZXItc3R5bGUiOiJkb3VibGUifSwiLmJvcmRlci1oaWRkZW4iOnsiYm9yZGVyLXN0eWxlIjoiaGlkZGVuIn0sIi5ib3JkZXItbm9uZSI6eyJib3JkZXItc3R5bGUiOiJub25lIn19KX0sYm9yZGVyQ29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29yZVBsdWdpbnM6dH0pPT57cih7Ym9yZGVyOmk9PnQoImJvcmRlck9wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiYm9yZGVyLWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1jb2xvciI6WChpKX19LHt2YWx1ZXM6KCh7REVGQVVMVDppLC4uLm59KT0+bikoeGUoZSgiYm9yZGVyQ29sb3IiKSkpLHR5cGU6WyJjb2xvciIsImFueSJdfSkscih7ImJvcmRlci14IjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6WyJib3JkZXItbGVmdC1jb2xvciIsImJvcmRlci1yaWdodC1jb2xvciJdLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLWxlZnQtY29sb3IiOlgoaSksImJvcmRlci1yaWdodC1jb2xvciI6WChpKX0sImJvcmRlci15IjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6WyJib3JkZXItdG9wLWNvbG9yIiwiYm9yZGVyLWJvdHRvbS1jb2xvciJdLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLXRvcC1jb2xvciI6WChpKSwiYm9yZGVyLWJvdHRvbS1jb2xvciI6WChpKX19LHt2YWx1ZXM6KCh7REVGQVVMVDppLC4uLm59KT0+bikoeGUoZSgiYm9yZGVyQ29sb3IiKSkpLHR5cGU6WyJjb2xvciIsImFueSJdfSkscih7ImJvcmRlci1zIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3IiLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLWlubGluZS1zdGFydC1jb2xvciI6WChpKX0sImJvcmRlci1lIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1pbmxpbmUtZW5kLWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1pbmxpbmUtZW5kLWNvbG9yIjpYKGkpfSwiYm9yZGVyLXQiOmk9PnQoImJvcmRlck9wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiYm9yZGVyLXRvcC1jb2xvciIsdmFyaWFibGU6Ii0tdHctYm9yZGVyLW9wYWNpdHkifSk6eyJib3JkZXItdG9wLWNvbG9yIjpYKGkpfSwiYm9yZGVyLXIiOmk9PnQoImJvcmRlck9wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiYm9yZGVyLXJpZ2h0LWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1yaWdodC1jb2xvciI6WChpKX0sImJvcmRlci1iIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1ib3R0b20tY29sb3IiLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLWJvdHRvbS1jb2xvciI6WChpKX0sImJvcmRlci1sIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1sZWZ0LWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1sZWZ0LWNvbG9yIjpYKGkpfX0se3ZhbHVlczooKHtERUZBVUxUOmksLi4ubn0pPT5uKSh4ZShlKCJib3JkZXJDb2xvciIpKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sYm9yZGVyT3BhY2l0eTpMKCJib3JkZXJPcGFjaXR5IixbWyJib3JkZXItb3BhY2l0eSIsWyItLXR3LWJvcmRlci1vcGFjaXR5Il1dXSksYmFja2dyb3VuZENvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplLGNvcmVQbHVnaW5zOnR9KT0+e3Ioe2JnOmk9PnQoImJhY2tncm91bmRPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJhY2tncm91bmQtY29sb3IiLHZhcmlhYmxlOiItLXR3LWJnLW9wYWNpdHkifSk6eyJiYWNrZ3JvdW5kLWNvbG9yIjpYKGkpfX0se3ZhbHVlczp4ZShlKCJiYWNrZ3JvdW5kQ29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sYmFja2dyb3VuZE9wYWNpdHk6TCgiYmFja2dyb3VuZE9wYWNpdHkiLFtbImJnLW9wYWNpdHkiLFsiLS10dy1iZy1vcGFjaXR5Il1dXSksYmFja2dyb3VuZEltYWdlOkwoImJhY2tncm91bmRJbWFnZSIsW1siYmciLFsiYmFja2dyb3VuZC1pbWFnZSJdXV0se3R5cGU6WyJsb29rdXAiLCJpbWFnZSIsInVybCJdfSksZ3JhZGllbnRDb2xvclN0b3BzOigoKT0+e2Z1bmN0aW9uIHIoZSl7cmV0dXJuIEplKGUsMCwicmdiKDI1NSAyNTUgMjU1IC8gMCkiKX1yZXR1cm4gZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOmUsdGhlbWU6dCxhZGREZWZhdWx0czppfSl7aSgiZ3JhZGllbnQtY29sb3Itc3RvcHMiLHsiLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uIjoiICIsIi0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uIjoiICIsIi0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24iOiIgIn0pO2xldCBuPXt2YWx1ZXM6eGUodCgiZ3JhZGllbnRDb2xvclN0b3BzIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSxzPXt2YWx1ZXM6dCgiZ3JhZGllbnRDb2xvclN0b3BQb3NpdGlvbnMiKSx0eXBlOlsibGVuZ3RoIiwicGVyY2VudGFnZSJdfTtlKHtmcm9tOmE9PntsZXQgbz1yKGEpO3JldHVybnsiQGRlZmF1bHRzIGdyYWRpZW50LWNvbG9yLXN0b3BzIjp7fSwiLS10dy1ncmFkaWVudC1mcm9tIjpgJHtYKGEpfSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKWAsIi0tdHctZ3JhZGllbnQtdG8iOmAke299IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKWAsIi0tdHctZ3JhZGllbnQtc3RvcHMiOiJ2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIn19fSxuKSxlKHtmcm9tOmE9Pih7Ii0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiI6YX0pfSxzKSxlKHt2aWE6YT0+e2xldCBvPXIoYSk7cmV0dXJueyJAZGVmYXVsdHMgZ3JhZGllbnQtY29sb3Itc3RvcHMiOnt9LCItLXR3LWdyYWRpZW50LXRvIjpgJHtvfSAgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pYCwiLS10dy1ncmFkaWVudC1zdG9wcyI6YHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAke1goYSl9IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKWB9fX0sbiksZSh7dmlhOmE9Pih7Ii0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uIjphfSl9LHMpLGUoe3RvOmE9Pih7IkBkZWZhdWx0cyBncmFkaWVudC1jb2xvci1zdG9wcyI6e30sIi0tdHctZ3JhZGllbnQtdG8iOmAke1goYSl9IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKWB9KX0sbiksZSh7dG86YT0+KHsiLS10dy1ncmFkaWVudC10by1wb3NpdGlvbiI6YX0pfSxzKX19KSgpLGJveERlY29yYXRpb25CcmVhazooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmRlY29yYXRpb24tc2xpY2UiOnsiYm94LWRlY29yYXRpb24tYnJlYWsiOiJzbGljZSJ9LCIuZGVjb3JhdGlvbi1jbG9uZSI6eyJib3gtZGVjb3JhdGlvbi1icmVhayI6ImNsb25lIn0sIi5ib3gtZGVjb3JhdGlvbi1zbGljZSI6eyJib3gtZGVjb3JhdGlvbi1icmVhayI6InNsaWNlIn0sIi5ib3gtZGVjb3JhdGlvbi1jbG9uZSI6eyJib3gtZGVjb3JhdGlvbi1icmVhayI6ImNsb25lIn19KX0sYmFja2dyb3VuZFNpemU6TCgiYmFja2dyb3VuZFNpemUiLFtbImJnIixbImJhY2tncm91bmQtc2l6ZSJdXV0se3R5cGU6WyJsb29rdXAiLCJsZW5ndGgiLCJwZXJjZW50YWdlIiwic2l6ZSJdfSksYmFja2dyb3VuZEF0dGFjaG1lbnQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5iZy1maXhlZCI6eyJiYWNrZ3JvdW5kLWF0dGFjaG1lbnQiOiJmaXhlZCJ9LCIuYmctbG9jYWwiOnsiYmFja2dyb3VuZC1hdHRhY2htZW50IjoibG9jYWwifSwiLmJnLXNjcm9sbCI6eyJiYWNrZ3JvdW5kLWF0dGFjaG1lbnQiOiJzY3JvbGwifX0pfSxiYWNrZ3JvdW5kQ2xpcDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmJnLWNsaXAtYm9yZGVyIjp7ImJhY2tncm91bmQtY2xpcCI6ImJvcmRlci1ib3gifSwiLmJnLWNsaXAtcGFkZGluZyI6eyJiYWNrZ3JvdW5kLWNsaXAiOiJwYWRkaW5nLWJveCJ9LCIuYmctY2xpcC1jb250ZW50Ijp7ImJhY2tncm91bmQtY2xpcCI6ImNvbnRlbnQtYm94In0sIi5iZy1jbGlwLXRleHQiOnsiYmFja2dyb3VuZC1jbGlwIjoidGV4dCJ9fSl9LGJhY2tncm91bmRQb3NpdGlvbjpMKCJiYWNrZ3JvdW5kUG9zaXRpb24iLFtbImJnIixbImJhY2tncm91bmQtcG9zaXRpb24iXV1dLHt0eXBlOlsibG9va3VwIixbInBvc2l0aW9uIix7cHJlZmVyT25Db25mbGljdDohMH1dXX0pLGJhY2tncm91bmRSZXBlYXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5iZy1yZXBlYXQiOnsiYmFja2dyb3VuZC1yZXBlYXQiOiJyZXBlYXQifSwiLmJnLW5vLXJlcGVhdCI6eyJiYWNrZ3JvdW5kLXJlcGVhdCI6Im5vLXJlcGVhdCJ9LCIuYmctcmVwZWF0LXgiOnsiYmFja2dyb3VuZC1yZXBlYXQiOiJyZXBlYXQteCJ9LCIuYmctcmVwZWF0LXkiOnsiYmFja2dyb3VuZC1yZXBlYXQiOiJyZXBlYXQteSJ9LCIuYmctcmVwZWF0LXJvdW5kIjp7ImJhY2tncm91bmQtcmVwZWF0Ijoicm91bmQifSwiLmJnLXJlcGVhdC1zcGFjZSI6eyJiYWNrZ3JvdW5kLXJlcGVhdCI6InNwYWNlIn19KX0sYmFja2dyb3VuZE9yaWdpbjooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmJnLW9yaWdpbi1ib3JkZXIiOnsiYmFja2dyb3VuZC1vcmlnaW4iOiJib3JkZXItYm94In0sIi5iZy1vcmlnaW4tcGFkZGluZyI6eyJiYWNrZ3JvdW5kLW9yaWdpbiI6InBhZGRpbmctYm94In0sIi5iZy1vcmlnaW4tY29udGVudCI6eyJiYWNrZ3JvdW5kLW9yaWdpbiI6ImNvbnRlbnQtYm94In19KX0sZmlsbDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7ZmlsbDp0PT4oe2ZpbGw6WCh0KX0pfSx7dmFsdWVzOnhlKGUoImZpbGwiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sc3Ryb2tlOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtzdHJva2U6dD0+KHtzdHJva2U6WCh0KX0pfSx7dmFsdWVzOnhlKGUoInN0cm9rZSIpKSx0eXBlOlsiY29sb3IiLCJ1cmwiLCJhbnkiXX0pfSxzdHJva2VXaWR0aDpMKCJzdHJva2VXaWR0aCIsW1sic3Ryb2tlIixbInN0cm9rZS13aWR0aCJdXV0se3R5cGU6WyJsZW5ndGgiLCJudW1iZXIiLCJwZXJjZW50YWdlIl19KSxvYmplY3RGaXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5vYmplY3QtY29udGFpbiI6eyJvYmplY3QtZml0IjoiY29udGFpbiJ9LCIub2JqZWN0LWNvdmVyIjp7Im9iamVjdC1maXQiOiJjb3ZlciJ9LCIub2JqZWN0LWZpbGwiOnsib2JqZWN0LWZpdCI6ImZpbGwifSwiLm9iamVjdC1ub25lIjp7Im9iamVjdC1maXQiOiJub25lIn0sIi5vYmplY3Qtc2NhbGUtZG93biI6eyJvYmplY3QtZml0Ijoic2NhbGUtZG93biJ9fSl9LG9iamVjdFBvc2l0aW9uOkwoIm9iamVjdFBvc2l0aW9uIixbWyJvYmplY3QiLFsib2JqZWN0LXBvc2l0aW9uIl1dXSkscGFkZGluZzpMKCJwYWRkaW5nIixbWyJwIixbInBhZGRpbmciXV0sW1sicHgiLFsicGFkZGluZy1sZWZ0IiwicGFkZGluZy1yaWdodCJdXSxbInB5IixbInBhZGRpbmctdG9wIiwicGFkZGluZy1ib3R0b20iXV1dLFtbInBzIixbInBhZGRpbmctaW5saW5lLXN0YXJ0Il1dLFsicGUiLFsicGFkZGluZy1pbmxpbmUtZW5kIl1dLFsicHQiLFsicGFkZGluZy10b3AiXV0sWyJwciIsWyJwYWRkaW5nLXJpZ2h0Il1dLFsicGIiLFsicGFkZGluZy1ib3R0b20iXV0sWyJwbCIsWyJwYWRkaW5nLWxlZnQiXV1dXSksdGV4dEFsaWduOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIudGV4dC1sZWZ0Ijp7InRleHQtYWxpZ24iOiJsZWZ0In0sIi50ZXh0LWNlbnRlciI6eyJ0ZXh0LWFsaWduIjoiY2VudGVyIn0sIi50ZXh0LXJpZ2h0Ijp7InRleHQtYWxpZ24iOiJyaWdodCJ9LCIudGV4dC1qdXN0aWZ5Ijp7InRleHQtYWxpZ24iOiJqdXN0aWZ5In0sIi50ZXh0LXN0YXJ0Ijp7InRleHQtYWxpZ24iOiJzdGFydCJ9LCIudGV4dC1lbmQiOnsidGV4dC1hbGlnbiI6ImVuZCJ9fSl9LHRleHRJbmRlbnQ6TCgidGV4dEluZGVudCIsW1siaW5kZW50IixbInRleHQtaW5kZW50Il1dXSx7c3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pLHZlcnRpY2FsQWxpZ246KHthZGRVdGlsaXRpZXM6cixtYXRjaFV0aWxpdGllczplfSk9PntyKHsiLmFsaWduLWJhc2VsaW5lIjp7InZlcnRpY2FsLWFsaWduIjoiYmFzZWxpbmUifSwiLmFsaWduLXRvcCI6eyJ2ZXJ0aWNhbC1hbGlnbiI6InRvcCJ9LCIuYWxpZ24tbWlkZGxlIjp7InZlcnRpY2FsLWFsaWduIjoibWlkZGxlIn0sIi5hbGlnbi1ib3R0b20iOnsidmVydGljYWwtYWxpZ24iOiJib3R0b20ifSwiLmFsaWduLXRleHQtdG9wIjp7InZlcnRpY2FsLWFsaWduIjoidGV4dC10b3AifSwiLmFsaWduLXRleHQtYm90dG9tIjp7InZlcnRpY2FsLWFsaWduIjoidGV4dC1ib3R0b20ifSwiLmFsaWduLXN1YiI6eyJ2ZXJ0aWNhbC1hbGlnbiI6InN1YiJ9LCIuYWxpZ24tc3VwZXIiOnsidmVydGljYWwtYWxpZ24iOiJzdXBlciJ9fSksZSh7YWxpZ246dD0+KHsidmVydGljYWwtYWxpZ24iOnR9KX0pfSxmb250RmFtaWx5Oih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtmb250OnQ9PntsZXRbaSxuPXt9XT1BcnJheS5pc0FycmF5KHQpJiZrZSh0WzFdKT90Olt0XSx7Zm9udEZlYXR1cmVTZXR0aW5nczpzLGZvbnRWYXJpYXRpb25TZXR0aW5nczphfT1uO3JldHVybnsiZm9udC1mYW1pbHkiOkFycmF5LmlzQXJyYXkoaSk/aS5qb2luKCIsICIpOmksLi4ucz09PXZvaWQgMD97fTp7ImZvbnQtZmVhdHVyZS1zZXR0aW5ncyI6c30sLi4uYT09PXZvaWQgMD97fTp7ImZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIjphfX19fSx7dmFsdWVzOmUoImZvbnRGYW1pbHkiKSx0eXBlOlsibG9va3VwIiwiZ2VuZXJpYy1uYW1lIiwiZmFtaWx5LW5hbWUiXX0pfSxmb250U2l6ZTooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7dGV4dDoodCx7bW9kaWZpZXI6aX0pPT57bGV0W24sc109QXJyYXkuaXNBcnJheSh0KT90Olt0XTtpZihpKXJldHVybnsiZm9udC1zaXplIjpuLCJsaW5lLWhlaWdodCI6aX07bGV0e2xpbmVIZWlnaHQ6YSxsZXR0ZXJTcGFjaW5nOm8sZm9udFdlaWdodDpsfT1rZShzKT9zOntsaW5lSGVpZ2h0OnN9O3JldHVybnsiZm9udC1zaXplIjpuLC4uLmE9PT12b2lkIDA/e306eyJsaW5lLWhlaWdodCI6YX0sLi4ubz09PXZvaWQgMD97fTp7ImxldHRlci1zcGFjaW5nIjpvfSwuLi5sPT09dm9pZCAwP3t9OnsiZm9udC13ZWlnaHQiOmx9fX19LHt2YWx1ZXM6ZSgiZm9udFNpemUiKSxtb2RpZmllcnM6ZSgibGluZUhlaWdodCIpLHR5cGU6WyJhYnNvbHV0ZS1zaXplIiwicmVsYXRpdmUtc2l6ZSIsImxlbmd0aCIsInBlcmNlbnRhZ2UiXX0pfSxmb250V2VpZ2h0OkwoImZvbnRXZWlnaHQiLFtbImZvbnQiLFsiZm9udFdlaWdodCJdXV0se3R5cGU6WyJsb29rdXAiLCJudW1iZXIiLCJhbnkiXX0pLHRleHRUcmFuc2Zvcm06KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii51cHBlcmNhc2UiOnsidGV4dC10cmFuc2Zvcm0iOiJ1cHBlcmNhc2UifSwiLmxvd2VyY2FzZSI6eyJ0ZXh0LXRyYW5zZm9ybSI6Imxvd2VyY2FzZSJ9LCIuY2FwaXRhbGl6ZSI6eyJ0ZXh0LXRyYW5zZm9ybSI6ImNhcGl0YWxpemUifSwiLm5vcm1hbC1jYXNlIjp7InRleHQtdHJhbnNmb3JtIjoibm9uZSJ9fSl9LGZvbnRTdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLml0YWxpYyI6eyJmb250LXN0eWxlIjoiaXRhbGljIn0sIi5ub3QtaXRhbGljIjp7ImZvbnQtc3R5bGUiOiJub3JtYWwifX0pfSxmb250VmFyaWFudE51bWVyaWM6KHthZGREZWZhdWx0czpyLGFkZFV0aWxpdGllczplfSk9PntsZXQgdD0idmFyKC0tdHctb3JkaW5hbCkgdmFyKC0tdHctc2xhc2hlZC16ZXJvKSB2YXIoLS10dy1udW1lcmljLWZpZ3VyZSkgdmFyKC0tdHctbnVtZXJpYy1zcGFjaW5nKSB2YXIoLS10dy1udW1lcmljLWZyYWN0aW9uKSI7cigiZm9udC12YXJpYW50LW51bWVyaWMiLHsiLS10dy1vcmRpbmFsIjoiICIsIi0tdHctc2xhc2hlZC16ZXJvIjoiICIsIi0tdHctbnVtZXJpYy1maWd1cmUiOiIgIiwiLS10dy1udW1lcmljLXNwYWNpbmciOiIgIiwiLS10dy1udW1lcmljLWZyYWN0aW9uIjoiICJ9KSxlKHsiLm5vcm1hbC1udW1zIjp7ImZvbnQtdmFyaWFudC1udW1lcmljIjoibm9ybWFsIn0sIi5vcmRpbmFsIjp7IkBkZWZhdWx0cyBmb250LXZhcmlhbnQtbnVtZXJpYyI6e30sIi0tdHctb3JkaW5hbCI6Im9yZGluYWwiLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5zbGFzaGVkLXplcm8iOnsiQGRlZmF1bHRzIGZvbnQtdmFyaWFudC1udW1lcmljIjp7fSwiLS10dy1zbGFzaGVkLXplcm8iOiJzbGFzaGVkLXplcm8iLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5saW5pbmctbnVtcyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtZmlndXJlIjoibGluaW5nLW51bXMiLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5vbGRzdHlsZS1udW1zIjp7IkBkZWZhdWx0cyBmb250LXZhcmlhbnQtbnVtZXJpYyI6e30sIi0tdHctbnVtZXJpYy1maWd1cmUiOiJvbGRzdHlsZS1udW1zIiwiZm9udC12YXJpYW50LW51bWVyaWMiOnR9LCIucHJvcG9ydGlvbmFsLW51bXMiOnsiQGRlZmF1bHRzIGZvbnQtdmFyaWFudC1udW1lcmljIjp7fSwiLS10dy1udW1lcmljLXNwYWNpbmciOiJwcm9wb3J0aW9uYWwtbnVtcyIsImZvbnQtdmFyaWFudC1udW1lcmljIjp0fSwiLnRhYnVsYXItbnVtcyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtc3BhY2luZyI6InRhYnVsYXItbnVtcyIsImZvbnQtdmFyaWFudC1udW1lcmljIjp0fSwiLmRpYWdvbmFsLWZyYWN0aW9ucyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtZnJhY3Rpb24iOiJkaWFnb25hbC1mcmFjdGlvbnMiLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5zdGFja2VkLWZyYWN0aW9ucyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtZnJhY3Rpb24iOiJzdGFja2VkLWZyYWN0aW9ucyIsImZvbnQtdmFyaWFudC1udW1lcmljIjp0fX0pfSxsaW5lSGVpZ2h0OkwoImxpbmVIZWlnaHQiLFtbImxlYWRpbmciLFsibGluZUhlaWdodCJdXV0pLGxldHRlclNwYWNpbmc6TCgibGV0dGVyU3BhY2luZyIsW1sidHJhY2tpbmciLFsibGV0dGVyU3BhY2luZyJdXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSx0ZXh0Q29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29yZVBsdWdpbnM6dH0pPT57cih7dGV4dDppPT50KCJ0ZXh0T3BhY2l0eSIpP0FlKHtjb2xvcjppLHByb3BlcnR5OiJjb2xvciIsdmFyaWFibGU6Ii0tdHctdGV4dC1vcGFjaXR5In0pOntjb2xvcjpYKGkpfX0se3ZhbHVlczp4ZShlKCJ0ZXh0Q29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sdGV4dE9wYWNpdHk6TCgidGV4dE9wYWNpdHkiLFtbInRleHQtb3BhY2l0eSIsWyItLXR3LXRleHQtb3BhY2l0eSJdXV0pLHRleHREZWNvcmF0aW9uOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIudW5kZXJsaW5lIjp7InRleHQtZGVjb3JhdGlvbi1saW5lIjoidW5kZXJsaW5lIn0sIi5vdmVybGluZSI6eyJ0ZXh0LWRlY29yYXRpb24tbGluZSI6Im92ZXJsaW5lIn0sIi5saW5lLXRocm91Z2giOnsidGV4dC1kZWNvcmF0aW9uLWxpbmUiOiJsaW5lLXRocm91Z2gifSwiLm5vLXVuZGVybGluZSI6eyJ0ZXh0LWRlY29yYXRpb24tbGluZSI6Im5vbmUifX0pfSx0ZXh0RGVjb3JhdGlvbkNvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtkZWNvcmF0aW9uOnQ9Pih7InRleHQtZGVjb3JhdGlvbi1jb2xvciI6WCh0KX0pfSx7dmFsdWVzOnhlKGUoInRleHREZWNvcmF0aW9uQ29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sdGV4dERlY29yYXRpb25TdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmRlY29yYXRpb24tc29saWQiOnsidGV4dC1kZWNvcmF0aW9uLXN0eWxlIjoic29saWQifSwiLmRlY29yYXRpb24tZG91YmxlIjp7InRleHQtZGVjb3JhdGlvbi1zdHlsZSI6ImRvdWJsZSJ9LCIuZGVjb3JhdGlvbi1kb3R0ZWQiOnsidGV4dC1kZWNvcmF0aW9uLXN0eWxlIjoiZG90dGVkIn0sIi5kZWNvcmF0aW9uLWRhc2hlZCI6eyJ0ZXh0LWRlY29yYXRpb24tc3R5bGUiOiJkYXNoZWQifSwiLmRlY29yYXRpb24td2F2eSI6eyJ0ZXh0LWRlY29yYXRpb24tc3R5bGUiOiJ3YXZ5In19KX0sdGV4dERlY29yYXRpb25UaGlja25lc3M6TCgidGV4dERlY29yYXRpb25UaGlja25lc3MiLFtbImRlY29yYXRpb24iLFsidGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyJdXV0se3R5cGU6WyJsZW5ndGgiLCJwZXJjZW50YWdlIl19KSx0ZXh0VW5kZXJsaW5lT2Zmc2V0OkwoInRleHRVbmRlcmxpbmVPZmZzZXQiLFtbInVuZGVybGluZS1vZmZzZXQiLFsidGV4dC11bmRlcmxpbmUtb2Zmc2V0Il1dXSx7dHlwZTpbImxlbmd0aCIsInBlcmNlbnRhZ2UiLCJhbnkiXX0pLGZvbnRTbW9vdGhpbmc6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5hbnRpYWxpYXNlZCI6eyItd2Via2l0LWZvbnQtc21vb3RoaW5nIjoiYW50aWFsaWFzZWQiLCItbW96LW9zeC1mb250LXNtb290aGluZyI6ImdyYXlzY2FsZSJ9LCIuc3VicGl4ZWwtYW50aWFsaWFzZWQiOnsiLXdlYmtpdC1mb250LXNtb290aGluZyI6ImF1dG8iLCItbW96LW9zeC1mb250LXNtb290aGluZyI6ImF1dG8ifX0pfSxwbGFjZWhvbGRlckNvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplLGNvcmVQbHVnaW5zOnR9KT0+e3Ioe3BsYWNlaG9sZGVyOmk9PnQoInBsYWNlaG9sZGVyT3BhY2l0eSIpP3siJjo6cGxhY2Vob2xkZXIiOkFlKHtjb2xvcjppLHByb3BlcnR5OiJjb2xvciIsdmFyaWFibGU6Ii0tdHctcGxhY2Vob2xkZXItb3BhY2l0eSJ9KX06eyImOjpwbGFjZWhvbGRlciI6e2NvbG9yOlgoaSl9fX0se3ZhbHVlczp4ZShlKCJwbGFjZWhvbGRlckNvbG9yIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LHBsYWNlaG9sZGVyT3BhY2l0eTooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7InBsYWNlaG9sZGVyLW9wYWNpdHkiOnQ9Pih7WyImOjpwbGFjZWhvbGRlciJdOnsiLS10dy1wbGFjZWhvbGRlci1vcGFjaXR5Ijp0fX0pfSx7dmFsdWVzOmUoInBsYWNlaG9sZGVyT3BhY2l0eSIpfSl9LGNhcmV0Q29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe2NhcmV0OnQ9Pih7ImNhcmV0LWNvbG9yIjpYKHQpfSl9LHt2YWx1ZXM6eGUoZSgiY2FyZXRDb2xvciIpKSx0eXBlOlsiY29sb3IiLCJhbnkiXX0pfSxhY2NlbnRDb2xvcjooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7YWNjZW50OnQ9Pih7ImFjY2VudC1jb2xvciI6WCh0KX0pfSx7dmFsdWVzOnhlKGUoImFjY2VudENvbG9yIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LG9wYWNpdHk6TCgib3BhY2l0eSIsW1sib3BhY2l0eSIsWyJvcGFjaXR5Il1dXSksYmFja2dyb3VuZEJsZW5kTW9kZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmJnLWJsZW5kLW5vcm1hbCI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJub3JtYWwifSwiLmJnLWJsZW5kLW11bHRpcGx5Ijp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6Im11bHRpcGx5In0sIi5iZy1ibGVuZC1zY3JlZW4iOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoic2NyZWVuIn0sIi5iZy1ibGVuZC1vdmVybGF5Ijp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6Im92ZXJsYXkifSwiLmJnLWJsZW5kLWRhcmtlbiI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJkYXJrZW4ifSwiLmJnLWJsZW5kLWxpZ2h0ZW4iOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoibGlnaHRlbiJ9LCIuYmctYmxlbmQtY29sb3ItZG9kZ2UiOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoiY29sb3ItZG9kZ2UifSwiLmJnLWJsZW5kLWNvbG9yLWJ1cm4iOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoiY29sb3ItYnVybiJ9LCIuYmctYmxlbmQtaGFyZC1saWdodCI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJoYXJkLWxpZ2h0In0sIi5iZy1ibGVuZC1zb2Z0LWxpZ2h0Ijp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6InNvZnQtbGlnaHQifSwiLmJnLWJsZW5kLWRpZmZlcmVuY2UiOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoiZGlmZmVyZW5jZSJ9LCIuYmctYmxlbmQtZXhjbHVzaW9uIjp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6ImV4Y2x1c2lvbiJ9LCIuYmctYmxlbmQtaHVlIjp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6Imh1ZSJ9LCIuYmctYmxlbmQtc2F0dXJhdGlvbiI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJzYXR1cmF0aW9uIn0sIi5iZy1ibGVuZC1jb2xvciI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJjb2xvciJ9LCIuYmctYmxlbmQtbHVtaW5vc2l0eSI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJsdW1pbm9zaXR5In19KX0sbWl4QmxlbmRNb2RlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIubWl4LWJsZW5kLW5vcm1hbCI6eyJtaXgtYmxlbmQtbW9kZSI6Im5vcm1hbCJ9LCIubWl4LWJsZW5kLW11bHRpcGx5Ijp7Im1peC1ibGVuZC1tb2RlIjoibXVsdGlwbHkifSwiLm1peC1ibGVuZC1zY3JlZW4iOnsibWl4LWJsZW5kLW1vZGUiOiJzY3JlZW4ifSwiLm1peC1ibGVuZC1vdmVybGF5Ijp7Im1peC1ibGVuZC1tb2RlIjoib3ZlcmxheSJ9LCIubWl4LWJsZW5kLWRhcmtlbiI6eyJtaXgtYmxlbmQtbW9kZSI6ImRhcmtlbiJ9LCIubWl4LWJsZW5kLWxpZ2h0ZW4iOnsibWl4LWJsZW5kLW1vZGUiOiJsaWdodGVuIn0sIi5taXgtYmxlbmQtY29sb3ItZG9kZ2UiOnsibWl4LWJsZW5kLW1vZGUiOiJjb2xvci1kb2RnZSJ9LCIubWl4LWJsZW5kLWNvbG9yLWJ1cm4iOnsibWl4LWJsZW5kLW1vZGUiOiJjb2xvci1idXJuIn0sIi5taXgtYmxlbmQtaGFyZC1saWdodCI6eyJtaXgtYmxlbmQtbW9kZSI6ImhhcmQtbGlnaHQifSwiLm1peC1ibGVuZC1zb2Z0LWxpZ2h0Ijp7Im1peC1ibGVuZC1tb2RlIjoic29mdC1saWdodCJ9LCIubWl4LWJsZW5kLWRpZmZlcmVuY2UiOnsibWl4LWJsZW5kLW1vZGUiOiJkaWZmZXJlbmNlIn0sIi5taXgtYmxlbmQtZXhjbHVzaW9uIjp7Im1peC1ibGVuZC1tb2RlIjoiZXhjbHVzaW9uIn0sIi5taXgtYmxlbmQtaHVlIjp7Im1peC1ibGVuZC1tb2RlIjoiaHVlIn0sIi5taXgtYmxlbmQtc2F0dXJhdGlvbiI6eyJtaXgtYmxlbmQtbW9kZSI6InNhdHVyYXRpb24ifSwiLm1peC1ibGVuZC1jb2xvciI6eyJtaXgtYmxlbmQtbW9kZSI6ImNvbG9yIn0sIi5taXgtYmxlbmQtbHVtaW5vc2l0eSI6eyJtaXgtYmxlbmQtbW9kZSI6Imx1bWlub3NpdHkifSwiLm1peC1ibGVuZC1wbHVzLWRhcmtlciI6eyJtaXgtYmxlbmQtbW9kZSI6InBsdXMtZGFya2VyIn0sIi5taXgtYmxlbmQtcGx1cy1saWdodGVyIjp7Im1peC1ibGVuZC1tb2RlIjoicGx1cy1saWdodGVyIn19KX0sYm94U2hhZG93OigoKT0+e2xldCByPW10KCJib3hTaGFkb3ciKSxlPVsidmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApIiwidmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCkiLCJ2YXIoLS10dy1zaGFkb3cpIl0uam9pbigiLCAiKTtyZXR1cm4gZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOnQsYWRkRGVmYXVsdHM6aSx0aGVtZTpufSl7aSgiYm94LXNoYWRvdyIseyItLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyI6IjAgMCAjMDAwMCIsIi0tdHctcmluZy1zaGFkb3ciOiIwIDAgIzAwMDAiLCItLXR3LXNoYWRvdyI6IjAgMCAjMDAwMCIsIi0tdHctc2hhZG93LWNvbG9yZWQiOiIwIDAgIzAwMDAifSksdCh7c2hhZG93OnM9PntzPXIocyk7bGV0IGE9ZW4ocyk7Zm9yKGxldCBvIG9mIGEpIW8udmFsaWR8fChvLmNvbG9yPSJ2YXIoLS10dy1zaGFkb3ctY29sb3IpIik7cmV0dXJueyJAZGVmYXVsdHMgYm94LXNoYWRvdyI6e30sIi0tdHctc2hhZG93IjpzPT09Im5vbmUiPyIwIDAgIzAwMDAiOnMsIi0tdHctc2hhZG93LWNvbG9yZWQiOnM9PT0ibm9uZSI/IjAgMCAjMDAwMCI6TGYoYSksImJveC1zaGFkb3ciOmV9fX0se3ZhbHVlczpuKCJib3hTaGFkb3ciKSx0eXBlOlsic2hhZG93Il19KX19KSgpLGJveFNoYWRvd0NvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtzaGFkb3c6dD0+KHsiLS10dy1zaGFkb3ctY29sb3IiOlgodCksIi0tdHctc2hhZG93IjoidmFyKC0tdHctc2hhZG93LWNvbG9yZWQpIn0pfSx7dmFsdWVzOnhlKGUoImJveFNoYWRvd0NvbG9yIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LG91dGxpbmVTdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLm91dGxpbmUtbm9uZSI6e291dGxpbmU6IjJweCBzb2xpZCB0cmFuc3BhcmVudCIsIm91dGxpbmUtb2Zmc2V0IjoiMnB4In0sIi5vdXRsaW5lIjp7Im91dGxpbmUtc3R5bGUiOiJzb2xpZCJ9LCIub3V0bGluZS1kYXNoZWQiOnsib3V0bGluZS1zdHlsZSI6ImRhc2hlZCJ9LCIub3V0bGluZS1kb3R0ZWQiOnsib3V0bGluZS1zdHlsZSI6ImRvdHRlZCJ9LCIub3V0bGluZS1kb3VibGUiOnsib3V0bGluZS1zdHlsZSI6ImRvdWJsZSJ9fSl9LG91dGxpbmVXaWR0aDpMKCJvdXRsaW5lV2lkdGgiLFtbIm91dGxpbmUiLFsib3V0bGluZS13aWR0aCJdXV0se3R5cGU6WyJsZW5ndGgiLCJudW1iZXIiLCJwZXJjZW50YWdlIl19KSxvdXRsaW5lT2Zmc2V0OkwoIm91dGxpbmVPZmZzZXQiLFtbIm91dGxpbmUtb2Zmc2V0IixbIm91dGxpbmUtb2Zmc2V0Il1dXSx7dHlwZTpbImxlbmd0aCIsIm51bWJlciIsInBlcmNlbnRhZ2UiLCJhbnkiXSxzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksb3V0bGluZUNvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtvdXRsaW5lOnQ9Pih7Im91dGxpbmUtY29sb3IiOlgodCl9KX0se3ZhbHVlczp4ZShlKCJvdXRsaW5lQ29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0scmluZ1dpZHRoOih7bWF0Y2hVdGlsaXRpZXM6cixhZGREZWZhdWx0czplLGFkZFV0aWxpdGllczp0LHRoZW1lOmksY29uZmlnOm59KT0+e2xldCBzPSgoKT0+e2lmKHdlKG4oKSwicmVzcGVjdERlZmF1bHRSaW5nQ29sb3JPcGFjaXR5IikpcmV0dXJuIGkoInJpbmdDb2xvci5ERUZBVUxUIik7bGV0IGE9aSgicmluZ09wYWNpdHkuREVGQVVMVCIsIjAuNSIpO3JldHVybiBpKCJyaW5nQ29sb3IiKT8uREVGQVVMVD9KZShpKCJyaW5nQ29sb3IiKT8uREVGQVVMVCxhLGByZ2IoMTQ3IDE5NyAyNTMgLyAke2F9KWApOmByZ2IoMTQ3IDE5NyAyNTMgLyAke2F9KWB9KSgpO2UoInJpbmctd2lkdGgiLHsiLS10dy1yaW5nLWluc2V0IjoiICIsIi0tdHctcmluZy1vZmZzZXQtd2lkdGgiOmkoInJpbmdPZmZzZXRXaWR0aC5ERUZBVUxUIiwiMHB4IiksIi0tdHctcmluZy1vZmZzZXQtY29sb3IiOmkoInJpbmdPZmZzZXRDb2xvci5ERUZBVUxUIiwiI2ZmZiIpLCItLXR3LXJpbmctY29sb3IiOnMsIi0tdHctcmluZy1vZmZzZXQtc2hhZG93IjoiMCAwICMwMDAwIiwiLS10dy1yaW5nLXNoYWRvdyI6IjAgMCAjMDAwMCIsIi0tdHctc2hhZG93IjoiMCAwICMwMDAwIiwiLS10dy1zaGFkb3ctY29sb3JlZCI6IjAgMCAjMDAwMCJ9KSxyKHtyaW5nOmE9Pih7IkBkZWZhdWx0cyByaW5nLXdpZHRoIjp7fSwiLS10dy1yaW5nLW9mZnNldC1zaGFkb3ciOiJ2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpIiwiLS10dy1yaW5nLXNoYWRvdyI6YHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoJHthfSArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcilgLCJib3gtc2hhZG93IjpbInZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdykiLCJ2YXIoLS10dy1yaW5nLXNoYWRvdykiLCJ2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCkiXS5qb2luKCIsICIpfSl9LHt2YWx1ZXM6aSgicmluZ1dpZHRoIiksdHlwZToibGVuZ3RoIn0pLHQoeyIucmluZy1pbnNldCI6eyJAZGVmYXVsdHMgcmluZy13aWR0aCI6e30sIi0tdHctcmluZy1pbnNldCI6Imluc2V0In19KX0scmluZ0NvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplLGNvcmVQbHVnaW5zOnR9KT0+e3Ioe3Jpbmc6aT0+dCgicmluZ09wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiLS10dy1yaW5nLWNvbG9yIix2YXJpYWJsZToiLS10dy1yaW5nLW9wYWNpdHkifSk6eyItLXR3LXJpbmctY29sb3IiOlgoaSl9fSx7dmFsdWVzOk9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh4ZShlKCJyaW5nQ29sb3IiKSkpLmZpbHRlcigoW2ldKT0+aSE9PSJERUZBVUxUIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LHJpbmdPcGFjaXR5OnI9PntsZXR7Y29uZmlnOmV9PXI7cmV0dXJuIEwoInJpbmdPcGFjaXR5IixbWyJyaW5nLW9wYWNpdHkiLFsiLS10dy1yaW5nLW9wYWNpdHkiXV1dLHtmaWx0ZXJEZWZhdWx0OiF3ZShlKCksInJlc3BlY3REZWZhdWx0UmluZ0NvbG9yT3BhY2l0eSIpfSkocil9LHJpbmdPZmZzZXRXaWR0aDpMKCJyaW5nT2Zmc2V0V2lkdGgiLFtbInJpbmctb2Zmc2V0IixbIi0tdHctcmluZy1vZmZzZXQtd2lkdGgiXV1dLHt0eXBlOiJsZW5ndGgifSkscmluZ09mZnNldENvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsicmluZy1vZmZzZXQiOnQ9Pih7Ii0tdHctcmluZy1vZmZzZXQtY29sb3IiOlgodCl9KX0se3ZhbHVlczp4ZShlKCJyaW5nT2Zmc2V0Q29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sYmx1cjooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7Ymx1cjp0PT4oeyItLXR3LWJsdXIiOnQudHJpbSgpPT09IiI/IiAiOmBibHVyKCR7dH0pYCwiQGRlZmF1bHRzIGZpbHRlciI6e30sZmlsdGVyOm50fSl9LHt2YWx1ZXM6ZSgiYmx1ciIpfSl9LGJyaWdodG5lc3M6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe2JyaWdodG5lc3M6dD0+KHsiLS10dy1icmlnaHRuZXNzIjpgYnJpZ2h0bmVzcygke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoImJyaWdodG5lc3MiKX0pfSxjb250cmFzdDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7Y29udHJhc3Q6dD0+KHsiLS10dy1jb250cmFzdCI6YGNvbnRyYXN0KCR7dH0pYCwiQGRlZmF1bHRzIGZpbHRlciI6e30sZmlsdGVyOm50fSl9LHt2YWx1ZXM6ZSgiY29udHJhc3QiKX0pfSxkcm9wU2hhZG93Oih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiZHJvcC1zaGFkb3ciOnQ9Pih7Ii0tdHctZHJvcC1zaGFkb3ciOkFycmF5LmlzQXJyYXkodCk/dC5tYXAoaT0+YGRyb3Atc2hhZG93KCR7aX0pYCkuam9pbigiICIpOmBkcm9wLXNoYWRvdygke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoImRyb3BTaGFkb3ciKX0pfSxncmF5c2NhbGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe2dyYXlzY2FsZTp0PT4oeyItLXR3LWdyYXlzY2FsZSI6YGdyYXlzY2FsZSgke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoImdyYXlzY2FsZSIpfSl9LGh1ZVJvdGF0ZTooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7Imh1ZS1yb3RhdGUiOnQ9Pih7Ii0tdHctaHVlLXJvdGF0ZSI6YGh1ZS1yb3RhdGUoJHt0fSlgLCJAZGVmYXVsdHMgZmlsdGVyIjp7fSxmaWx0ZXI6bnR9KX0se3ZhbHVlczplKCJodWVSb3RhdGUiKSxzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSl9LGludmVydDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7aW52ZXJ0OnQ9Pih7Ii0tdHctaW52ZXJ0IjpgaW52ZXJ0KCR7dH0pYCwiQGRlZmF1bHRzIGZpbHRlciI6e30sZmlsdGVyOm50fSl9LHt2YWx1ZXM6ZSgiaW52ZXJ0Iil9KX0sc2F0dXJhdGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe3NhdHVyYXRlOnQ9Pih7Ii0tdHctc2F0dXJhdGUiOmBzYXR1cmF0ZSgke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoInNhdHVyYXRlIil9KX0sc2VwaWE6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe3NlcGlhOnQ9Pih7Ii0tdHctc2VwaWEiOmBzZXBpYSgke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoInNlcGlhIil9KX0sZmlsdGVyOih7YWRkRGVmYXVsdHM6cixhZGRVdGlsaXRpZXM6ZX0pPT57cigiZmlsdGVyIix7Ii0tdHctYmx1ciI6IiAiLCItLXR3LWJyaWdodG5lc3MiOiIgIiwiLS10dy1jb250cmFzdCI6IiAiLCItLXR3LWdyYXlzY2FsZSI6IiAiLCItLXR3LWh1ZS1yb3RhdGUiOiIgIiwiLS10dy1pbnZlcnQiOiIgIiwiLS10dy1zYXR1cmF0ZSI6IiAiLCItLXR3LXNlcGlhIjoiICIsIi0tdHctZHJvcC1zaGFkb3ciOiIgIn0pLGUoeyIuZmlsdGVyIjp7IkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0sIi5maWx0ZXItbm9uZSI6e2ZpbHRlcjoibm9uZSJ9fSl9LGJhY2tkcm9wQmx1cjooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7ImJhY2tkcm9wLWJsdXIiOnQ9Pih7Ii0tdHctYmFja2Ryb3AtYmx1ciI6dC50cmltKCk9PT0iIj8iICI6YGJsdXIoJHt0fSlgLCJAZGVmYXVsdHMgYmFja2Ryb3AtZmlsdGVyIjp7fSwiLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIiOmdlLCJiYWNrZHJvcC1maWx0ZXIiOmdlfSl9LHt2YWx1ZXM6ZSgiYmFja2Ryb3BCbHVyIil9KX0sYmFja2Ryb3BCcmlnaHRuZXNzOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiYmFja2Ryb3AtYnJpZ2h0bmVzcyI6dD0+KHsiLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzIjpgYnJpZ2h0bmVzcygke3R9KWAsIkBkZWZhdWx0cyBiYWNrZHJvcC1maWx0ZXIiOnt9LCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciI6Z2UsImJhY2tkcm9wLWZpbHRlciI6Z2V9KX0se3ZhbHVlczplKCJiYWNrZHJvcEJyaWdodG5lc3MiKX0pfSxiYWNrZHJvcENvbnRyYXN0Oih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiYmFja2Ryb3AtY29udHJhc3QiOnQ9Pih7Ii0tdHctYmFja2Ryb3AtY29udHJhc3QiOmBjb250cmFzdCgke3R9KWAsIkBkZWZhdWx0cyBiYWNrZHJvcC1maWx0ZXIiOnt9LCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciI6Z2UsImJhY2tkcm9wLWZpbHRlciI6Z2V9KX0se3ZhbHVlczplKCJiYWNrZHJvcENvbnRyYXN0Iil9KX0sYmFja2Ryb3BHcmF5c2NhbGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1ncmF5c2NhbGUiOnQ9Pih7Ii0tdHctYmFja2Ryb3AtZ3JheXNjYWxlIjpgZ3JheXNjYWxlKCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wR3JheXNjYWxlIil9KX0sYmFja2Ryb3BIdWVSb3RhdGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1odWUtcm90YXRlIjp0PT4oeyItLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUiOmBodWUtcm90YXRlKCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wSHVlUm90YXRlIiksc3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pfSxiYWNrZHJvcEludmVydDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7ImJhY2tkcm9wLWludmVydCI6dD0+KHsiLS10dy1iYWNrZHJvcC1pbnZlcnQiOmBpbnZlcnQoJHt0fSlgLCJAZGVmYXVsdHMgYmFja2Ryb3AtZmlsdGVyIjp7fSwiLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIiOmdlLCJiYWNrZHJvcC1maWx0ZXIiOmdlfSl9LHt2YWx1ZXM6ZSgiYmFja2Ryb3BJbnZlcnQiKX0pfSxiYWNrZHJvcE9wYWNpdHk6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1vcGFjaXR5Ijp0PT4oeyItLXR3LWJhY2tkcm9wLW9wYWNpdHkiOmBvcGFjaXR5KCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wT3BhY2l0eSIpfSl9LGJhY2tkcm9wU2F0dXJhdGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1zYXR1cmF0ZSI6dD0+KHsiLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSI6YHNhdHVyYXRlKCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wU2F0dXJhdGUiKX0pfSxiYWNrZHJvcFNlcGlhOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiYmFja2Ryb3Atc2VwaWEiOnQ9Pih7Ii0tdHctYmFja2Ryb3Atc2VwaWEiOmBzZXBpYSgke3R9KWAsIkBkZWZhdWx0cyBiYWNrZHJvcC1maWx0ZXIiOnt9LCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciI6Z2UsImJhY2tkcm9wLWZpbHRlciI6Z2V9KX0se3ZhbHVlczplKCJiYWNrZHJvcFNlcGlhIil9KX0sYmFja2Ryb3BGaWx0ZXI6KHthZGREZWZhdWx0czpyLGFkZFV0aWxpdGllczplfSk9PntyKCJiYWNrZHJvcC1maWx0ZXIiLHsiLS10dy1iYWNrZHJvcC1ibHVyIjoiICIsIi0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcyI6IiAiLCItLXR3LWJhY2tkcm9wLWNvbnRyYXN0IjoiICIsIi0tdHctYmFja2Ryb3AtZ3JheXNjYWxlIjoiICIsIi0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSI6IiAiLCItLXR3LWJhY2tkcm9wLWludmVydCI6IiAiLCItLXR3LWJhY2tkcm9wLW9wYWNpdHkiOiIgIiwiLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSI6IiAiLCItLXR3LWJhY2tkcm9wLXNlcGlhIjoiICJ9KSxlKHsiLmJhY2tkcm9wLWZpbHRlciI6eyJAZGVmYXVsdHMgYmFja2Ryb3AtZmlsdGVyIjp7fSwiLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIiOmdlLCJiYWNrZHJvcC1maWx0ZXIiOmdlfSwiLmJhY2tkcm9wLWZpbHRlci1ub25lIjp7Ii13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjoibm9uZSIsImJhY2tkcm9wLWZpbHRlciI6Im5vbmUifX0pfSx0cmFuc2l0aW9uUHJvcGVydHk6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e2xldCB0PWUoInRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbi5ERUZBVUxUIiksaT1lKCJ0cmFuc2l0aW9uRHVyYXRpb24uREVGQVVMVCIpO3Ioe3RyYW5zaXRpb246bj0+KHsidHJhbnNpdGlvbi1wcm9wZXJ0eSI6biwuLi5uPT09Im5vbmUiP3t9OnsidHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24iOnQsInRyYW5zaXRpb24tZHVyYXRpb24iOml9fSl9LHt2YWx1ZXM6ZSgidHJhbnNpdGlvblByb3BlcnR5Iil9KX0sdHJhbnNpdGlvbkRlbGF5OkwoInRyYW5zaXRpb25EZWxheSIsW1siZGVsYXkiLFsidHJhbnNpdGlvbkRlbGF5Il1dXSksdHJhbnNpdGlvbkR1cmF0aW9uOkwoInRyYW5zaXRpb25EdXJhdGlvbiIsW1siZHVyYXRpb24iLFsidHJhbnNpdGlvbkR1cmF0aW9uIl1dXSx7ZmlsdGVyRGVmYXVsdDohMH0pLHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbjpMKCJ0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24iLFtbImVhc2UiLFsidHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uIl1dXSx7ZmlsdGVyRGVmYXVsdDohMH0pLHdpbGxDaGFuZ2U6TCgid2lsbENoYW5nZSIsW1sid2lsbC1jaGFuZ2UiLFsid2lsbC1jaGFuZ2UiXV1dKSxjb250YWluOih7YWRkRGVmYXVsdHM6cixhZGRVdGlsaXRpZXM6ZX0pPT57bGV0IHQ9InZhcigtLXR3LWNvbnRhaW4tc2l6ZSkgdmFyKC0tdHctY29udGFpbi1sYXlvdXQpIHZhcigtLXR3LWNvbnRhaW4tcGFpbnQpIHZhcigtLXR3LWNvbnRhaW4tc3R5bGUpIjtyKCJjb250YWluIix7Ii0tdHctY29udGFpbi1zaXplIjoiICIsIi0tdHctY29udGFpbi1sYXlvdXQiOiIgIiwiLS10dy1jb250YWluLXBhaW50IjoiICIsIi0tdHctY29udGFpbi1zdHlsZSI6IiAifSksZSh7Ii5jb250YWluLW5vbmUiOntjb250YWluOiJub25lIn0sIi5jb250YWluLWNvbnRlbnQiOntjb250YWluOiJjb250ZW50In0sIi5jb250YWluLXN0cmljdCI6e2NvbnRhaW46InN0cmljdCJ9LCIuY29udGFpbi1zaXplIjp7IkBkZWZhdWx0cyBjb250YWluIjp7fSwiLS10dy1jb250YWluLXNpemUiOiJzaXplIixjb250YWluOnR9LCIuY29udGFpbi1pbmxpbmUtc2l6ZSI6eyJAZGVmYXVsdHMgY29udGFpbiI6e30sIi0tdHctY29udGFpbi1zaXplIjoiaW5saW5lLXNpemUiLGNvbnRhaW46dH0sIi5jb250YWluLWxheW91dCI6eyJAZGVmYXVsdHMgY29udGFpbiI6e30sIi0tdHctY29udGFpbi1sYXlvdXQiOiJsYXlvdXQiLGNvbnRhaW46dH0sIi5jb250YWluLXBhaW50Ijp7IkBkZWZhdWx0cyBjb250YWluIjp7fSwiLS10dy1jb250YWluLXBhaW50IjoicGFpbnQiLGNvbnRhaW46dH0sIi5jb250YWluLXN0eWxlIjp7IkBkZWZhdWx0cyBjb250YWluIjp7fSwiLS10dy1jb250YWluLXN0eWxlIjoic3R5bGUiLGNvbnRhaW46dH19KX0sY29udGVudDpMKCJjb250ZW50IixbWyJjb250ZW50IixbIi0tdHctY29udGVudCIsWyJjb250ZW50IiwidmFyKC0tdHctY29udGVudCkiXV1dXSksZm9yY2VkQ29sb3JBZGp1c3Q6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5mb3JjZWQtY29sb3ItYWRqdXN0LWF1dG8iOnsiZm9yY2VkLWNvbG9yLWFkanVzdCI6ImF1dG8ifSwiLmZvcmNlZC1jb2xvci1hZGp1c3Qtbm9uZSI6eyJmb3JjZWQtY29sb3ItYWRqdXN0Ijoibm9uZSJ9fSl9fX0pO2Z1bmN0aW9uIGhfKHIpe2lmKHI9PT12b2lkIDApcmV0dXJuITE7aWYocj09PSJ0cnVlInx8cj09PSIxIilyZXR1cm4hMDtpZihyPT09ImZhbHNlInx8cj09PSIwIilyZXR1cm4hMTtpZihyPT09IioiKXJldHVybiEwO2xldCBlPXIuc3BsaXQoIiwiKS5tYXAodD0+dC5zcGxpdCgiOiIpWzBdKTtyZXR1cm4gZS5pbmNsdWRlcygiLXRhaWx3aW5kY3NzIik/ITE6ISFlLmluY2x1ZGVzKCJ0YWlsd2luZGNzcyIpfXZhciBaZSx3aCx2aCxlcyxObyxndCxUaSxJdD1QKCgpPT57dSgpO1plPXR5cGVvZiBtIT0idW5kZWZpbmVkIj97Tk9ERV9FTlY6InByb2R1Y3Rpb24iLERFQlVHOmhfKG0uZW52LkRFQlVHKX06e05PREVfRU5WOiJwcm9kdWN0aW9uIixERUJVRzohMX0sd2g9bmV3IE1hcCx2aD1uZXcgTWFwLGVzPW5ldyBNYXAsTm89bmV3IE1hcCxndD1uZXcgU3RyaW5nKCIqIiksVGk9U3ltYm9sKCJfX05PTkVfXyIpfSk7ZnVuY3Rpb24gY3Iocil7bGV0IGU9W10sdD0hMTtmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl7bGV0IG49cltpXTtpZihuPT09IjoiJiYhdCYmZS5sZW5ndGg9PT0wKXJldHVybiExO2lmKG1fLmhhcyhuKSYmcltpLTFdIT09IlxcIiYmKHQ9IXQpLCF0JiZyW2ktMV0hPT0iXFwiKXtpZih4aC5oYXMobikpZS5wdXNoKG4pO2Vsc2UgaWYoa2guaGFzKG4pKXtsZXQgcz1raC5nZXQobik7aWYoZS5sZW5ndGg8PTB8fGUucG9wKCkhPT1zKXJldHVybiExfX19cmV0dXJuIShlLmxlbmd0aD4wKX12YXIgeGgsa2gsbV8sQm89UCgoKT0+e3UoKTt4aD1uZXcgTWFwKFtbInsiLCJ9Il0sWyJbIiwiXSJdLFsiKCIsIikiXV0pLGtoPW5ldyBNYXAoQXJyYXkuZnJvbSh4aC5lbnRyaWVzKCkpLm1hcCgoW3IsZV0pPT5bZSxyXSkpLG1fPW5ldyBTZXQoWyciJywiJyIsImAiXSl9KTtmdW5jdGlvbiBwcihyKXtsZXRbZV09U2gocik7cmV0dXJuIGUuZm9yRWFjaCgoW3QsaV0pPT50LnJlbW92ZUNoaWxkKGkpKSxyLm5vZGVzLnB1c2goLi4uZS5tYXAoKFssdF0pPT50KSkscn1mdW5jdGlvbiBTaChyKXtsZXQgZT1bXSx0PW51bGw7Zm9yKGxldCBpIG9mIHIubm9kZXMpaWYoaS50eXBlPT09ImNvbWJpbmF0b3IiKWU9ZS5maWx0ZXIoKFssbl0pPT5qbyhuKS5pbmNsdWRlcygianVtcGFibGUiKSksdD1udWxsO2Vsc2UgaWYoaS50eXBlPT09InBzZXVkbyIpe2dfKGkpPyh0PWksZS5wdXNoKFtyLGksbnVsbF0pKTp0JiZ5XyhpLHQpP2UucHVzaChbcixpLHRdKTp0PW51bGw7Zm9yKGxldCBuIG9mIGkubm9kZXM/P1tdKXtsZXRbcyxhXT1TaChuKTt0PWF8fHQsZS5wdXNoKC4uLnMpfX1yZXR1cm5bZSx0XX1mdW5jdGlvbiBBaChyKXtyZXR1cm4gci52YWx1ZS5zdGFydHNXaXRoKCI6OiIpfHxGb1tyLnZhbHVlXSE9PXZvaWQgMH1mdW5jdGlvbiBnXyhyKXtyZXR1cm4gQWgocikmJmpvKHIpLmluY2x1ZGVzKCJ0ZXJtaW5hbCIpfWZ1bmN0aW9uIHlfKHIsZSl7cmV0dXJuIHIudHlwZSE9PSJwc2V1ZG8ifHxBaChyKT8hMTpqbyhlKS5pbmNsdWRlcygiYWN0aW9uYWJsZSIpfWZ1bmN0aW9uIGpvKHIpe3JldHVybiBGb1tyLnZhbHVlXT8/Rm8uX19kZWZhdWx0X199dmFyIEZvLHRzPVAoKCk9Pnt1KCk7Rm89eyI6OmFmdGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpiYWNrZHJvcCI6WyJ0ZXJtaW5hbCIsImp1bXBhYmxlIl0sIjo6YmVmb3JlIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpjdWUiOlsidGVybWluYWwiXSwiOjpjdWUtcmVnaW9uIjpbInRlcm1pbmFsIl0sIjo6Zmlyc3QtbGV0dGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpmaXJzdC1saW5lIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpncmFtbWFyLWVycm9yIjpbInRlcm1pbmFsIl0sIjo6bWFya2VyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpwYXJ0IjpbInRlcm1pbmFsIiwiYWN0aW9uYWJsZSJdLCI6OnBsYWNlaG9sZGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpzZWxlY3Rpb24iOlsidGVybWluYWwiLCJqdW1wYWJsZSJdLCI6OnNsb3R0ZWQiOlsidGVybWluYWwiXSwiOjpzcGVsbGluZy1lcnJvciI6WyJ0ZXJtaW5hbCJdLCI6OnRhcmdldC10ZXh0IjpbInRlcm1pbmFsIl0sIjo6ZmlsZS1zZWxlY3Rvci1idXR0b24iOlsidGVybWluYWwiLCJhY3Rpb25hYmxlIl0sIjo6ZGVlcCI6WyJhY3Rpb25hYmxlIl0sIjo6di1kZWVwIjpbImFjdGlvbmFibGUiXSwiOjpuZy1kZWVwIjpbImFjdGlvbmFibGUiXSwiOmFmdGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOmJlZm9yZSI6WyJ0ZXJtaW5hbCIsImp1bXBhYmxlIl0sIjpmaXJzdC1sZXR0ZXIiOlsidGVybWluYWwiLCJqdW1wYWJsZSJdLCI6Zmlyc3QtbGluZSI6WyJ0ZXJtaW5hbCIsImp1bXBhYmxlIl0sIjp3aGVyZSI6W10sIjppcyI6W10sIjpoYXMiOltdLF9fZGVmYXVsdF9fOlsidGVybWluYWwiLCJhY3Rpb25hYmxlIl19fSk7ZnVuY3Rpb24gZHIocix7Y29udGV4dDplLGNhbmRpZGF0ZTp0fSl7bGV0IGk9ZT8udGFpbHdpbmRDb25maWcucHJlZml4Pz8iIixuPXIubWFwKGE9PntsZXQgbz0oMCxzdC5kZWZhdWx0KSgpLmFzdFN5bmMoYS5mb3JtYXQpO3JldHVybnsuLi5hLGFzdDphLnJlc3BlY3RQcmVmaXg/dXIoaSxvKTpvfX0pLHM9c3QuZGVmYXVsdC5yb290KHtub2Rlczpbc3QuZGVmYXVsdC5zZWxlY3Rvcih7bm9kZXM6W3N0LmRlZmF1bHQuY2xhc3NOYW1lKHt2YWx1ZTpUZSh0KX0pXX0pXX0pO2ZvcihsZXR7YXN0OmF9b2YgbilbcyxhXT13XyhzLGEpLGEud2Fsa05lc3Rpbmcobz0+by5yZXBsYWNlV2l0aCguLi5zLm5vZGVzWzBdLm5vZGVzKSkscz1hO3JldHVybiBzfWZ1bmN0aW9uIF9oKHIpe2xldCBlPVtdO2Zvcig7ci5wcmV2KCkmJnIucHJldigpLnR5cGUhPT0iY29tYmluYXRvciI7KXI9ci5wcmV2KCk7Zm9yKDtyJiZyLnR5cGUhPT0iY29tYmluYXRvciI7KWUucHVzaChyKSxyPXIubmV4dCgpO3JldHVybiBlfWZ1bmN0aW9uIGJfKHIpe3JldHVybiByLnNvcnQoKGUsdCk9PmUudHlwZT09PSJ0YWciJiZ0LnR5cGU9PT0iY2xhc3MiPy0xOmUudHlwZT09PSJjbGFzcyImJnQudHlwZT09PSJ0YWciPzE6ZS50eXBlPT09ImNsYXNzIiYmdC50eXBlPT09InBzZXVkbyImJnQudmFsdWUuc3RhcnRzV2l0aCgiOjoiKT8tMTplLnR5cGU9PT0icHNldWRvIiYmZS52YWx1ZS5zdGFydHNXaXRoKCI6OiIpJiZ0LnR5cGU9PT0iY2xhc3MiPzE6ci5pbmRleChlKS1yLmluZGV4KHQpKSxyfWZ1bmN0aW9uIFVvKHIsZSl7bGV0IHQ9ITE7ci53YWxrKGk9PntpZihpLnR5cGU9PT0iY2xhc3MiJiZpLnZhbHVlPT09ZSlyZXR1cm4gdD0hMCwhMX0pLHR8fHIucmVtb3ZlKCl9ZnVuY3Rpb24gcnMocixlLHtjb250ZXh0OnQsY2FuZGlkYXRlOmksYmFzZTpufSl7bGV0IHM9dD8udGFpbHdpbmRDb25maWc/LnNlcGFyYXRvcj8/IjoiO249bj8/dmUoaSxzKS5wb3AoKTtsZXQgYT0oMCxzdC5kZWZhdWx0KSgpLmFzdFN5bmMocik7aWYoYS53YWxrQ2xhc3NlcyhmPT57Zi5yYXdzJiZmLnZhbHVlLmluY2x1ZGVzKG4pJiYoZi5yYXdzLnZhbHVlPVRlKCgwLENoLmRlZmF1bHQpKGYucmF3cy52YWx1ZSkpKX0pLGEuZWFjaChmPT5VbyhmLG4pKSxhLmxlbmd0aD09PTApcmV0dXJuIG51bGw7bGV0IG89QXJyYXkuaXNBcnJheShlKT9kcihlLHtjb250ZXh0OnQsY2FuZGlkYXRlOml9KTplO2lmKG89PT1udWxsKXJldHVybiBhLnRvU3RyaW5nKCk7bGV0IGw9c3QuZGVmYXVsdC5jb21tZW50KHt2YWx1ZToiLypfX3NpbXBsZV9fKi8ifSksYz1zdC5kZWZhdWx0LmNvbW1lbnQoe3ZhbHVlOiIvKl9fc2ltcGxlX18qLyJ9KTtyZXR1cm4gYS53YWxrQ2xhc3NlcyhmPT57aWYoZi52YWx1ZSE9PW4pcmV0dXJuO2xldCBkPWYucGFyZW50LHA9by5ub2Rlc1swXS5ub2RlcztpZihkLm5vZGVzLmxlbmd0aD09PTEpe2YucmVwbGFjZVdpdGgoLi4ucCk7cmV0dXJufWxldCBoPV9oKGYpO2QuaW5zZXJ0QmVmb3JlKGhbMF0sbCksZC5pbnNlcnRBZnRlcihoW2gubGVuZ3RoLTFdLGMpO2ZvcihsZXQgdiBvZiBwKWQuaW5zZXJ0QmVmb3JlKGhbMF0sdi5jbG9uZSgpKTtmLnJlbW92ZSgpLGg9X2gobCk7bGV0IGI9ZC5pbmRleChsKTtkLm5vZGVzLnNwbGljZShiLGgubGVuZ3RoLC4uLmJfKHN0LmRlZmF1bHQuc2VsZWN0b3Ioe25vZGVzOmh9KSkubm9kZXMpLGwucmVtb3ZlKCksYy5yZW1vdmUoKX0pLGEud2Fsa1BzZXVkb3MoZj0+e2YudmFsdWU9PT16byYmZi5yZXBsYWNlV2l0aChmLm5vZGVzKX0pLGEuZWFjaChmPT5wcihmKSksYS50b1N0cmluZygpfWZ1bmN0aW9uIHdfKHIsZSl7bGV0IHQ9W107cmV0dXJuIHIud2Fsa1BzZXVkb3MoaT0+e2kudmFsdWU9PT16byYmdC5wdXNoKHtwc2V1ZG86aSx2YWx1ZTppLm5vZGVzWzBdLnRvU3RyaW5nKCl9KX0pLGUud2Fsa1BzZXVkb3MoaT0+e2lmKGkudmFsdWUhPT16bylyZXR1cm47bGV0IG49aS5ub2Rlc1swXS50b1N0cmluZygpLHM9dC5maW5kKGM9PmMudmFsdWU9PT1uKTtpZighcylyZXR1cm47bGV0IGE9W10sbz1pLm5leHQoKTtmb3IoO28mJm8udHlwZSE9PSJjb21iaW5hdG9yIjspYS5wdXNoKG8pLG89by5uZXh0KCk7bGV0IGw9bztzLnBzZXVkby5wYXJlbnQuaW5zZXJ0QWZ0ZXIocy5wc2V1ZG8sc3QuZGVmYXVsdC5zZWxlY3Rvcih7bm9kZXM6YS5tYXAoYz0+Yy5jbG9uZSgpKX0pKSxpLnJlbW92ZSgpLGEuZm9yRWFjaChjPT5jLnJlbW92ZSgpKSxsJiZsLnR5cGU9PT0iY29tYmluYXRvciImJmwucmVtb3ZlKCl9KSxbcixlXX12YXIgc3QsQ2gsem8sVm89UCgoKT0+e3UoKTtzdD1wZShpdCgpKSxDaD1wZShQbigpKTtmcigpO0duKCk7dHMoKTt6dCgpO3pvPSI6bWVyZ2UifSk7ZnVuY3Rpb24gaXMocixlKXtsZXQgdD0oMCxIby5kZWZhdWx0KSgpLmFzdFN5bmMocik7cmV0dXJuIHQuZWFjaChpPT57aS5ub2Rlcy5zb21lKHM9PnMudHlwZT09PSJjb21iaW5hdG9yIikmJihpLm5vZGVzPVtIby5kZWZhdWx0LnBzZXVkbyh7dmFsdWU6IjppcyIsbm9kZXM6W2kuY2xvbmUoKV19KV0pLHByKGkpfSksYCR7ZX0gJHt0LnRvU3RyaW5nKCl9YH12YXIgSG8sV289UCgoKT0+e3UoKTtIbz1wZShpdCgpKTt0cygpfSk7ZnVuY3Rpb24gR28ocil7cmV0dXJuIHZfLnRyYW5zZm9ybVN5bmMocil9ZnVuY3Rpb24qeF8ocil7bGV0IGU9MS8wO2Zvcig7ZT49MDspe2xldCB0LGk9ITE7aWYoZT09PTEvMCYmci5lbmRzV2l0aCgiXSIpKXtsZXQgYT1yLmluZGV4T2YoIlsiKTtyW2EtMV09PT0iLSI/dD1hLTE6clthLTFdPT09Ii8iPyh0PWEtMSxpPSEwKTp0PS0xfWVsc2UgZT09PTEvMCYmci5pbmNsdWRlcygiLyIpPyh0PXIubGFzdEluZGV4T2YoIi8iKSxpPSEwKTp0PXIubGFzdEluZGV4T2YoIi0iLGUpO2lmKHQ8MClicmVhaztsZXQgbj1yLnNsaWNlKDAsdCkscz1yLnNsaWNlKGk/dDp0KzEpO2U9dC0xLCEobj09PSIifHxzPT09Ii8iKSYmKHlpZWxkW24sc10pfX1mdW5jdGlvbiBrXyhyLGUpe2lmKHIubGVuZ3RoPT09MHx8ZS50YWlsd2luZENvbmZpZy5wcmVmaXg9PT0iIilyZXR1cm4gcjtmb3IobGV0IHQgb2Ygcil7bGV0W2ldPXQ7aWYoaS5vcHRpb25zLnJlc3BlY3RQcmVmaXgpe2xldCBuPWVlLnJvb3Qoe25vZGVzOlt0WzFdLmNsb25lKCldfSkscz10WzFdLnJhd3MudGFpbHdpbmQuY2xhc3NDYW5kaWRhdGU7bi53YWxrUnVsZXMoYT0+e2xldCBvPXMuc3RhcnRzV2l0aCgiLSIpO2Euc2VsZWN0b3I9dXIoZS50YWlsd2luZENvbmZpZy5wcmVmaXgsYS5zZWxlY3RvcixvKX0pLHRbMV09bi5ub2Rlc1swXX19cmV0dXJuIHJ9ZnVuY3Rpb24gU18ocixlKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHI7bGV0IHQ9W107ZnVuY3Rpb24gaShuKXtyZXR1cm4gbi5wYXJlbnQmJm4ucGFyZW50LnR5cGU9PT0iYXRydWxlIiYmbi5wYXJlbnQubmFtZT09PSJrZXlmcmFtZXMifWZvcihsZXRbbixzXW9mIHIpe2xldCBhPWVlLnJvb3Qoe25vZGVzOltzLmNsb25lKCldfSk7YS53YWxrUnVsZXMobz0+e2lmKGkobykpcmV0dXJuO2xldCBsPSgwLG5zLmRlZmF1bHQpKCkuYXN0U3luYyhvLnNlbGVjdG9yKTtsLmVhY2goYz0+VW8oYyxlKSksUWYobCxjPT5jPT09ZT9gISR7Y31gOmMpLG8uc2VsZWN0b3I9bC50b1N0cmluZygpLG8ud2Fsa0RlY2xzKGM9PmMuaW1wb3J0YW50PSEwKX0pLHQucHVzaChbey4uLm4saW1wb3J0YW50OiEwfSxhLm5vZGVzWzBdXSl9cmV0dXJuIHR9ZnVuY3Rpb24gQV8ocixlLHQpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4gZTtsZXQgaT17bW9kaWZpZXI6bnVsbCx2YWx1ZTpUaX07e2xldFtuLC4uLnNdPXZlKHIsIi8iKTtpZihzLmxlbmd0aD4xJiYobj1uKyIvIitzLnNsaWNlKDAsLTEpLmpvaW4oIi8iKSxzPXMuc2xpY2UoLTEpKSxzLmxlbmd0aCYmIXQudmFyaWFudE1hcC5oYXMocikmJihyPW4saS5tb2RpZmllcj1zWzBdLCF3ZSh0LnRhaWx3aW5kQ29uZmlnLCJnZW5lcmFsaXplZE1vZGlmaWVycyIpKSlyZXR1cm5bXX1pZihyLmVuZHNXaXRoKCJdIikmJiFyLnN0YXJ0c1dpdGgoIlsiKSl7bGV0IG49LyguKSgtPylcWyguKilcXS9nLmV4ZWMocik7aWYobil7bGV0WyxzLGEsb109bjtpZihzPT09IkAiJiZhPT09Ii0iKXJldHVybltdO2lmKHMhPT0iQCImJmE9PT0iIilyZXR1cm5bXTtyPXIucmVwbGFjZShgJHthfVske299XWAsIiIpLGkudmFsdWU9b319aWYoS28ocikmJiF0LnZhcmlhbnRNYXAuaGFzKHIpKXtsZXQgbj10Lm9mZnNldHMucmVjb3JkVmFyaWFudChyKSxzPUsoci5zbGljZSgxLC0xKSksYT12ZShzLCIsIik7aWYoYS5sZW5ndGg+MSlyZXR1cm5bXTtpZighYS5ldmVyeShscykpcmV0dXJuW107bGV0IG89YS5tYXAoKGwsYyk9Plt0Lm9mZnNldHMuYXBwbHlQYXJhbGxlbE9mZnNldChuLGMpLFJpKGwudHJpbSgpKV0pO3QudmFyaWFudE1hcC5zZXQocixvKX1pZih0LnZhcmlhbnRNYXAuaGFzKHIpKXtsZXQgbj1LbyhyKSxzPXQudmFyaWFudE9wdGlvbnMuZ2V0KHIpPy5bUHRdPz97fSxhPXQudmFyaWFudE1hcC5nZXQocikuc2xpY2UoKSxvPVtdLGw9KCgpPT4hKG58fHMucmVzcGVjdFByZWZpeD09PSExKSkoKTtmb3IobGV0W2MsZl1vZiBlKXtpZihjLmxheWVyPT09InVzZXIiKWNvbnRpbnVlO2xldCBkPWVlLnJvb3Qoe25vZGVzOltmLmNsb25lKCldfSk7Zm9yKGxldFtwLGgsYl1vZiBhKXtsZXQgdz1mdW5jdGlvbigpe3YucmF3cy5uZWVkZWRCYWNrdXB8fCh2LnJhd3MubmVlZGVkQmFja3VwPSEwLHYud2Fsa1J1bGVzKFQ9PlQucmF3cy5vcmlnaW5hbFNlbGVjdG9yPVQuc2VsZWN0b3IpKX0saz1mdW5jdGlvbihUKXtyZXR1cm4gdygpLHYuZWFjaChCPT57Qi50eXBlPT09InJ1bGUiJiYoQi5zZWxlY3RvcnM9Qi5zZWxlY3RvcnMubWFwKE49PlQoe2dldCBjbGFzc05hbWUoKXtyZXR1cm4gR28oTil9LHNlbGVjdG9yOk59KSkpfSksdn0sdj0oYj8/ZCkuY2xvbmUoKSx5PVtdLFM9aCh7Z2V0IGNvbnRhaW5lcigpe3JldHVybiB3KCksdn0sc2VwYXJhdG9yOnQudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yLG1vZGlmeVNlbGVjdG9yczprLHdyYXAoVCl7bGV0IEI9di5ub2Rlczt2LnJlbW92ZUFsbCgpLFQuYXBwZW5kKEIpLHYuYXBwZW5kKFQpfSxmb3JtYXQoVCl7eS5wdXNoKHtmb3JtYXQ6VCxyZXNwZWN0UHJlZml4Omx9KX0sYXJnczppfSk7aWYoQXJyYXkuaXNBcnJheShTKSl7Zm9yKGxldFtULEJdb2YgUy5lbnRyaWVzKCkpYS5wdXNoKFt0Lm9mZnNldHMuYXBwbHlQYXJhbGxlbE9mZnNldChwLFQpLEIsdi5jbG9uZSgpXSk7Y29udGludWV9aWYodHlwZW9mIFM9PSJzdHJpbmciJiZ5LnB1c2goe2Zvcm1hdDpTLHJlc3BlY3RQcmVmaXg6bH0pLFM9PT1udWxsKWNvbnRpbnVlO3YucmF3cy5uZWVkZWRCYWNrdXAmJihkZWxldGUgdi5yYXdzLm5lZWRlZEJhY2t1cCx2LndhbGtSdWxlcyhUPT57bGV0IEI9VC5yYXdzLm9yaWdpbmFsU2VsZWN0b3I7aWYoIUJ8fChkZWxldGUgVC5yYXdzLm9yaWdpbmFsU2VsZWN0b3IsQj09PVQuc2VsZWN0b3IpKXJldHVybjtsZXQgTj1ULnNlbGVjdG9yLFI9KDAsbnMuZGVmYXVsdCkoRj0+e0Yud2Fsa0NsYXNzZXMoWT0+e1kudmFsdWU9YCR7cn0ke3QudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yfSR7WS52YWx1ZX1gfSl9KS5wcm9jZXNzU3luYyhCKTt5LnB1c2goe2Zvcm1hdDpOLnJlcGxhY2UoUiwiJiIpLHJlc3BlY3RQcmVmaXg6bH0pLFQuc2VsZWN0b3I9Qn0pKSx2Lm5vZGVzWzBdLnJhd3MudGFpbHdpbmQ9ey4uLnYubm9kZXNbMF0ucmF3cy50YWlsd2luZCxwYXJlbnRMYXllcjpjLmxheWVyfTtsZXQgRT1bey4uLmMsc29ydDp0Lm9mZnNldHMuYXBwbHlWYXJpYW50T2Zmc2V0KGMuc29ydCxwLE9iamVjdC5hc3NpZ24oaSx0LnZhcmlhbnRPcHRpb25zLmdldChyKSkpLGNvbGxlY3RlZEZvcm1hdHM6KGMuY29sbGVjdGVkRm9ybWF0cz8/W10pLmNvbmNhdCh5KX0sdi5ub2Rlc1swXV07by5wdXNoKEUpfX1yZXR1cm4gb31yZXR1cm5bXX1mdW5jdGlvbiBRbyhyLGUsdD17fSl7cmV0dXJuIWtlKHIpJiYhQXJyYXkuaXNBcnJheShyKT9bW3JdLHRdOkFycmF5LmlzQXJyYXkocik/UW8oclswXSxlLHJbMV0pOihlLmhhcyhyKXx8ZS5zZXQocixscihyKSksW2UuZ2V0KHIpLHRdKX1mdW5jdGlvbiBfXyhyKXtyZXR1cm4gQ18udGVzdChyKX1mdW5jdGlvbiBFXyhyKXtpZighci5pbmNsdWRlcygiOi8vIikpcmV0dXJuITE7dHJ5e2xldCBlPW5ldyBVUkwocik7cmV0dXJuIGUuc2NoZW1lIT09IiImJmUuaG9zdCE9PSIifWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBFaChyKXtsZXQgZT0hMDtyZXR1cm4gci53YWxrRGVjbHModD0+e2lmKCFPaCh0LnByb3AsdC52YWx1ZSkpcmV0dXJuIGU9ITEsITF9KSxlfWZ1bmN0aW9uIE9oKHIsZSl7aWYoRV8oYCR7cn06JHtlfWApKXJldHVybiExO3RyeXtyZXR1cm4gZWUucGFyc2UoYGF7JHtyfToke2V9fWApLnRvUmVzdWx0KCksITB9Y2F0Y2godCl7cmV0dXJuITF9fWZ1bmN0aW9uIE9fKHIsZSl7bGV0Wyx0LGldPXIubWF0Y2goL15cWyhbYS16QS1aMC05LV9dKyk6KFxTKylcXSQvKT8/W107aWYoaT09PXZvaWQgMHx8IV9fKHQpfHwhY3IoaSkpcmV0dXJuIG51bGw7bGV0IG49SyhpLHtwcm9wZXJ0eTp0fSk7cmV0dXJuIE9oKHQsbik/W1t7c29ydDplLm9mZnNldHMuYXJiaXRyYXJ5UHJvcGVydHkociksbGF5ZXI6InV0aWxpdGllcyIsb3B0aW9uczp7cmVzcGVjdEltcG9ydGFudDohMH19LCgpPT4oe1skbyhyKV06e1t0XTpufX0pXV06bnVsbH1mdW5jdGlvbipUXyhyLGUpe2UuY2FuZGlkYXRlUnVsZU1hcC5oYXMocikmJih5aWVsZFtlLmNhbmRpZGF0ZVJ1bGVNYXAuZ2V0KHIpLCJERUZBVUxUIl0pLHlpZWxkKmZ1bmN0aW9uKihvKXtvIT09bnVsbCYmKHlpZWxkW28sIkRFRkFVTFQiXSl9KE9fKHIsZSkpO2xldCB0PXIsaT0hMSxuPWUudGFpbHdpbmRDb25maWcucHJlZml4LHM9bi5sZW5ndGgsYT10LnN0YXJ0c1dpdGgobil8fHQuc3RhcnRzV2l0aChgLSR7bn1gKTt0W3NdPT09Ii0iJiZhJiYoaT0hMCx0PW4rdC5zbGljZShzKzEpKSxpJiZlLmNhbmRpZGF0ZVJ1bGVNYXAuaGFzKHQpJiYoeWllbGRbZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh0KSwiLURFRkFVTFQiXSk7Zm9yKGxldFtvLGxdb2YgeF8odCkpZS5jYW5kaWRhdGVSdWxlTWFwLmhhcyhvKSYmKHlpZWxkW2UuY2FuZGlkYXRlUnVsZU1hcC5nZXQobyksaT9gLSR7bH1gOmxdKX1mdW5jdGlvbiBSXyhyLGUpe3JldHVybiByPT09Z3Q/W2d0XTp2ZShyLGUpfWZ1bmN0aW9uKlBfKHIsZSl7Zm9yKGxldCB0IG9mIHIpdFsxXS5yYXdzLnRhaWx3aW5kPXsuLi50WzFdLnJhd3MudGFpbHdpbmQsY2xhc3NDYW5kaWRhdGU6ZSxwcmVzZXJ2ZVNvdXJjZTp0WzBdLm9wdGlvbnM/LnByZXNlcnZlU291cmNlPz8hMX0seWllbGQgdH1mdW5jdGlvbipZbyhyLGUpe2xldCB0PWUudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yLFtpLC4uLm5dPVJfKHIsdCkucmV2ZXJzZSgpLHM9ITE7aS5zdGFydHNXaXRoKCIhIikmJihzPSEwLGk9aS5zbGljZSgxKSk7Zm9yKGxldCBhIG9mIFRfKGksZSkpe2xldCBvPVtdLGw9bmV3IE1hcCxbYyxmXT1hLGQ9Yy5sZW5ndGg9PT0xO2ZvcihsZXRbcCxoXW9mIGMpe2xldCBiPVtdO2lmKHR5cGVvZiBoPT0iZnVuY3Rpb24iKWZvcihsZXQgdiBvZltdLmNvbmNhdChoKGYse2lzT25seVBsdWdpbjpkfSkpKXtsZXRbeSx3XT1Rbyh2LGUucG9zdENzc05vZGVDYWNoZSk7Zm9yKGxldCBrIG9mIHkpYi5wdXNoKFt7Li4ucCxvcHRpb25zOnsuLi5wLm9wdGlvbnMsLi4ud319LGtdKX1lbHNlIGlmKGY9PT0iREVGQVVMVCJ8fGY9PT0iLURFRkFVTFQiKXtsZXQgdj1oLFt5LHddPVFvKHYsZS5wb3N0Q3NzTm9kZUNhY2hlKTtmb3IobGV0IGsgb2YgeSliLnB1c2goW3suLi5wLG9wdGlvbnM6ey4uLnAub3B0aW9ucywuLi53fX0sa10pfWlmKGIubGVuZ3RoPjApe2xldCB2PUFycmF5LmZyb20odGEocC5vcHRpb25zPy50eXBlcz8/W10sZixwLm9wdGlvbnM/P3t9LGUudGFpbHdpbmRDb25maWcpKS5tYXAoKFt5LHddKT0+dyk7di5sZW5ndGg+MCYmbC5zZXQoYix2KSxvLnB1c2goYil9fWlmKEtvKGYpKXtpZihvLmxlbmd0aD4xKXtsZXQgYj1mdW5jdGlvbih5KXtyZXR1cm4geS5sZW5ndGg9PT0xP3lbMF06eS5maW5kKHc9PntsZXQgaz1sLmdldCh3KTtyZXR1cm4gdy5zb21lKChbe29wdGlvbnM6U30sRV0pPT5FaChFKT9TLnR5cGVzLnNvbWUoKHt0eXBlOlQscHJlZmVyT25Db25mbGljdDpCfSk9PmsuaW5jbHVkZXMoVCkmJkIpOiExKX0pfSxbcCxoXT1vLnJlZHVjZSgoeSx3KT0+KHcuc29tZSgoW3tvcHRpb25zOlN9XSk9PlMudHlwZXMuc29tZSgoe3R5cGU6RX0pPT5FPT09ImFueSIpKT95WzBdLnB1c2godyk6eVsxXS5wdXNoKHcpLHkpLFtbXSxbXV0pLHY9YihoKT8/YihwKTtpZih2KW89W3ZdO2Vsc2V7bGV0IHk9by5tYXAoaz0+bmV3IFNldChbLi4ubC5nZXQoayk/P1tdXSkpO2ZvcihsZXQgayBvZiB5KWZvcihsZXQgUyBvZiBrKXtsZXQgRT0hMTtmb3IobGV0IFQgb2YgeSlrIT09VCYmVC5oYXMoUykmJihULmRlbGV0ZShTKSxFPSEwKTtFJiZrLmRlbGV0ZShTKX1sZXQgdz1bXTtmb3IobGV0W2ssU11vZiB5LmVudHJpZXMoKSlmb3IobGV0IEUgb2YgUyl7bGV0IFQ9b1trXS5tYXAoKFssQl0pPT5CKS5mbGF0KCkubWFwKEI9PkIudG9TdHJpbmcoKS5zcGxpdChgCmApLnNsaWNlKDEsLTEpLm1hcChOPT5OLnRyaW0oKSkubWFwKE49PmAgICAgICAke059YCkuam9pbihgCmApKS5qb2luKGAKCmApO3cucHVzaChgICBVc2UgXGAke3IucmVwbGFjZSgiWyIsYFske0V9OmApfVxgIGZvciBcYCR7VC50cmltKCl9XGBgKTticmVha31HLndhcm4oW2BUaGUgY2xhc3MgXGAke3J9XGAgaXMgYW1iaWd1b3VzIGFuZCBtYXRjaGVzIG11bHRpcGxlIHV0aWxpdGllcy5gLC4uLncsYElmIHRoaXMgaXMgY29udGVudCBhbmQgbm90IGEgY2xhc3MsIHJlcGxhY2UgaXQgd2l0aCBcYCR7ci5yZXBsYWNlKCJbIiwiJmxzcWI7IikucmVwbGFjZSgiXSIsIiZyc3FiOyIpfVxgIHRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nLmBdKTtjb250aW51ZX19bz1vLm1hcChwPT5wLmZpbHRlcihoPT5FaChoWzFdKSkpfW89by5mbGF0KCksbz1BcnJheS5mcm9tKFBfKG8saSkpLG89a18obyxlKSxzJiYobz1TXyhvLGkpKTtmb3IobGV0IHAgb2YgbilvPUFfKHAsbyxlKTtmb3IobGV0IHAgb2YgbylwWzFdLnJhd3MudGFpbHdpbmQ9ey4uLnBbMV0ucmF3cy50YWlsd2luZCxjYW5kaWRhdGU6cn0scD1JXyhwLHtjb250ZXh0OmUsY2FuZGlkYXRlOnJ9KSxwIT09bnVsbCYmKHlpZWxkIHApfX1mdW5jdGlvbiBJXyhyLHtjb250ZXh0OmUsY2FuZGlkYXRlOnR9KXtpZighclswXS5jb2xsZWN0ZWRGb3JtYXRzKXJldHVybiByO2xldCBpPSEwLG47dHJ5e249ZHIoclswXS5jb2xsZWN0ZWRGb3JtYXRzLHtjb250ZXh0OmUsY2FuZGlkYXRlOnR9KX1jYXRjaHtyZXR1cm4gbnVsbH1sZXQgcz1lZS5yb290KHtub2RlczpbclsxXS5jbG9uZSgpXX0pO3JldHVybiBzLndhbGtSdWxlcyhhPT57aWYoIXNzKGEpKXRyeXtsZXQgbz1ycyhhLnNlbGVjdG9yLG4se2NhbmRpZGF0ZTp0LGNvbnRleHQ6ZX0pO2lmKG89PT1udWxsKXthLnJlbW92ZSgpO3JldHVybn1hLnNlbGVjdG9yPW99Y2F0Y2h7cmV0dXJuIGk9ITEsITF9fSksIWl8fHMubm9kZXMubGVuZ3RoPT09MD9udWxsOihyWzFdPXMubm9kZXNbMF0scil9ZnVuY3Rpb24gc3Mocil7cmV0dXJuIHIucGFyZW50JiZyLnBhcmVudC50eXBlPT09ImF0cnVsZSImJnIucGFyZW50Lm5hbWU9PT0ia2V5ZnJhbWVzIn1mdW5jdGlvbiBEXyhyKXtpZihyPT09ITApcmV0dXJuIGU9PntzcyhlKXx8ZS53YWxrRGVjbHModD0+e3QucGFyZW50LnR5cGU9PT0icnVsZSImJiFzcyh0LnBhcmVudCkmJih0LmltcG9ydGFudD0hMCl9KX07aWYodHlwZW9mIHI9PSJzdHJpbmciKXJldHVybiBlPT57c3MoZSl8fChlLnNlbGVjdG9ycz1lLnNlbGVjdG9ycy5tYXAodD0+aXModCxyKSkpfX1mdW5jdGlvbiBhcyhyLGUsdD0hMSl7bGV0IGk9W10sbj1EXyhlLnRhaWx3aW5kQ29uZmlnLmltcG9ydGFudCk7Zm9yKGxldCBzIG9mIHIpe2lmKGUubm90Q2xhc3NDYWNoZS5oYXMocykpY29udGludWU7aWYoZS5jYW5kaWRhdGVSdWxlQ2FjaGUuaGFzKHMpKXtpPWkuY29uY2F0KEFycmF5LmZyb20oZS5jYW5kaWRhdGVSdWxlQ2FjaGUuZ2V0KHMpKSk7Y29udGludWV9bGV0IGE9QXJyYXkuZnJvbShZbyhzLGUpKTtpZihhLmxlbmd0aD09PTApe2Uubm90Q2xhc3NDYWNoZS5hZGQocyk7Y29udGludWV9ZS5jbGFzc0NhY2hlLnNldChzLGEpO2xldCBvPWUuY2FuZGlkYXRlUnVsZUNhY2hlLmdldChzKT8/bmV3IFNldDtlLmNhbmRpZGF0ZVJ1bGVDYWNoZS5zZXQocyxvKTtmb3IobGV0IGwgb2YgYSl7bGV0W3tzb3J0OmMsb3B0aW9uczpmfSxkXT1sO2lmKGYucmVzcGVjdEltcG9ydGFudCYmbil7bGV0IGg9ZWUucm9vdCh7bm9kZXM6W2QuY2xvbmUoKV19KTtoLndhbGtSdWxlcyhuKSxkPWgubm9kZXNbMF19bGV0IHA9W2MsdD9kLmNsb25lKCk6ZF07by5hZGQocCksZS5ydWxlQ2FjaGUuYWRkKHApLGkucHVzaChwKX19cmV0dXJuIGl9ZnVuY3Rpb24gS28ocil7cmV0dXJuIHIuc3RhcnRzV2l0aCgiWyIpJiZyLmVuZHNXaXRoKCJdIil9dmFyIG5zLHZfLENfLG9zPVAoKCk9Pnt1KCk7T3QoKTtucz1wZShpdCgpKTtxbygpO0t0KCk7R24oKTtGcigpO0JlKCk7SXQoKTtWbygpO0xvKCk7QnIoKTtPaSgpO0JvKCk7enQoKTtjdCgpO1dvKCk7dl89KDAsbnMuZGVmYXVsdCkocj0+ci5maXJzdC5maWx0ZXIoKHt0eXBlOmV9KT0+ZT09PSJjbGFzcyIpLnBvcCgpLnZhbHVlKTtDXz0vXlthLXpfLV0vfSk7dmFyIFRoLFJoPVAoKCk9Pnt1KCk7VGg9e319KTtmdW5jdGlvbiBxXyhyKXt0cnl7cmV0dXJuIFRoLmNyZWF0ZUhhc2goIm1kNSIpLnVwZGF0ZShyLCJ1dGYtOCIpLmRpZ2VzdCgiYmluYXJ5Iil9Y2F0Y2goZSl7cmV0dXJuIiJ9fWZ1bmN0aW9uIFBoKHIsZSl7bGV0IHQ9ZS50b1N0cmluZygpO2lmKCF0LmluY2x1ZGVzKCJAdGFpbHdpbmQiKSlyZXR1cm4hMTtsZXQgaT1Oby5nZXQociksbj1xXyh0KSxzPWkhPT1uO3JldHVybiBOby5zZXQocixuKSxzfXZhciBJaD1QKCgpPT57dSgpO1JoKCk7SXQoKX0pO2Z1bmN0aW9uIHVzKHIpe3JldHVybihyPjBuKS0ocjwwbil9dmFyIERoPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBxaChyLGUpe2xldCB0PTBuLGk9MG47Zm9yKGxldFtuLHNdb2YgZSlyJm4mJih0PXR8bixpPWl8cyk7cmV0dXJuIHImfnR8aX12YXIgJGg9UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIExoKHIpe2xldCBlPW51bGw7Zm9yKGxldCB0IG9mIHIpZT1lPz90LGU9ZT50P2U6dDtyZXR1cm4gZX1mdW5jdGlvbiAkXyhyLGUpe2xldCB0PXIubGVuZ3RoLGk9ZS5sZW5ndGgsbj10PGk/dDppO2ZvcihsZXQgcz0wO3M8bjtzKyspe2xldCBhPXIuY2hhckNvZGVBdChzKS1lLmNoYXJDb2RlQXQocyk7aWYoYSE9PTApcmV0dXJuIGF9cmV0dXJuIHQtaX12YXIgWG8sTWg9UCgoKT0+e3UoKTtEaCgpOyRoKCk7WG89Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm9mZnNldHM9e2RlZmF1bHRzOjBuLGJhc2U6MG4sY29tcG9uZW50czowbix1dGlsaXRpZXM6MG4sdmFyaWFudHM6MG4sdXNlcjowbn0sdGhpcy5sYXllclBvc2l0aW9ucz17ZGVmYXVsdHM6MG4sYmFzZToxbixjb21wb25lbnRzOjJuLHV0aWxpdGllczozbix1c2VyOjRuLHZhcmlhbnRzOjVufSx0aGlzLnJlc2VydmVkVmFyaWFudEJpdHM9MG4sdGhpcy52YXJpYW50T2Zmc2V0cz1uZXcgTWFwfWNyZWF0ZShlKXtyZXR1cm57bGF5ZXI6ZSxwYXJlbnRMYXllcjplLGFyYml0cmFyeTowbix2YXJpYW50czowbixwYXJhbGxlbEluZGV4OjBuLGluZGV4OnRoaXMub2Zmc2V0c1tlXSsrLHByb3BlcnR5T2Zmc2V0OjBuLHByb3BlcnR5OiIiLG9wdGlvbnM6W119fWFyYml0cmFyeVByb3BlcnR5KGUpe3JldHVybnsuLi50aGlzLmNyZWF0ZSgidXRpbGl0aWVzIiksYXJiaXRyYXJ5OjFuLHByb3BlcnR5OmV9fWZvclZhcmlhbnQoZSx0PTApe2xldCBpPXRoaXMudmFyaWFudE9mZnNldHMuZ2V0KGUpO2lmKGk9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBvZmZzZXQgZm9yIHVua25vd24gdmFyaWFudCAke2V9YCk7cmV0dXJuey4uLnRoaXMuY3JlYXRlKCJ2YXJpYW50cyIpLHZhcmlhbnRzOmk8PEJpZ0ludCh0KX19YXBwbHlWYXJpYW50T2Zmc2V0KGUsdCxpKXtyZXR1cm4gaS52YXJpYW50PXQudmFyaWFudHMsey4uLmUsbGF5ZXI6InZhcmlhbnRzIixwYXJlbnRMYXllcjplLmxheWVyPT09InZhcmlhbnRzIj9lLnBhcmVudExheWVyOmUubGF5ZXIsdmFyaWFudHM6ZS52YXJpYW50c3x0LnZhcmlhbnRzLG9wdGlvbnM6aS5zb3J0P1tdLmNvbmNhdChpLGUub3B0aW9ucyk6ZS5vcHRpb25zLHBhcmFsbGVsSW5kZXg6TGgoW2UucGFyYWxsZWxJbmRleCx0LnBhcmFsbGVsSW5kZXhdKX19YXBwbHlQYXJhbGxlbE9mZnNldChlLHQpe3JldHVybnsuLi5lLHBhcmFsbGVsSW5kZXg6QmlnSW50KHQpfX1yZWNvcmRWYXJpYW50cyhlLHQpe2ZvcihsZXQgaSBvZiBlKXRoaXMucmVjb3JkVmFyaWFudChpLHQoaSkpfXJlY29yZFZhcmlhbnQoZSx0PTEpe3JldHVybiB0aGlzLnZhcmlhbnRPZmZzZXRzLnNldChlLDFuPDx0aGlzLnJlc2VydmVkVmFyaWFudEJpdHMpLHRoaXMucmVzZXJ2ZWRWYXJpYW50Qml0cys9QmlnSW50KHQpLHsuLi50aGlzLmNyZWF0ZSgidmFyaWFudHMiKSx2YXJpYW50czp0aGlzLnZhcmlhbnRPZmZzZXRzLmdldChlKX19Y29tcGFyZShlLHQpe2lmKGUubGF5ZXIhPT10LmxheWVyKXJldHVybiB0aGlzLmxheWVyUG9zaXRpb25zW2UubGF5ZXJdLXRoaXMubGF5ZXJQb3NpdGlvbnNbdC5sYXllcl07aWYoZS5wYXJlbnRMYXllciE9PXQucGFyZW50TGF5ZXIpcmV0dXJuIHRoaXMubGF5ZXJQb3NpdGlvbnNbZS5wYXJlbnRMYXllcl0tdGhpcy5sYXllclBvc2l0aW9uc1t0LnBhcmVudExheWVyXTtmb3IobGV0IGkgb2YgZS5vcHRpb25zKWZvcihsZXQgbiBvZiB0Lm9wdGlvbnMpe2lmKGkuaWQhPT1uLmlkfHwhaS5zb3J0fHwhbi5zb3J0KWNvbnRpbnVlO2xldCBzPUxoKFtpLnZhcmlhbnQsbi52YXJpYW50XSk/PzBuLGE9fihzfHMtMW4pLG89ZS52YXJpYW50cyZhLGw9dC52YXJpYW50cyZhO2lmKG8hPT1sKWNvbnRpbnVlO2xldCBjPWkuc29ydCh7dmFsdWU6aS52YWx1ZSxtb2RpZmllcjppLm1vZGlmaWVyfSx7dmFsdWU6bi52YWx1ZSxtb2RpZmllcjpuLm1vZGlmaWVyfSk7aWYoYyE9PTApcmV0dXJuIGN9cmV0dXJuIGUudmFyaWFudHMhPT10LnZhcmlhbnRzP2UudmFyaWFudHMtdC52YXJpYW50czplLnBhcmFsbGVsSW5kZXghPT10LnBhcmFsbGVsSW5kZXg/ZS5wYXJhbGxlbEluZGV4LXQucGFyYWxsZWxJbmRleDplLmFyYml0cmFyeSE9PXQuYXJiaXRyYXJ5P2UuYXJiaXRyYXJ5LXQuYXJiaXRyYXJ5OmUucHJvcGVydHlPZmZzZXQhPT10LnByb3BlcnR5T2Zmc2V0P2UucHJvcGVydHlPZmZzZXQtdC5wcm9wZXJ0eU9mZnNldDplLmluZGV4LXQuaW5kZXh9cmVjYWxjdWxhdGVWYXJpYW50T2Zmc2V0cygpe2xldCBlPUFycmF5LmZyb20odGhpcy52YXJpYW50T2Zmc2V0cy5lbnRyaWVzKCkpLmZpbHRlcigoW25dKT0+bi5zdGFydHNXaXRoKCJbIikpLnNvcnQoKFtuXSxbc10pPT4kXyhuLHMpKSx0PWUubWFwKChbLG5dKT0+bikuc29ydCgobixzKT0+dXMobi1zKSk7cmV0dXJuIGUubWFwKChbLG5dLHMpPT5bbix0W3NdXSkuZmlsdGVyKChbbixzXSk9Pm4hPT1zKX1yZW1hcEFyYml0cmFyeVZhcmlhbnRPZmZzZXRzKGUpe2xldCB0PXRoaXMucmVjYWxjdWxhdGVWYXJpYW50T2Zmc2V0cygpO3JldHVybiB0Lmxlbmd0aD09PTA/ZTplLm1hcChpPT57bGV0W24sc109aTtyZXR1cm4gbj17Li4ubix2YXJpYW50czpxaChuLnZhcmlhbnRzLHQpfSxbbixzXX0pfXNvcnRBcmJpdHJhcnlQcm9wZXJ0aWVzKGUpe2xldCB0PW5ldyBTZXQ7Zm9yKGxldFthXW9mIGUpYS5hcmJpdHJhcnk9PT0xbiYmdC5hZGQoYS5wcm9wZXJ0eSk7aWYodC5zaXplPT09MClyZXR1cm4gZTtsZXQgaT1BcnJheS5mcm9tKHQpLnNvcnQoKSxuPW5ldyBNYXAscz0xbjtmb3IobGV0IGEgb2YgaSluLnNldChhLHMrKyk7cmV0dXJuIGUubWFwKGE9PntsZXRbbyxsXT1hO3JldHVybiBvPXsuLi5vLHByb3BlcnR5T2Zmc2V0Om4uZ2V0KG8ucHJvcGVydHkpPz8wbn0sW28sbF19KX1zb3J0KGUpe3JldHVybiBlPXRoaXMucmVtYXBBcmJpdHJhcnlWYXJpYW50T2Zmc2V0cyhlKSxlPXRoaXMuc29ydEFyYml0cmFyeVByb3BlcnRpZXMoZSksZS5zb3J0KChbdF0sW2ldKT0+dXModGhpcy5jb21wYXJlKHQsaSkpKX19fSk7ZnVuY3Rpb24gdGwocixlKXtsZXQgdD1yLnRhaWx3aW5kQ29uZmlnLnByZWZpeDtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChlKTp0K2V9ZnVuY3Rpb24gQmgoe3R5cGU6cj0iYW55IiwuLi5lfSl7bGV0IHQ9W10uY29uY2F0KHIpO3JldHVybnsuLi5lLHR5cGVzOnQubWFwKGk9PkFycmF5LmlzQXJyYXkoaSk/e3R5cGU6aVswXSwuLi5pWzFdfTp7dHlwZTppLHByZWZlck9uQ29uZmxpY3Q6ITF9KX19ZnVuY3Rpb24gTF8ocil7bGV0IGU9W10sdD0iIixpPTA7Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDtuKyspe2xldCBzPXJbbl07aWYocz09PSJcXCIpdCs9IlxcIityWysrbl07ZWxzZSBpZihzPT09InsiKSsraSxlLnB1c2godC50cmltKCkpLHQ9IiI7ZWxzZSBpZihzPT09In0iKXtpZigtLWk8MCl0aHJvdyBuZXcgRXJyb3IoIllvdXIgeyBhbmQgfSBhcmUgdW5iYWxhbmNlZC4iKTtlLnB1c2godC50cmltKCkpLHQ9IiJ9ZWxzZSB0Kz1zfXJldHVybiB0Lmxlbmd0aD4wJiZlLnB1c2godC50cmltKCkpLGU9ZS5maWx0ZXIobj0+biE9PSIiKSxlfWZ1bmN0aW9uIE1fKHIsZSx7YmVmb3JlOnQ9W119PXt9KXtpZih0PVtdLmNvbmNhdCh0KSx0Lmxlbmd0aDw9MCl7ci5wdXNoKGUpO3JldHVybn1sZXQgaT1yLmxlbmd0aC0xO2ZvcihsZXQgbiBvZiB0KXtsZXQgcz1yLmluZGV4T2Yobik7cyE9PS0xJiYoaT1NYXRoLm1pbihpLHMpKX1yLnNwbGljZShpLDAsZSl9ZnVuY3Rpb24gRmgocil7cmV0dXJuIEFycmF5LmlzQXJyYXkocik/ci5mbGF0TWFwKGU9PiFBcnJheS5pc0FycmF5KGUpJiYha2UoZSk/ZTpscihlKSk6RmgoW3JdKX1mdW5jdGlvbiBOXyhyLGUpe3JldHVybigwLFpvLmRlZmF1bHQpKGk9PntsZXQgbj1bXTtyZXR1cm4gZSYmZShpKSxpLndhbGtDbGFzc2VzKHM9PntuLnB1c2gocy52YWx1ZSl9KSxufSkudHJhbnNmb3JtU3luYyhyKX1mdW5jdGlvbiBCXyhyKXtyLndhbGtQc2V1ZG9zKGU9PntlLnZhbHVlPT09Ijpub3QiJiZlLnJlbW92ZSgpfSl9ZnVuY3Rpb24gRl8ocixlPXtjb250YWluc05vbk9uRGVtYW5kYWJsZTohMX0sdD0wKXtsZXQgaT1bXSxuPVtdO3IudHlwZT09PSJydWxlIj9uLnB1c2goLi4uci5zZWxlY3RvcnMpOnIudHlwZT09PSJhdHJ1bGUiJiZyLndhbGtSdWxlcyhzPT5uLnB1c2goLi4ucy5zZWxlY3RvcnMpKTtmb3IobGV0IHMgb2Ygbil7bGV0IGE9Tl8ocyxCXyk7YS5sZW5ndGg9PT0wJiYoZS5jb250YWluc05vbk9uRGVtYW5kYWJsZT0hMCk7Zm9yKGxldCBvIG9mIGEpaS5wdXNoKG8pfXJldHVybiB0PT09MD9bZS5jb250YWluc05vbk9uRGVtYW5kYWJsZXx8aS5sZW5ndGg9PT0wLGldOml9ZnVuY3Rpb24gZnMocil7cmV0dXJuIEZoKHIpLmZsYXRNYXAoZT0+e2xldCB0PW5ldyBNYXAsW2ksbl09Rl8oZSk7cmV0dXJuIGkmJm4udW5zaGlmdChndCksbi5tYXAocz0+KHQuaGFzKGUpfHx0LnNldChlLGUpLFtzLHQuZ2V0KGUpXSkpfSl9ZnVuY3Rpb24gbHMocil7cmV0dXJuIHIuc3RhcnRzV2l0aCgiQCIpfHxyLmluY2x1ZGVzKCImIil9ZnVuY3Rpb24gUmkocil7cj1yLnJlcGxhY2UoL1xuKy9nLCIiKS5yZXBsYWNlKC9cc3sxLH0vZywiICIpLnRyaW0oKTtsZXQgZT1MXyhyKS5tYXAodD0+e2lmKCF0LnN0YXJ0c1dpdGgoIkAiKSlyZXR1cm4oe2Zvcm1hdDpzfSk9PnModCk7bGV0WyxpLG5dPS9AKFxTKikoIC4rfFsoe10uKik/L2cuZXhlYyh0KTtyZXR1cm4oe3dyYXA6c30pPT5zKGVlLmF0UnVsZSh7bmFtZTppLHBhcmFtczpuPy50cmltKCk/PyIifSkpfSkucmV2ZXJzZSgpO3JldHVybiB0PT57Zm9yKGxldCBpIG9mIGUpaSh0KX19ZnVuY3Rpb24gal8ocixlLHt2YXJpYW50TGlzdDp0LHZhcmlhbnRNYXA6aSxvZmZzZXRzOm4sY2xhc3NMaXN0OnN9KXtmdW5jdGlvbiBhKHAsaCl7cmV0dXJuIHA/KDAsTmguZGVmYXVsdCkocixwLGgpOnJ9ZnVuY3Rpb24gbyhwKXtyZXR1cm4gdXIoci5wcmVmaXgscCl9ZnVuY3Rpb24gbChwLGgpe3JldHVybiBwPT09Z3Q/Z3Q6aC5yZXNwZWN0UHJlZml4P2UudGFpbHdpbmRDb25maWcucHJlZml4K3A6cH1mdW5jdGlvbiBjKHAsaCxiPXt9KXtsZXQgdj1rdChwKSx5PWEoWyJ0aGVtZSIsLi4udl0saCk7cmV0dXJuIG10KHZbMF0pKHksYil9bGV0IGY9MCxkPXtwb3N0Y3NzOmVlLHByZWZpeDpvLGU6VGUsY29uZmlnOmEsdGhlbWU6Yyxjb3JlUGx1Z2luczpwPT5BcnJheS5pc0FycmF5KHIuY29yZVBsdWdpbnMpP3IuY29yZVBsdWdpbnMuaW5jbHVkZXMocCk6YShbImNvcmVQbHVnaW5zIixwXSwhMCksdmFyaWFudHM6KCk9PltdLGFkZEJhc2UocCl7Zm9yKGxldFtoLGJdb2YgZnMocCkpe2xldCB2PWwoaCx7fSkseT1uLmNyZWF0ZSgiYmFzZSIpO2UuY2FuZGlkYXRlUnVsZU1hcC5oYXModil8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodixbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh2KS5wdXNoKFt7c29ydDp5LGxheWVyOiJiYXNlIn0sYl0pfX0sYWRkRGVmYXVsdHMocCxoKXtsZXQgYj17W2BAZGVmYXVsdHMgJHtwfWBdOmh9O2ZvcihsZXRbdix5XW9mIGZzKGIpKXtsZXQgdz1sKHYse30pO2UuY2FuZGlkYXRlUnVsZU1hcC5oYXModyl8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodyxbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh3KS5wdXNoKFt7c29ydDpuLmNyZWF0ZSgiZGVmYXVsdHMiKSxsYXllcjoiZGVmYXVsdHMifSx5XSl9fSxhZGRDb21wb25lbnRzKHAsaCl7aD1PYmplY3QuYXNzaWduKHt9LHtwcmVzZXJ2ZVNvdXJjZTohMSxyZXNwZWN0UHJlZml4OiEwLHJlc3BlY3RJbXBvcnRhbnQ6ITF9LEFycmF5LmlzQXJyYXkoaCk/e306aCk7Zm9yKGxldFt2LHldb2YgZnMocCkpe2xldCB3PWwodixoKTtzLmFkZCh3KSxlLmNhbmRpZGF0ZVJ1bGVNYXAuaGFzKHcpfHxlLmNhbmRpZGF0ZVJ1bGVNYXAuc2V0KHcsW10pLGUuY2FuZGlkYXRlUnVsZU1hcC5nZXQodykucHVzaChbe3NvcnQ6bi5jcmVhdGUoImNvbXBvbmVudHMiKSxsYXllcjoiY29tcG9uZW50cyIsb3B0aW9uczpofSx5XSl9fSxhZGRVdGlsaXRpZXMocCxoKXtoPU9iamVjdC5hc3NpZ24oe30se3ByZXNlcnZlU291cmNlOiExLHJlc3BlY3RQcmVmaXg6ITAscmVzcGVjdEltcG9ydGFudDohMH0sQXJyYXkuaXNBcnJheShoKT97fTpoKTtmb3IobGV0W3YseV1vZiBmcyhwKSl7bGV0IHc9bCh2LGgpO3MuYWRkKHcpLGUuY2FuZGlkYXRlUnVsZU1hcC5oYXModyl8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodyxbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh3KS5wdXNoKFt7c29ydDpuLmNyZWF0ZSgidXRpbGl0aWVzIiksbGF5ZXI6InV0aWxpdGllcyIsb3B0aW9uczpofSx5XSl9fSxtYXRjaFV0aWxpdGllczpmdW5jdGlvbihwLGgpe2g9Qmgoey4uLntyZXNwZWN0UHJlZml4OiEwLHJlc3BlY3RJbXBvcnRhbnQ6ITAsbW9kaWZpZXJzOiExfSwuLi5ofSk7bGV0IHY9bi5jcmVhdGUoInV0aWxpdGllcyIpO2ZvcihsZXQgeSBpbiBwKXtsZXQgUz1mdW5jdGlvbihULHtpc09ubHlQbHVnaW46Qn0pe2xldFtOLFIsRl09ZWEoaC50eXBlcyxULGgscik7aWYoTj09PXZvaWQgMClyZXR1cm5bXTtpZighaC50eXBlcy5zb21lKCh7dHlwZTpVfSk9PlU9PT1SKSlpZihCKUcud2FybihbYFVubmVjZXNzYXJ5IHR5cGVoaW50IFxgJHtSfVxgIGluIFxgJHt5fS0ke1R9XGAuYCxgWW91IGNhbiBzYWZlbHkgdXBkYXRlIGl0IHRvIFxgJHt5fS0ke1QucmVwbGFjZShSKyI6IiwiIil9XGAuYF0pO2Vsc2UgcmV0dXJuW107aWYoIWNyKE4pKXJldHVybltdO2xldCBZPXtnZXQgbW9kaWZpZXIoKXtyZXR1cm4gaC5tb2RpZmllcnN8fEcud2FybihgbW9kaWZpZXItdXNlZC13aXRob3V0LW9wdGlvbnMtZm9yLSR7eX1gLFsiWW91ciBwbHVnaW4gbXVzdCBzZXQgYG1vZGlmaWVyczogdHJ1ZWAgaW4gaXRzIG9wdGlvbnMgdG8gc3VwcG9ydCBtb2RpZmllcnMuIl0pLEZ9fSxfPXdlKHIsImdlbmVyYWxpemVkTW9kaWZpZXJzIik7cmV0dXJuW10uY29uY2F0KF8/ayhOLFkpOmsoTikpLmZpbHRlcihCb29sZWFuKS5tYXAoVT0+KHtbUW4oeSxUKV06VX0pKX0sdz1sKHksaCksaz1wW3ldO3MuYWRkKFt3LGhdKTtsZXQgRT1be3NvcnQ6dixsYXllcjoidXRpbGl0aWVzIixvcHRpb25zOmh9LFNdO2UuY2FuZGlkYXRlUnVsZU1hcC5oYXModyl8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodyxbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh3KS5wdXNoKEUpfX0sbWF0Y2hDb21wb25lbnRzOmZ1bmN0aW9uKHAsaCl7aD1CaCh7Li4ue3Jlc3BlY3RQcmVmaXg6ITAscmVzcGVjdEltcG9ydGFudDohMSxtb2RpZmllcnM6ITF9LC4uLmh9KTtsZXQgdj1uLmNyZWF0ZSgiY29tcG9uZW50cyIpO2ZvcihsZXQgeSBpbiBwKXtsZXQgUz1mdW5jdGlvbihULHtpc09ubHlQbHVnaW46Qn0pe2xldFtOLFIsRl09ZWEoaC50eXBlcyxULGgscik7aWYoTj09PXZvaWQgMClyZXR1cm5bXTtpZighaC50eXBlcy5zb21lKCh7dHlwZTpVfSk9PlU9PT1SKSlpZihCKUcud2FybihbYFVubmVjZXNzYXJ5IHR5cGVoaW50IFxgJHtSfVxgIGluIFxgJHt5fS0ke1R9XGAuYCxgWW91IGNhbiBzYWZlbHkgdXBkYXRlIGl0IHRvIFxgJHt5fS0ke1QucmVwbGFjZShSKyI6IiwiIil9XGAuYF0pO2Vsc2UgcmV0dXJuW107aWYoIWNyKE4pKXJldHVybltdO2xldCBZPXtnZXQgbW9kaWZpZXIoKXtyZXR1cm4gaC5tb2RpZmllcnN8fEcud2FybihgbW9kaWZpZXItdXNlZC13aXRob3V0LW9wdGlvbnMtZm9yLSR7eX1gLFsiWW91ciBwbHVnaW4gbXVzdCBzZXQgYG1vZGlmaWVyczogdHJ1ZWAgaW4gaXRzIG9wdGlvbnMgdG8gc3VwcG9ydCBtb2RpZmllcnMuIl0pLEZ9fSxfPXdlKHIsImdlbmVyYWxpemVkTW9kaWZpZXJzIik7cmV0dXJuW10uY29uY2F0KF8/ayhOLFkpOmsoTikpLmZpbHRlcihCb29sZWFuKS5tYXAoVT0+KHtbUW4oeSxUKV06VX0pKX0sdz1sKHksaCksaz1wW3ldO3MuYWRkKFt3LGhdKTtsZXQgRT1be3NvcnQ6dixsYXllcjoiY29tcG9uZW50cyIsb3B0aW9uczpofSxTXTtlLmNhbmRpZGF0ZVJ1bGVNYXAuaGFzKHcpfHxlLmNhbmRpZGF0ZVJ1bGVNYXAuc2V0KHcsW10pLGUuY2FuZGlkYXRlUnVsZU1hcC5nZXQodykucHVzaChFKX19LGFkZFZhcmlhbnQocCxoLGI9e30pe2g9W10uY29uY2F0KGgpLm1hcCh2PT57aWYodHlwZW9mIHYhPSJzdHJpbmciKXJldHVybih5PXt9KT0+e2xldHthcmdzOncsbW9kaWZ5U2VsZWN0b3JzOmssY29udGFpbmVyOlMsc2VwYXJhdG9yOkUsd3JhcDpULGZvcm1hdDpCfT15LE49dihPYmplY3QuYXNzaWduKHttb2RpZnlTZWxlY3RvcnM6ayxjb250YWluZXI6UyxzZXBhcmF0b3I6RX0sYi50eXBlPT09Sm8uTWF0Y2hWYXJpYW50JiZ7YXJnczp3LHdyYXA6VCxmb3JtYXQ6Qn0pKTtpZih0eXBlb2YgTj09InN0cmluZyImJiFscyhOKSl0aHJvdyBuZXcgRXJyb3IoYFlvdXIgY3VzdG9tIHZhcmlhbnQgXGAke3B9XGAgaGFzIGFuIGludmFsaWQgZm9ybWF0IHN0cmluZy4gTWFrZSBzdXJlIGl0J3MgYW4gYXQtcnVsZSBvciBjb250YWlucyBhIFxgJlxgIHBsYWNlaG9sZGVyLmApO3JldHVybiBBcnJheS5pc0FycmF5KE4pP04uZmlsdGVyKFI9PnR5cGVvZiBSPT0ic3RyaW5nIikubWFwKFI9PlJpKFIpKTpOJiZ0eXBlb2YgTj09InN0cmluZyImJlJpKE4pKHkpfTtpZighbHModikpdGhyb3cgbmV3IEVycm9yKGBZb3VyIGN1c3RvbSB2YXJpYW50IFxgJHtwfVxgIGhhcyBhbiBpbnZhbGlkIGZvcm1hdCBzdHJpbmcuIE1ha2Ugc3VyZSBpdCdzIGFuIGF0LXJ1bGUgb3IgY29udGFpbnMgYSBcYCZcYCBwbGFjZWhvbGRlci5gKTtyZXR1cm4gUmkodil9KSxNXyh0LHAsYiksaS5zZXQocCxoKSxlLnZhcmlhbnRPcHRpb25zLnNldChwLGIpfSxtYXRjaFZhcmlhbnQocCxoLGIpe2xldCB2PWI/LmlkPz8rK2YseT1wPT09IkAiLHc9d2UociwiZ2VuZXJhbGl6ZWRNb2RpZmllcnMiKTtmb3IobGV0W1MsRV1vZiBPYmplY3QuZW50cmllcyhiPy52YWx1ZXM/P3t9KSlTIT09IkRFRkFVTFQiJiZkLmFkZFZhcmlhbnQoeT9gJHtwfSR7U31gOmAke3B9LSR7U31gLCh7YXJnczpULGNvbnRhaW5lcjpCfSk9PmgoRSx3P3ttb2RpZmllcjpUPy5tb2RpZmllcixjb250YWluZXI6Qn06e2NvbnRhaW5lcjpCfSksey4uLmIsdmFsdWU6RSxpZDp2LHR5cGU6Sm8uTWF0Y2hWYXJpYW50LHZhcmlhbnRJbmZvOmVsLkJhc2V9KTtsZXQgaz0iREVGQVVMVCJpbihiPy52YWx1ZXM/P3t9KTtkLmFkZFZhcmlhbnQocCwoe2FyZ3M6Uyxjb250YWluZXI6RX0pPT5TPy52YWx1ZT09PVRpJiYhaz9udWxsOmgoUz8udmFsdWU9PT1UaT9iLnZhbHVlcy5ERUZBVUxUOlM/LnZhbHVlPz8odHlwZW9mIFM9PSJzdHJpbmciP1M6IiIpLHc/e21vZGlmaWVyOlM/Lm1vZGlmaWVyLGNvbnRhaW5lcjpFfTp7Y29udGFpbmVyOkV9KSx7Li4uYixpZDp2LHR5cGU6Sm8uTWF0Y2hWYXJpYW50LHZhcmlhbnRJbmZvOmVsLkR5bmFtaWN9KX19O3JldHVybiBkfWZ1bmN0aW9uIGNzKHIpe3JldHVybiBybC5oYXMocil8fHJsLnNldChyLG5ldyBNYXApLHJsLmdldChyKX1mdW5jdGlvbiBqaChyLGUpe2xldCB0PSExLGk9bmV3IE1hcDtmb3IobGV0IG4gb2Ygcil7aWYoIW4pY29udGludWU7bGV0IHM9b2EucGFyc2UobiksYT1zLmhhc2g/cy5ocmVmLnJlcGxhY2Uocy5oYXNoLCIiKTpzLmhyZWY7YT1zLnNlYXJjaD9hLnJlcGxhY2Uocy5zZWFyY2gsIiIpOmE7bGV0IG89YmUuc3RhdFN5bmMoZGVjb2RlVVJJQ29tcG9uZW50KGEpLHt0aHJvd0lmTm9FbnRyeTohMX0pPy5tdGltZU1zOyFvfHwoKCFlLmhhcyhuKXx8bz5lLmdldChuKSkmJih0PSEwKSxpLnNldChuLG8pKX1yZXR1cm5bdCxpXX1mdW5jdGlvbiB6aChyKXtyLndhbGtBdFJ1bGVzKGU9PntbInJlc3BvbnNpdmUiLCJ2YXJpYW50cyJdLmluY2x1ZGVzKGUubmFtZSkmJih6aChlKSxlLmJlZm9yZShlLm5vZGVzKSxlLnJlbW92ZSgpKX0pfWZ1bmN0aW9uIHpfKHIpe2xldCBlPVtdO3JldHVybiByLmVhY2godD0+e3QudHlwZT09PSJhdHJ1bGUiJiZbInJlc3BvbnNpdmUiLCJ2YXJpYW50cyJdLmluY2x1ZGVzKHQubmFtZSkmJih0Lm5hbWU9ImxheWVyIix0LnBhcmFtcz0idXRpbGl0aWVzIil9KSxyLndhbGtBdFJ1bGVzKCJsYXllciIsdD0+e2lmKHpoKHQpLHQucGFyYW1zPT09ImJhc2UiKXtmb3IobGV0IGkgb2YgdC5ub2RlcyllLnB1c2goZnVuY3Rpb24oe2FkZEJhc2U6bn0pe24oaSx7cmVzcGVjdFByZWZpeDohMX0pfSk7dC5yZW1vdmUoKX1lbHNlIGlmKHQucGFyYW1zPT09ImNvbXBvbmVudHMiKXtmb3IobGV0IGkgb2YgdC5ub2RlcyllLnB1c2goZnVuY3Rpb24oe2FkZENvbXBvbmVudHM6bn0pe24oaSx7cmVzcGVjdFByZWZpeDohMSxwcmVzZXJ2ZVNvdXJjZTohMH0pfSk7dC5yZW1vdmUoKX1lbHNlIGlmKHQucGFyYW1zPT09InV0aWxpdGllcyIpe2ZvcihsZXQgaSBvZiB0Lm5vZGVzKWUucHVzaChmdW5jdGlvbih7YWRkVXRpbGl0aWVzOm59KXtuKGkse3Jlc3BlY3RQcmVmaXg6ITEscHJlc2VydmVTb3VyY2U6ITB9KX0pO3QucmVtb3ZlKCl9fSksZX1mdW5jdGlvbiBVXyhyLGUpe2xldCB0PU9iamVjdC5lbnRyaWVzKHsuLi5zZSwuLi55aH0pLm1hcCgoW2wsY10pPT5yLnRhaWx3aW5kQ29uZmlnLmNvcmVQbHVnaW5zLmluY2x1ZGVzKGwpP2M6bnVsbCkuZmlsdGVyKEJvb2xlYW4pLGk9ci50YWlsd2luZENvbmZpZy5wbHVnaW5zLm1hcChsPT4obC5fX2lzT3B0aW9uc0Z1bmN0aW9uJiYobD1sKCkpLHR5cGVvZiBsPT0iZnVuY3Rpb24iP2w6bC5oYW5kbGVyKSksbj16XyhlKSxzPVtzZS5jaGlsZFZhcmlhbnQsc2UucHNldWRvRWxlbWVudFZhcmlhbnRzLHNlLnBzZXVkb0NsYXNzVmFyaWFudHMsc2UuaGFzVmFyaWFudHMsc2UuYXJpYVZhcmlhbnRzLHNlLmRhdGFWYXJpYW50c10sYT1bc2Uuc3VwcG9ydHNWYXJpYW50cyxzZS5yZWR1Y2VkTW90aW9uVmFyaWFudHMsc2UucHJlZmVyc0NvbnRyYXN0VmFyaWFudHMsc2Uuc2NyZWVuVmFyaWFudHMsc2Uub3JpZW50YXRpb25WYXJpYW50cyxzZS5kaXJlY3Rpb25WYXJpYW50cyxzZS5kYXJrVmFyaWFudHMsc2UuZm9yY2VkQ29sb3JzVmFyaWFudHMsc2UucHJpbnRWYXJpYW50XTtyZXR1cm4oci50YWlsd2luZENvbmZpZy5kYXJrTW9kZT09PSJjbGFzcyJ8fEFycmF5LmlzQXJyYXkoci50YWlsd2luZENvbmZpZy5kYXJrTW9kZSkmJnIudGFpbHdpbmRDb25maWcuZGFya01vZGVbMF09PT0iY2xhc3MiKSYmKGE9W3NlLnN1cHBvcnRzVmFyaWFudHMsc2UucmVkdWNlZE1vdGlvblZhcmlhbnRzLHNlLnByZWZlcnNDb250cmFzdFZhcmlhbnRzLHNlLmRhcmtWYXJpYW50cyxzZS5zY3JlZW5WYXJpYW50cyxzZS5vcmllbnRhdGlvblZhcmlhbnRzLHNlLmRpcmVjdGlvblZhcmlhbnRzLHNlLmZvcmNlZENvbG9yc1ZhcmlhbnRzLHNlLnByaW50VmFyaWFudF0pLFsuLi50LC4uLnMsLi4uaSwuLi5hLC4uLm5dfWZ1bmN0aW9uIFZfKHIsZSl7bGV0IHQ9W10saT1uZXcgTWFwO2UudmFyaWFudE1hcD1pO2xldCBuPW5ldyBYbztlLm9mZnNldHM9bjtsZXQgcz1uZXcgU2V0LGE9al8oZS50YWlsd2luZENvbmZpZyxlLHt2YXJpYW50TGlzdDp0LHZhcmlhbnRNYXA6aSxvZmZzZXRzOm4sY2xhc3NMaXN0OnN9KTtmb3IobGV0IGYgb2YgcilpZihBcnJheS5pc0FycmF5KGYpKWZvcihsZXQgZCBvZiBmKWQoYSk7ZWxzZSBmPy4oYSk7bi5yZWNvcmRWYXJpYW50cyh0LGY9PmkuZ2V0KGYpLmxlbmd0aCk7Zm9yKGxldFtmLGRdb2YgaS5lbnRyaWVzKCkpZS52YXJpYW50TWFwLnNldChmLGQubWFwKChwLGgpPT5bbi5mb3JWYXJpYW50KGYsaCkscF0pKTtsZXQgbz0oZS50YWlsd2luZENvbmZpZy5zYWZlbGlzdD8/W10pLmZpbHRlcihCb29sZWFuKTtpZihvLmxlbmd0aD4wKXtsZXQgZj1bXTtmb3IobGV0IGQgb2Ygbyl7aWYodHlwZW9mIGQ9PSJzdHJpbmciKXtlLmNoYW5nZWRDb250ZW50LnB1c2goe2NvbnRlbnQ6ZCxleHRlbnNpb246Imh0bWwifSk7Y29udGludWV9aWYoZCBpbnN0YW5jZW9mIFJlZ0V4cCl7Ry53YXJuKCJyb290LXJlZ2V4IixbIlJlZ3VsYXIgZXhwcmVzc2lvbnMgaW4gYHNhZmVsaXN0YCB3b3JrIGRpZmZlcmVudGx5IGluIFRhaWx3aW5kIENTUyB2My4wLiIsIlVwZGF0ZSB5b3VyIGBzYWZlbGlzdGAgY29uZmlndXJhdGlvbiB0byBlbGltaW5hdGUgdGhpcyB3YXJuaW5nLiIsImh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvY29udGVudC1jb25maWd1cmF0aW9uI3NhZmVsaXN0aW5nLWNsYXNzZXMiXSk7Y29udGludWV9Zi5wdXNoKGQpfWlmKGYubGVuZ3RoPjApe2xldCBkPW5ldyBNYXAscD1lLnRhaWx3aW5kQ29uZmlnLnByZWZpeC5sZW5ndGgsaD1mLnNvbWUoYj0+Yi5wYXR0ZXJuLnNvdXJjZS5pbmNsdWRlcygiISIpKTtmb3IobGV0IGIgb2Ygcyl7bGV0IHY9QXJyYXkuaXNBcnJheShiKT8oKCk9PntsZXRbeSx3XT1iLFM9T2JqZWN0LmtleXModz8udmFsdWVzPz97fSkubWFwKEU9PkVpKHksRSkpO3JldHVybiB3Py5zdXBwb3J0c05lZ2F0aXZlVmFsdWVzJiYoUz1bLi4uUywuLi5TLm1hcChFPT4iLSIrRSldLFM9Wy4uLlMsLi4uUy5tYXAoRT0+RS5zbGljZSgwLHApKyItIitFLnNsaWNlKHApKV0pLHcudHlwZXMuc29tZSgoe3R5cGU6RX0pPT5FPT09ImNvbG9yIikmJihTPVsuLi5TLC4uLlMuZmxhdE1hcChFPT5PYmplY3Qua2V5cyhlLnRhaWx3aW5kQ29uZmlnLnRoZW1lLm9wYWNpdHkpLm1hcChUPT5gJHtFfS8ke1R9YCkpXSksaCYmdz8ucmVzcGVjdEltcG9ydGFudCYmKFM9Wy4uLlMsLi4uUy5tYXAoRT0+IiEiK0UpXSksU30pKCk6W2JdO2ZvcihsZXQgeSBvZiB2KWZvcihsZXR7cGF0dGVybjp3LHZhcmlhbnRzOms9W119b2YgZilpZih3Lmxhc3RJbmRleD0wLGQuaGFzKHcpfHxkLnNldCh3LDApLCEhdy50ZXN0KHkpKXtkLnNldCh3LGQuZ2V0KHcpKzEpLGUuY2hhbmdlZENvbnRlbnQucHVzaCh7Y29udGVudDp5LGV4dGVuc2lvbjoiaHRtbCJ9KTtmb3IobGV0IFMgb2YgayllLmNoYW5nZWRDb250ZW50LnB1c2goe2NvbnRlbnQ6UytlLnRhaWx3aW5kQ29uZmlnLnNlcGFyYXRvcit5LGV4dGVuc2lvbjoiaHRtbCJ9KX19Zm9yKGxldFtiLHZdb2YgZC5lbnRyaWVzKCkpdj09PTAmJkcud2FybihbYFRoZSBzYWZlbGlzdCBwYXR0ZXJuIFxgJHtifVxgIGRvZXNuJ3QgbWF0Y2ggYW55IFRhaWx3aW5kIENTUyBjbGFzc2VzLmAsIkZpeCB0aGlzIHBhdHRlcm4gb3IgcmVtb3ZlIGl0IGZyb20geW91ciBgc2FmZWxpc3RgIGNvbmZpZ3VyYXRpb24uIiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9jb250ZW50LWNvbmZpZ3VyYXRpb24jc2FmZWxpc3RpbmctY2xhc3NlcyJdKX19bGV0IGw9W10uY29uY2F0KGUudGFpbHdpbmRDb25maWcuZGFya01vZGU/PyJtZWRpYSIpWzFdPz8iZGFyayIsYz1bdGwoZSxsKSx0bChlLCJncm91cCIpLHRsKGUsInBlZXIiKV07ZS5nZXRDbGFzc09yZGVyPWZ1bmN0aW9uKGQpe2xldCBwPVsuLi5kXS5zb3J0KCh5LHcpPT55PT09dz8wOnk8dz8tMToxKSxoPW5ldyBNYXAocC5tYXAoeT0+W3ksbnVsbF0pKSxiPWFzKG5ldyBTZXQocCksZSwhMCk7Yj1lLm9mZnNldHMuc29ydChiKTtsZXQgdj1CaWdJbnQoYy5sZW5ndGgpO2ZvcihsZXRbLHldb2YgYil7bGV0IHc9eS5yYXdzLnRhaWx3aW5kLmNhbmRpZGF0ZTtoLnNldCh3LGguZ2V0KHcpPz92KyspfXJldHVybiBkLm1hcCh5PT57bGV0IHc9aC5nZXQoeSk/P251bGwsaz1jLmluZGV4T2YoeSk7cmV0dXJuIHc9PT1udWxsJiZrIT09LTEmJih3PUJpZ0ludChrKSksW3ksd119KX0sZS5nZXRDbGFzc0xpc3Q9ZnVuY3Rpb24oZD17fSl7bGV0IHA9W107Zm9yKGxldCBoIG9mIHMpaWYoQXJyYXkuaXNBcnJheShoKSl7bGV0W2Isdl09aCx5PVtdLHc9T2JqZWN0LmtleXModj8ubW9kaWZpZXJzPz97fSk7dj8udHlwZXM/LnNvbWUoKHt0eXBlOkV9KT0+RT09PSJjb2xvciIpJiZ3LnB1c2goLi4uT2JqZWN0LmtleXMoZS50YWlsd2luZENvbmZpZy50aGVtZS5vcGFjaXR5Pz97fSkpO2xldCBrPXttb2RpZmllcnM6d30sUz1kLmluY2x1ZGVNZXRhZGF0YSYmdy5sZW5ndGg+MDtmb3IobGV0W0UsVF1vZiBPYmplY3QuZW50cmllcyh2Py52YWx1ZXM/P3t9KSl7aWYoVD09bnVsbCljb250aW51ZTtsZXQgQj1FaShiLEUpO2lmKHAucHVzaChTP1tCLGtdOkIpLHY/LnN1cHBvcnRzTmVnYXRpdmVWYWx1ZXMmJnh0KFQpKXtsZXQgTj1FaShiLGAtJHtFfWApO3kucHVzaChTP1tOLGtdOk4pfX1wLnB1c2goLi4ueSl9ZWxzZSBwLnB1c2goaCk7cmV0dXJuIHB9LGUuZ2V0VmFyaWFudHM9ZnVuY3Rpb24oKXtsZXQgZD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoNykudG9VcHBlckNhc2UoKSxwPVtdO2ZvcihsZXRbaCxiXW9mIGUudmFyaWFudE9wdGlvbnMuZW50cmllcygpKWIudmFyaWFudEluZm8hPT1lbC5CYXNlJiZwLnB1c2goe25hbWU6aCxpc0FyYml0cmFyeTpiLnR5cGU9PT1TeW1ib2wuZm9yKCJNQVRDSF9WQVJJQU5UIiksdmFsdWVzOk9iamVjdC5rZXlzKGIudmFsdWVzPz97fSksaGFzRGFzaDpoIT09IkAiLHNlbGVjdG9ycyh7bW9kaWZpZXI6dix2YWx1ZTp5fT17fSl7bGV0IHc9YFRBSUxXSU5EUExBQ0VIT0xERVIke2R9YCxrPWVlLnJ1bGUoe3NlbGVjdG9yOmAuJHt3fWB9KSxTPWVlLnJvb3Qoe25vZGVzOltrLmNsb25lKCldfSksRT1TLnRvU3RyaW5nKCksVD0oZS52YXJpYW50TWFwLmdldChoKT8/W10pLmZsYXRNYXAoKFtsZSxBXSk9PkEpLEI9W107Zm9yKGxldCBsZSBvZiBUKXtsZXQgQT1bXSxDPXthcmdzOnttb2RpZmllcjp2LHZhbHVlOmIudmFsdWVzPy5beV0/P3l9LHNlcGFyYXRvcjplLnRhaWx3aW5kQ29uZmlnLnNlcGFyYXRvcixtb2RpZnlTZWxlY3RvcnMoVil7cmV0dXJuIFMuZWFjaChFZT0+e0VlLnR5cGU9PT0icnVsZSImJihFZS5zZWxlY3RvcnM9RWUuc2VsZWN0b3JzLm1hcChJZT0+Vih7Z2V0IGNsYXNzTmFtZSgpe3JldHVybiBHbyhJZSl9LHNlbGVjdG9yOkllfSkpKX0pLFN9LGZvcm1hdChWKXtBLnB1c2goVil9LHdyYXAoVil7QS5wdXNoKGBAJHtWLm5hbWV9ICR7Vi5wYXJhbXN9IHsgJiB9YCl9LGNvbnRhaW5lcjpTfSxoZT1sZShDKTtpZihBLmxlbmd0aD4wJiZCLnB1c2goQSksQXJyYXkuaXNBcnJheShoZSkpZm9yKGxldCBWIG9mIGhlKUE9W10sVihDKSxCLnB1c2goQSl9bGV0IE49W10sUj1TLnRvU3RyaW5nKCk7RSE9PVImJihTLndhbGtSdWxlcyhsZT0+e2xldCBBPWxlLnNlbGVjdG9yLEM9KDAsWm8uZGVmYXVsdCkoaGU9PntoZS53YWxrQ2xhc3NlcyhWPT57Vi52YWx1ZT1gJHtofSR7ZS50YWlsd2luZENvbmZpZy5zZXBhcmF0b3J9JHtWLnZhbHVlfWB9KX0pLnByb2Nlc3NTeW5jKEEpO04ucHVzaChBLnJlcGxhY2UoQywiJiIpLnJlcGxhY2UodywiJiIpKX0pLFMud2Fsa0F0UnVsZXMobGU9PntOLnB1c2goYEAke2xlLm5hbWV9ICgke2xlLnBhcmFtc30pIHsgJiB9YCl9KSk7bGV0IEY9ISh5IGluKGIudmFsdWVzPz97fSkpLFk9YltQdF0/P3t9LF89KCgpPT4hKEZ8fFkucmVzcGVjdFByZWZpeD09PSExKSkoKTtCPUIubWFwKGxlPT5sZS5tYXAoQT0+KHtmb3JtYXQ6QSxyZXNwZWN0UHJlZml4Ol99KSkpLE49Ti5tYXAobGU9Pih7Zm9ybWF0OmxlLHJlc3BlY3RQcmVmaXg6X30pKTtsZXQgUT17Y2FuZGlkYXRlOncsY29udGV4dDplfSxVPUIubWFwKGxlPT5ycyhgLiR7d31gLGRyKGxlLFEpLFEpLnJlcGxhY2UoYC4ke3d9YCwiJiIpLnJlcGxhY2UoInsgJiB9IiwiIikudHJpbSgpKTtyZXR1cm4gTi5sZW5ndGg+MCYmVS5wdXNoKGRyKE4sUSkudG9TdHJpbmcoKS5yZXBsYWNlKGAuJHt3fWAsIiYiKSksVX19KTtyZXR1cm4gcH19ZnVuY3Rpb24gVWgocixlKXshci5jbGFzc0NhY2hlLmhhcyhlKXx8KHIubm90Q2xhc3NDYWNoZS5hZGQoZSksci5jbGFzc0NhY2hlLmRlbGV0ZShlKSxyLmFwcGx5Q2xhc3NDYWNoZS5kZWxldGUoZSksci5jYW5kaWRhdGVSdWxlTWFwLmRlbGV0ZShlKSxyLmNhbmRpZGF0ZVJ1bGVDYWNoZS5kZWxldGUoZSksci5zdHlsZXNoZWV0Q2FjaGU9bnVsbCl9ZnVuY3Rpb24gSF8ocixlKXtsZXQgdD1lLnJhd3MudGFpbHdpbmQuY2FuZGlkYXRlO2lmKCEhdCl7Zm9yKGxldCBpIG9mIHIucnVsZUNhY2hlKWlbMV0ucmF3cy50YWlsd2luZC5jYW5kaWRhdGU9PT10JiZyLnJ1bGVDYWNoZS5kZWxldGUoaSk7VWgocix0KX19ZnVuY3Rpb24gaWwocixlPVtdLHQ9ZWUucm9vdCgpKXtsZXQgaT17ZGlzcG9zYWJsZXM6W10scnVsZUNhY2hlOm5ldyBTZXQsY2FuZGlkYXRlUnVsZUNhY2hlOm5ldyBNYXAsY2xhc3NDYWNoZTpuZXcgTWFwLGFwcGx5Q2xhc3NDYWNoZTpuZXcgTWFwLG5vdENsYXNzQ2FjaGU6bmV3IFNldChyLmJsb2NrbGlzdD8/W10pLHBvc3RDc3NOb2RlQ2FjaGU6bmV3IE1hcCxjYW5kaWRhdGVSdWxlTWFwOm5ldyBNYXAsdGFpbHdpbmRDb25maWc6cixjaGFuZ2VkQ29udGVudDplLHZhcmlhbnRNYXA6bmV3IE1hcCxzdHlsZXNoZWV0Q2FjaGU6bnVsbCx2YXJpYW50T3B0aW9uczpuZXcgTWFwLG1hcmtJbnZhbGlkVXRpbGl0eUNhbmRpZGF0ZTpzPT5VaChpLHMpLG1hcmtJbnZhbGlkVXRpbGl0eU5vZGU6cz0+SF8oaSxzKX0sbj1VXyhpLHQpO3JldHVybiBWXyhuLGkpLGl9ZnVuY3Rpb24gVmgocixlLHQsaSxuLHMpe2xldCBhPWUub3B0cy5mcm9tLG89aSE9PW51bGw7WmUuREVCVUcmJmNvbnNvbGUubG9nKCJTb3VyY2UgcGF0aDoiLGEpO2xldCBsO2lmKG8mJmhyLmhhcyhhKSlsPWhyLmdldChhKTtlbHNlIGlmKFBpLmhhcyhuKSl7bGV0IHA9UGkuZ2V0KG4pO0R0LmdldChwKS5hZGQoYSksaHIuc2V0KGEscCksbD1wfWxldCBjPVBoKGEscik7aWYobCl7bGV0W3AsaF09amgoWy4uLnNdLGNzKGwpKTtpZighcCYmIWMpcmV0dXJuW2wsITEsaF19aWYoaHIuaGFzKGEpKXtsZXQgcD1oci5nZXQoYSk7aWYoRHQuaGFzKHApJiYoRHQuZ2V0KHApLmRlbGV0ZShhKSxEdC5nZXQocCkuc2l6ZT09PTApKXtEdC5kZWxldGUocCk7Zm9yKGxldFtoLGJdb2YgUGkpYj09PXAmJlBpLmRlbGV0ZShoKTtmb3IobGV0IGggb2YgcC5kaXNwb3NhYmxlcy5zcGxpY2UoMCkpaChwKX19WmUuREVCVUcmJmNvbnNvbGUubG9nKCJTZXR0aW5nIHVwIG5ldyBjb250ZXh0Li4uIik7bGV0IGY9aWwodCxbXSxyKTtPYmplY3QuYXNzaWduKGYse3VzZXJDb25maWdQYXRoOml9KTtsZXRbLGRdPWpoKFsuLi5zXSxjcyhmKSk7cmV0dXJuIFBpLnNldChuLGYpLGhyLnNldChhLGYpLER0LmhhcyhmKXx8RHQuc2V0KGYsbmV3IFNldCksRHQuZ2V0KGYpLmFkZChhKSxbZiwhMCxkXX12YXIgTmgsWm8sUHQsSm8sZWwscmwsaHIsUGksRHQsT2k9UCgoKT0+e3UoKTtmdCgpO2xhKCk7T3QoKTtOaD1wZShSYSgpKSxabz1wZShpdCgpKTtDaSgpO3FvKCk7R24oKTtLdCgpO2ZyKCk7TG8oKTtGcigpO2JoKCk7SXQoKTtJdCgpO1lpKCk7QmUoKTtHaSgpO0JvKCk7b3MoKTtJaCgpO01oKCk7Y3QoKTtWbygpO1B0PVN5bWJvbCgpLEpvPXtBZGRWYXJpYW50OlN5bWJvbC5mb3IoIkFERF9WQVJJQU5UIiksTWF0Y2hWYXJpYW50OlN5bWJvbC5mb3IoIk1BVENIX1ZBUklBTlQiKX0sZWw9e0Jhc2U6MTw8MCxEeW5hbWljOjE8PDF9O3JsPW5ldyBXZWFrTWFwO2hyPXdoLFBpPXZoLER0PWVzfSk7ZnVuY3Rpb24gbmwocil7cmV0dXJuIHIuaWdub3JlP1tdOnIuZ2xvYj9tLmVudi5ST0xMVVBfV0FUQ0g9PT0idHJ1ZSI/W3t0eXBlOiJkZXBlbmRlbmN5IixmaWxlOnIuYmFzZX1dOlt7dHlwZToiZGlyLWRlcGVuZGVuY3kiLGRpcjpyLmJhc2UsZ2xvYjpyLmdsb2J9XTpbe3R5cGU6ImRlcGVuZGVuY3kiLGZpbGU6ci5iYXNlfV19dmFyIEhoPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBXaChyLGUpe3JldHVybntoYW5kbGVyOnIsY29uZmlnOmV9fXZhciBHaCxRaD1QKCgpPT57dSgpO1doLndpdGhPcHRpb25zPWZ1bmN0aW9uKHIsZT0oKT0+KHt9KSl7bGV0IHQ9ZnVuY3Rpb24oaSl7cmV0dXJue19fb3B0aW9uczppLGhhbmRsZXI6cihpKSxjb25maWc6ZShpKX19O3JldHVybiB0Ll9faXNPcHRpb25zRnVuY3Rpb249ITAsdC5fX3BsdWdpbkZ1bmN0aW9uPXIsdC5fX2NvbmZpZ0Z1bmN0aW9uPWUsdH07R2g9V2h9KTt2YXIgc2w9e307R2Uoc2wse2RlZmF1bHQ6KCk9PldffSk7dmFyIFdfLGFsPVAoKCk9Pnt1KCk7UWgoKTtXXz1HaH0pO3ZhciBLaD14KCh6NCxZaCk9Pnt1KCk7dmFyIEdfPShhbCgpLHNsKS5kZWZhdWx0LFFfPXtvdmVyZmxvdzoiaGlkZGVuIixkaXNwbGF5OiItd2Via2l0LWJveCIsIi13ZWJraXQtYm94LW9yaWVudCI6InZlcnRpY2FsIn0sWV89R18oZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOnIsYWRkVXRpbGl0aWVzOmUsdGhlbWU6dCx2YXJpYW50czppfSl7bGV0IG49dCgibGluZUNsYW1wIik7cih7ImxpbmUtY2xhbXAiOnM9Pih7Li4uUV8sIi13ZWJraXQtbGluZS1jbGFtcCI6YCR7c31gfSl9LHt2YWx1ZXM6bn0pLGUoW3siLmxpbmUtY2xhbXAtbm9uZSI6eyItd2Via2l0LWxpbmUtY2xhbXAiOiJ1bnNldCJ9fV0saSgibGluZUNsYW1wIikpfSx7dGhlbWU6e2xpbmVDbGFtcDp7MToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiJ9fSx2YXJpYW50czp7bGluZUNsYW1wOlsicmVzcG9uc2l2ZSJdfX0pO1loLmV4cG9ydHM9WV99KTtmdW5jdGlvbiBvbChyKXtyLmNvbnRlbnQuZmlsZXMubGVuZ3RoPT09MCYmRy53YXJuKCJjb250ZW50LXByb2JsZW1zIixbIlRoZSBgY29udGVudGAgb3B0aW9uIGluIHlvdXIgVGFpbHdpbmQgQ1NTIGNvbmZpZ3VyYXRpb24gaXMgbWlzc2luZyBvciBlbXB0eS4iLCJDb25maWd1cmUgeW91ciBjb250ZW50IHNvdXJjZXMgb3IgeW91ciBnZW5lcmF0ZWQgQ1NTIHdpbGwgYmUgbWlzc2luZyBzdHlsZXMuIiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9jb250ZW50LWNvbmZpZ3VyYXRpb24iXSk7dHJ5e2xldCBlPUtoKCk7ci5wbHVnaW5zLmluY2x1ZGVzKGUpJiYoRy53YXJuKCJsaW5lLWNsYW1wLWluLWNvcmUiLFsiQXMgb2YgVGFpbHdpbmQgQ1NTIHYzLjMsIHRoZSBgQHRhaWx3aW5kY3NzL2xpbmUtY2xhbXBgIHBsdWdpbiBpcyBub3cgaW5jbHVkZWQgYnkgZGVmYXVsdC4iLCJSZW1vdmUgaXQgZnJvbSB0aGUgYHBsdWdpbnNgIGFycmF5IGluIHlvdXIgY29uZmlndXJhdGlvbiB0byBlbGltaW5hdGUgdGhpcyB3YXJuaW5nLiJdKSxyLnBsdWdpbnM9ci5wbHVnaW5zLmZpbHRlcih0PT50IT09ZSkpfWNhdGNoe31yZXR1cm4gcn12YXIgWGg9UCgoKT0+e3UoKTtCZSgpfSk7dmFyIFpoLEpoPVAoKCk9Pnt1KCk7Wmg9KCk9PiExfSk7dmFyIHBzLGVtPVAoKCk9Pnt1KCk7cHM9e3N5bmM6cj0+W10uY29uY2F0KHIpLGdlbmVyYXRlVGFza3M6cj0+W3tkeW5hbWljOiExLGJhc2U6Ii4iLG5lZ2F0aXZlOltdLHBvc2l0aXZlOltdLmNvbmNhdChyKSxwYXR0ZXJuczpbXS5jb25jYXQocil9XSxlc2NhcGVQYXRoOnI9PnJ9fSk7dmFyIGxsLHRtPVAoKCk9Pnt1KCk7bGw9cj0+cn0pO3ZhciBybSxpbT1QKCgpPT57dSgpO3JtPSgpPT4iIn0pO2Z1bmN0aW9uIG5tKHIpe2xldCBlPXIsdD1ybShyKTtyZXR1cm4gdCE9PSIuIiYmKGU9ci5zdWJzdHIodC5sZW5ndGgpLGUuY2hhckF0KDApPT09Ii8iJiYoZT1lLnN1YnN0cigxKSkpLGUuc3Vic3RyKDAsMik9PT0iLi8iP2U9ZS5zdWJzdHIoMik6ZS5jaGFyQXQoMCk9PT0iLyImJihlPWUuc3Vic3RyKDEpKSx7YmFzZTp0LGdsb2I6ZX19dmFyIHNtPVAoKCk9Pnt1KCk7aW0oKX0pO3ZhciBkcz14KFZlPT57dSgpOyJ1c2Ugc3RyaWN0IjtWZS5pc0ludGVnZXI9cj0+dHlwZW9mIHI9PSJudW1iZXIiP051bWJlci5pc0ludGVnZXIocik6dHlwZW9mIHI9PSJzdHJpbmciJiZyLnRyaW0oKSE9PSIiP051bWJlci5pc0ludGVnZXIoTnVtYmVyKHIpKTohMTtWZS5maW5kPShyLGUpPT5yLm5vZGVzLmZpbmQodD0+dC50eXBlPT09ZSk7VmUuZXhjZWVkc0xpbWl0PShyLGUsdD0xLGkpPT5pPT09ITF8fCFWZS5pc0ludGVnZXIocil8fCFWZS5pc0ludGVnZXIoZSk/ITE6KE51bWJlcihlKS1OdW1iZXIocikpL051bWJlcih0KT49aTtWZS5lc2NhcGVOb2RlPShyLGU9MCx0KT0+e2xldCBpPXIubm9kZXNbZV07IWl8fCh0JiZpLnR5cGU9PT10fHxpLnR5cGU9PT0ib3BlbiJ8fGkudHlwZT09PSJjbG9zZSIpJiZpLmVzY2FwZWQhPT0hMCYmKGkudmFsdWU9IlxcIitpLnZhbHVlLGkuZXNjYXBlZD0hMCl9O1ZlLmVuY2xvc2VCcmFjZT1yPT5yLnR5cGUhPT0iYnJhY2UiPyExOnIuY29tbWFzPj4wK3IucmFuZ2VzPj4wPT0wPyhyLmludmFsaWQ9ITAsITApOiExO1ZlLmlzSW52YWxpZEJyYWNlPXI9PnIudHlwZSE9PSJicmFjZSI/ITE6ci5pbnZhbGlkPT09ITB8fHIuZG9sbGFyPyEwOnIuY29tbWFzPj4wK3IucmFuZ2VzPj4wPT0wfHxyLm9wZW4hPT0hMHx8ci5jbG9zZSE9PSEwPyhyLmludmFsaWQ9ITAsITApOiExO1ZlLmlzT3Blbk9yQ2xvc2U9cj0+ci50eXBlPT09Im9wZW4ifHxyLnR5cGU9PT0iY2xvc2UiPyEwOnIub3Blbj09PSEwfHxyLmNsb3NlPT09ITA7VmUucmVkdWNlPXI9PnIucmVkdWNlKChlLHQpPT4odC50eXBlPT09InRleHQiJiZlLnB1c2godC52YWx1ZSksdC50eXBlPT09InJhbmdlIiYmKHQudHlwZT0idGV4dCIpLGUpLFtdKTtWZS5mbGF0dGVuPSguLi5yKT0+e2xldCBlPVtdLHQ9aT0+e2ZvcihsZXQgbj0wO248aS5sZW5ndGg7bisrKXtsZXQgcz1pW25dO2lmKEFycmF5LmlzQXJyYXkocykpe3Qocyk7Y29udGludWV9cyE9PXZvaWQgMCYmZS5wdXNoKHMpfXJldHVybiBlfTtyZXR1cm4gdChyKSxlfX0pO3ZhciBocz14KChaNCxvbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBhbT1kcygpO29tLmV4cG9ydHM9KHIsZT17fSk9PntsZXQgdD0oaSxuPXt9KT0+e2xldCBzPWUuZXNjYXBlSW52YWxpZCYmYW0uaXNJbnZhbGlkQnJhY2UobiksYT1pLmludmFsaWQ9PT0hMCYmZS5lc2NhcGVJbnZhbGlkPT09ITAsbz0iIjtpZihpLnZhbHVlKXJldHVybihzfHxhKSYmYW0uaXNPcGVuT3JDbG9zZShpKT8iXFwiK2kudmFsdWU6aS52YWx1ZTtpZihpLnZhbHVlKXJldHVybiBpLnZhbHVlO2lmKGkubm9kZXMpZm9yKGxldCBsIG9mIGkubm9kZXMpbys9dChsKTtyZXR1cm4gb307cmV0dXJuIHQocil9fSk7dmFyIHVtPXgoKEo0LGxtKT0+e3UoKTsidXNlIHN0cmljdCI7bG0uZXhwb3J0cz1mdW5jdGlvbihyKXtyZXR1cm4gdHlwZW9mIHI9PSJudW1iZXIiP3Itcj09MDp0eXBlb2Ygcj09InN0cmluZyImJnIudHJpbSgpIT09IiI/TnVtYmVyLmlzRmluaXRlP051bWJlci5pc0Zpbml0ZSgrcik6aXNGaW5pdGUoK3IpOiExfX0pO3ZhciBibT14KChlNix5bSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBmbT11bSgpLFd0PShyLGUsdCk9PntpZihmbShyKT09PSExKXRocm93IG5ldyBUeXBlRXJyb3IoInRvUmVnZXhSYW5nZTogZXhwZWN0ZWQgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIGJlIGEgbnVtYmVyIik7aWYoZT09PXZvaWQgMHx8cj09PWUpcmV0dXJuIFN0cmluZyhyKTtpZihmbShlKT09PSExKXRocm93IG5ldyBUeXBlRXJyb3IoInRvUmVnZXhSYW5nZTogZXhwZWN0ZWQgdGhlIHNlY29uZCBhcmd1bWVudCB0byBiZSBhIG51bWJlci4iKTtsZXQgaT17cmVsYXhaZXJvczohMCwuLi50fTt0eXBlb2YgaS5zdHJpY3RaZXJvcz09ImJvb2xlYW4iJiYoaS5yZWxheFplcm9zPWkuc3RyaWN0WmVyb3M9PT0hMSk7bGV0IG49U3RyaW5nKGkucmVsYXhaZXJvcykscz1TdHJpbmcoaS5zaG9ydGhhbmQpLGE9U3RyaW5nKGkuY2FwdHVyZSksbz1TdHJpbmcoaS53cmFwKSxsPXIrIjoiK2UrIj0iK24rcythK287aWYoV3QuY2FjaGUuaGFzT3duUHJvcGVydHkobCkpcmV0dXJuIFd0LmNhY2hlW2xdLnJlc3VsdDtsZXQgYz1NYXRoLm1pbihyLGUpLGY9TWF0aC5tYXgocixlKTtpZihNYXRoLmFicyhjLWYpPT09MSl7bGV0IHY9cisifCIrZTtyZXR1cm4gaS5jYXB0dXJlP2AoJHt2fSlgOmkud3JhcD09PSExP3Y6YCg/OiR7dn0pYH1sZXQgZD1nbShyKXx8Z20oZSkscD17bWluOnIsbWF4OmUsYTpjLGI6Zn0saD1bXSxiPVtdO2lmKGQmJihwLmlzUGFkZGVkPWQscC5tYXhMZW49U3RyaW5nKHAubWF4KS5sZW5ndGgpLGM8MCl7bGV0IHY9ZjwwP01hdGguYWJzKGYpOjE7Yj1jbSh2LE1hdGguYWJzKGMpLHAsaSksYz1wLmE9MH1yZXR1cm4gZj49MCYmKGg9Y20oYyxmLHAsaSkpLHAubmVnYXRpdmVzPWIscC5wb3NpdGl2ZXM9aCxwLnJlc3VsdD1LXyhiLGgsaSksaS5jYXB0dXJlPT09ITA/cC5yZXN1bHQ9YCgke3AucmVzdWx0fSlgOmkud3JhcCE9PSExJiZoLmxlbmd0aCtiLmxlbmd0aD4xJiYocC5yZXN1bHQ9YCg/OiR7cC5yZXN1bHR9KWApLFd0LmNhY2hlW2xdPXAscC5yZXN1bHR9O2Z1bmN0aW9uIEtfKHIsZSx0KXtsZXQgaT11bChyLGUsIi0iLCExLHQpfHxbXSxuPXVsKGUsciwiIiwhMSx0KXx8W10scz11bChyLGUsIi0/IiwhMCx0KXx8W107cmV0dXJuIGkuY29uY2F0KHMpLmNvbmNhdChuKS5qb2luKCJ8Iil9ZnVuY3Rpb24gWF8ocixlKXtsZXQgdD0xLGk9MSxuPWRtKHIsdCkscz1uZXcgU2V0KFtlXSk7Zm9yKDtyPD1uJiZuPD1lOylzLmFkZChuKSx0Kz0xLG49ZG0ocix0KTtmb3Iobj1obShlKzEsaSktMTtyPG4mJm48PWU7KXMuYWRkKG4pLGkrPTEsbj1obShlKzEsaSktMTtyZXR1cm4gcz1bLi4uc10scy5zb3J0KGVFKSxzfWZ1bmN0aW9uIFpfKHIsZSx0KXtpZihyPT09ZSlyZXR1cm57cGF0dGVybjpyLGNvdW50OltdLGRpZ2l0czowfTtsZXQgaT1KXyhyLGUpLG49aS5sZW5ndGgscz0iIixhPTA7Zm9yKGxldCBvPTA7bzxuO28rKyl7bGV0W2wsY109aVtvXTtsPT09Yz9zKz1sOmwhPT0iMCJ8fGMhPT0iOSI/cys9dEUobCxjLHQpOmErK31yZXR1cm4gYSYmKHMrPXQuc2hvcnRoYW5kPT09ITA/IlxcZCI6IlswLTldIikse3BhdHRlcm46cyxjb3VudDpbYV0sZGlnaXRzOm59fWZ1bmN0aW9uIGNtKHIsZSx0LGkpe2xldCBuPVhfKHIsZSkscz1bXSxhPXIsbztmb3IobGV0IGw9MDtsPG4ubGVuZ3RoO2wrKyl7bGV0IGM9bltsXSxmPVpfKFN0cmluZyhhKSxTdHJpbmcoYyksaSksZD0iIjtpZighdC5pc1BhZGRlZCYmbyYmby5wYXR0ZXJuPT09Zi5wYXR0ZXJuKXtvLmNvdW50Lmxlbmd0aD4xJiZvLmNvdW50LnBvcCgpLG8uY291bnQucHVzaChmLmNvdW50WzBdKSxvLnN0cmluZz1vLnBhdHRlcm4rbW0oby5jb3VudCksYT1jKzE7Y29udGludWV9dC5pc1BhZGRlZCYmKGQ9ckUoYyx0LGkpKSxmLnN0cmluZz1kK2YucGF0dGVybittbShmLmNvdW50KSxzLnB1c2goZiksYT1jKzEsbz1mfXJldHVybiBzfWZ1bmN0aW9uIHVsKHIsZSx0LGksbil7bGV0IHM9W107Zm9yKGxldCBhIG9mIHIpe2xldHtzdHJpbmc6b309YTshaSYmIXBtKGUsInN0cmluZyIsbykmJnMucHVzaCh0K28pLGkmJnBtKGUsInN0cmluZyIsbykmJnMucHVzaCh0K28pfXJldHVybiBzfWZ1bmN0aW9uIEpfKHIsZSl7bGV0IHQ9W107Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDtpKyspdC5wdXNoKFtyW2ldLGVbaV1dKTtyZXR1cm4gdH1mdW5jdGlvbiBlRShyLGUpe3JldHVybiByPmU/MTplPnI/LTE6MH1mdW5jdGlvbiBwbShyLGUsdCl7cmV0dXJuIHIuc29tZShpPT5pW2VdPT09dCl9ZnVuY3Rpb24gZG0ocixlKXtyZXR1cm4gTnVtYmVyKFN0cmluZyhyKS5zbGljZSgwLC1lKSsiOSIucmVwZWF0KGUpKX1mdW5jdGlvbiBobShyLGUpe3JldHVybiByLXIlTWF0aC5wb3coMTAsZSl9ZnVuY3Rpb24gbW0ocil7bGV0W2U9MCx0PSIiXT1yO3JldHVybiB0fHxlPjE/YHske2UrKHQ/IiwiK3Q6IiIpfX1gOiIifWZ1bmN0aW9uIHRFKHIsZSx0KXtyZXR1cm5gWyR7cn0ke2Utcj09MT8iIjoiLSJ9JHtlfV1gfWZ1bmN0aW9uIGdtKHIpe3JldHVybi9eLT8oMCspXGQvLnRlc3Qocil9ZnVuY3Rpb24gckUocixlLHQpe2lmKCFlLmlzUGFkZGVkKXJldHVybiByO2xldCBpPU1hdGguYWJzKGUubWF4TGVuLVN0cmluZyhyKS5sZW5ndGgpLG49dC5yZWxheFplcm9zIT09ITE7c3dpdGNoKGkpe2Nhc2UgMDpyZXR1cm4iIjtjYXNlIDE6cmV0dXJuIG4/IjA/IjoiMCI7Y2FzZSAyOnJldHVybiBuPyIwezAsMn0iOiIwMCI7ZGVmYXVsdDpyZXR1cm4gbj9gMHswLCR7aX19YDpgMHske2l9fWB9fVd0LmNhY2hlPXt9O1d0LmNsZWFyQ2FjaGU9KCk9Pld0LmNhY2hlPXt9O3ltLmV4cG9ydHM9V3R9KTt2YXIgcGw9eCgodDYsQ20pPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgaUU9KEZuKCksQm4pLHdtPWJtKCksdm09cj0+ciE9PW51bGwmJnR5cGVvZiByPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkociksbkU9cj0+ZT0+cj09PSEwP051bWJlcihlKTpTdHJpbmcoZSksZmw9cj0+dHlwZW9mIHI9PSJudW1iZXIifHx0eXBlb2Ygcj09InN0cmluZyImJnIhPT0iIixJaT1yPT5OdW1iZXIuaXNJbnRlZ2VyKCtyKSxjbD1yPT57bGV0IGU9YCR7cn1gLHQ9LTE7aWYoZVswXT09PSItIiYmKGU9ZS5zbGljZSgxKSksZT09PSIwIilyZXR1cm4hMTtmb3IoO2VbKyt0XT09PSIwIjspO3JldHVybiB0PjB9LHNFPShyLGUsdCk9PnR5cGVvZiByPT0ic3RyaW5nInx8dHlwZW9mIGU9PSJzdHJpbmciPyEwOnQuc3RyaW5naWZ5PT09ITAsYUU9KHIsZSx0KT0+e2lmKGU+MCl7bGV0IGk9clswXT09PSItIj8iLSI6IiI7aSYmKHI9ci5zbGljZSgxKSkscj1pK3IucGFkU3RhcnQoaT9lLTE6ZSwiMCIpfXJldHVybiB0PT09ITE/U3RyaW5nKHIpOnJ9LG1zPShyLGUpPT57bGV0IHQ9clswXT09PSItIj8iLSI6IiI7Zm9yKHQmJihyPXIuc2xpY2UoMSksZS0tKTtyLmxlbmd0aDxlOylyPSIwIityO3JldHVybiB0PyItIityOnJ9LG9FPShyLGUsdCk9PntyLm5lZ2F0aXZlcy5zb3J0KChvLGwpPT5vPGw/LTE6bz5sPzE6MCksci5wb3NpdGl2ZXMuc29ydCgobyxsKT0+bzxsPy0xOm8+bD8xOjApO2xldCBpPWUuY2FwdHVyZT8iIjoiPzoiLG49IiIscz0iIixhO3JldHVybiByLnBvc2l0aXZlcy5sZW5ndGgmJihuPXIucG9zaXRpdmVzLm1hcChvPT5tcyhTdHJpbmcobyksdCkpLmpvaW4oInwiKSksci5uZWdhdGl2ZXMubGVuZ3RoJiYocz1gLSgke2l9JHtyLm5lZ2F0aXZlcy5tYXAobz0+bXMoU3RyaW5nKG8pLHQpKS5qb2luKCJ8Iil9KWApLG4mJnM/YT1gJHtufXwke3N9YDphPW58fHMsZS53cmFwP2AoJHtpfSR7YX0pYDphfSx4bT0ocixlLHQsaSk9PntpZih0KXJldHVybiB3bShyLGUse3dyYXA6ITEsLi4uaX0pO2xldCBuPVN0cmluZy5mcm9tQ2hhckNvZGUocik7aWYocj09PWUpcmV0dXJuIG47bGV0IHM9U3RyaW5nLmZyb21DaGFyQ29kZShlKTtyZXR1cm5gWyR7bn0tJHtzfV1gfSxrbT0ocixlLHQpPT57aWYoQXJyYXkuaXNBcnJheShyKSl7bGV0IGk9dC53cmFwPT09ITAsbj10LmNhcHR1cmU/IiI6Ij86IjtyZXR1cm4gaT9gKCR7bn0ke3Iuam9pbigifCIpfSlgOnIuam9pbigifCIpfXJldHVybiB3bShyLGUsdCl9LFNtPSguLi5yKT0+bmV3IFJhbmdlRXJyb3IoIkludmFsaWQgcmFuZ2UgYXJndW1lbnRzOiAiK2lFLmluc3BlY3QoLi4ucikpLEFtPShyLGUsdCk9PntpZih0LnN0cmljdFJhbmdlcz09PSEwKXRocm93IFNtKFtyLGVdKTtyZXR1cm5bXX0sbEU9KHIsZSk9PntpZihlLnN0cmljdFJhbmdlcz09PSEwKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIHN0ZXAgIiR7cn0iIHRvIGJlIGEgbnVtYmVyYCk7cmV0dXJuW119LHVFPShyLGUsdD0xLGk9e30pPT57bGV0IG49TnVtYmVyKHIpLHM9TnVtYmVyKGUpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pfHwhTnVtYmVyLmlzSW50ZWdlcihzKSl7aWYoaS5zdHJpY3RSYW5nZXM9PT0hMCl0aHJvdyBTbShbcixlXSk7cmV0dXJuW119bj09PTAmJihuPTApLHM9PT0wJiYocz0wKTtsZXQgYT1uPnMsbz1TdHJpbmcociksbD1TdHJpbmcoZSksYz1TdHJpbmcodCk7dD1NYXRoLm1heChNYXRoLmFicyh0KSwxKTtsZXQgZj1jbChvKXx8Y2wobCl8fGNsKGMpLGQ9Zj9NYXRoLm1heChvLmxlbmd0aCxsLmxlbmd0aCxjLmxlbmd0aCk6MCxwPWY9PT0hMSYmc0UocixlLGkpPT09ITEsaD1pLnRyYW5zZm9ybXx8bkUocCk7aWYoaS50b1JlZ2V4JiZ0PT09MSlyZXR1cm4geG0obXMocixkKSxtcyhlLGQpLCEwLGkpO2xldCBiPXtuZWdhdGl2ZXM6W10scG9zaXRpdmVzOltdfSx2PWs9PmJbazwwPyJuZWdhdGl2ZXMiOiJwb3NpdGl2ZXMiXS5wdXNoKE1hdGguYWJzKGspKSx5PVtdLHc9MDtmb3IoO2E/bj49czpuPD1zOylpLnRvUmVnZXg9PT0hMCYmdD4xP3Yobik6eS5wdXNoKGFFKGgobix3KSxkLHApKSxuPWE/bi10Om4rdCx3Kys7cmV0dXJuIGkudG9SZWdleD09PSEwP3Q+MT9vRShiLGksZCk6a20oeSxudWxsLHt3cmFwOiExLC4uLml9KTp5fSxmRT0ocixlLHQ9MSxpPXt9KT0+e2lmKCFJaShyKSYmci5sZW5ndGg+MXx8IUlpKGUpJiZlLmxlbmd0aD4xKXJldHVybiBBbShyLGUsaSk7bGV0IG49aS50cmFuc2Zvcm18fChwPT5TdHJpbmcuZnJvbUNoYXJDb2RlKHApKSxzPWAke3J9YC5jaGFyQ29kZUF0KDApLGE9YCR7ZX1gLmNoYXJDb2RlQXQoMCksbz1zPmEsbD1NYXRoLm1pbihzLGEpLGM9TWF0aC5tYXgocyxhKTtpZihpLnRvUmVnZXgmJnQ9PT0xKXJldHVybiB4bShsLGMsITEsaSk7bGV0IGY9W10sZD0wO2Zvcig7bz9zPj1hOnM8PWE7KWYucHVzaChuKHMsZCkpLHM9bz9zLXQ6cyt0LGQrKztyZXR1cm4gaS50b1JlZ2V4PT09ITA/a20oZixudWxsLHt3cmFwOiExLG9wdGlvbnM6aX0pOmZ9LGdzPShyLGUsdCxpPXt9KT0+e2lmKGU9PW51bGwmJmZsKHIpKXJldHVybltyXTtpZighZmwocil8fCFmbChlKSlyZXR1cm4gQW0ocixlLGkpO2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXJldHVybiBncyhyLGUsMSx7dHJhbnNmb3JtOnR9KTtpZih2bSh0KSlyZXR1cm4gZ3MocixlLDAsdCk7bGV0IG49ey4uLml9O3JldHVybiBuLmNhcHR1cmU9PT0hMCYmKG4ud3JhcD0hMCksdD10fHxuLnN0ZXB8fDEsSWkodCk/SWkocikmJklpKGUpP3VFKHIsZSx0LG4pOmZFKHIsZSxNYXRoLm1heChNYXRoLmFicyh0KSwxKSxuKTp0IT1udWxsJiYhdm0odCk/bEUodCxuKTpncyhyLGUsMSx0KX07Q20uZXhwb3J0cz1nc30pO3ZhciBPbT14KChyNixFbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBjRT1wbCgpLF9tPWRzKCkscEU9KHIsZT17fSk9PntsZXQgdD0oaSxuPXt9KT0+e2xldCBzPV9tLmlzSW52YWxpZEJyYWNlKG4pLGE9aS5pbnZhbGlkPT09ITAmJmUuZXNjYXBlSW52YWxpZD09PSEwLG89cz09PSEwfHxhPT09ITAsbD1lLmVzY2FwZUludmFsaWQ9PT0hMD8iXFwiOiIiLGM9IiI7aWYoaS5pc09wZW49PT0hMClyZXR1cm4gbCtpLnZhbHVlO2lmKGkuaXNDbG9zZT09PSEwKXJldHVybiBjb25zb2xlLmxvZygibm9kZS5pc0Nsb3NlIixsLGkudmFsdWUpLGwraS52YWx1ZTtpZihpLnR5cGU9PT0ib3BlbiIpcmV0dXJuIG8/bCtpLnZhbHVlOiIoIjtpZihpLnR5cGU9PT0iY2xvc2UiKXJldHVybiBvP2wraS52YWx1ZToiKSI7aWYoaS50eXBlPT09ImNvbW1hIilyZXR1cm4gaS5wcmV2LnR5cGU9PT0iY29tbWEiPyIiOm8/aS52YWx1ZToifCI7aWYoaS52YWx1ZSlyZXR1cm4gaS52YWx1ZTtpZihpLm5vZGVzJiZpLnJhbmdlcz4wKXtsZXQgZj1fbS5yZWR1Y2UoaS5ub2RlcyksZD1jRSguLi5mLHsuLi5lLHdyYXA6ITEsdG9SZWdleDohMCxzdHJpY3RaZXJvczohMH0pO2lmKGQubGVuZ3RoIT09MClyZXR1cm4gZi5sZW5ndGg+MSYmZC5sZW5ndGg+MT9gKCR7ZH0pYDpkfWlmKGkubm9kZXMpZm9yKGxldCBmIG9mIGkubm9kZXMpYys9dChmLGkpO3JldHVybiBjfTtyZXR1cm4gdChyKX07RW0uZXhwb3J0cz1wRX0pO3ZhciBQbT14KChpNixSbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBkRT1wbCgpLFRtPWhzKCksbXI9ZHMoKSxHdD0ocj0iIixlPSIiLHQ9ITEpPT57bGV0IGk9W107aWYocj1bXS5jb25jYXQociksZT1bXS5jb25jYXQoZSksIWUubGVuZ3RoKXJldHVybiByO2lmKCFyLmxlbmd0aClyZXR1cm4gdD9tci5mbGF0dGVuKGUpLm1hcChuPT5geyR7bn19YCk6ZTtmb3IobGV0IG4gb2YgcilpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgcyBvZiBuKWkucHVzaChHdChzLGUsdCkpO2Vsc2UgZm9yKGxldCBzIG9mIGUpdD09PSEwJiZ0eXBlb2Ygcz09InN0cmluZyImJihzPWB7JHtzfX1gKSxpLnB1c2goQXJyYXkuaXNBcnJheShzKT9HdChuLHMsdCk6bitzKTtyZXR1cm4gbXIuZmxhdHRlbihpKX0saEU9KHIsZT17fSk9PntsZXQgdD1lLnJhbmdlTGltaXQ9PT12b2lkIDA/MWUzOmUucmFuZ2VMaW1pdCxpPShuLHM9e30pPT57bi5xdWV1ZT1bXTtsZXQgYT1zLG89cy5xdWV1ZTtmb3IoO2EudHlwZSE9PSJicmFjZSImJmEudHlwZSE9PSJyb290IiYmYS5wYXJlbnQ7KWE9YS5wYXJlbnQsbz1hLnF1ZXVlO2lmKG4uaW52YWxpZHx8bi5kb2xsYXIpe28ucHVzaChHdChvLnBvcCgpLFRtKG4sZSkpKTtyZXR1cm59aWYobi50eXBlPT09ImJyYWNlIiYmbi5pbnZhbGlkIT09ITAmJm4ubm9kZXMubGVuZ3RoPT09Mil7by5wdXNoKEd0KG8ucG9wKCksWyJ7fSJdKSk7cmV0dXJufWlmKG4ubm9kZXMmJm4ucmFuZ2VzPjApe2xldCBkPW1yLnJlZHVjZShuLm5vZGVzKTtpZihtci5leGNlZWRzTGltaXQoLi4uZCxlLnN0ZXAsdCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoImV4cGFuZGVkIGFycmF5IGxlbmd0aCBleGNlZWRzIHJhbmdlIGxpbWl0LiBVc2Ugb3B0aW9ucy5yYW5nZUxpbWl0IHRvIGluY3JlYXNlIG9yIGRpc2FibGUgdGhlIGxpbWl0LiIpO2xldCBwPWRFKC4uLmQsZSk7cC5sZW5ndGg9PT0wJiYocD1UbShuLGUpKSxvLnB1c2goR3Qoby5wb3AoKSxwKSksbi5ub2Rlcz1bXTtyZXR1cm59bGV0IGw9bXIuZW5jbG9zZUJyYWNlKG4pLGM9bi5xdWV1ZSxmPW47Zm9yKDtmLnR5cGUhPT0iYnJhY2UiJiZmLnR5cGUhPT0icm9vdCImJmYucGFyZW50OylmPWYucGFyZW50LGM9Zi5xdWV1ZTtmb3IobGV0IGQ9MDtkPG4ubm9kZXMubGVuZ3RoO2QrKyl7bGV0IHA9bi5ub2Rlc1tkXTtpZihwLnR5cGU9PT0iY29tbWEiJiZuLnR5cGU9PT0iYnJhY2UiKXtkPT09MSYmYy5wdXNoKCIiKSxjLnB1c2goIiIpO2NvbnRpbnVlfWlmKHAudHlwZT09PSJjbG9zZSIpe28ucHVzaChHdChvLnBvcCgpLGMsbCkpO2NvbnRpbnVlfWlmKHAudmFsdWUmJnAudHlwZSE9PSJvcGVuIil7Yy5wdXNoKEd0KGMucG9wKCkscC52YWx1ZSkpO2NvbnRpbnVlfXAubm9kZXMmJmkocCxuKX1yZXR1cm4gY307cmV0dXJuIG1yLmZsYXR0ZW4oaShyKSl9O1JtLmV4cG9ydHM9aEV9KTt2YXIgRG09eCgobjYsSW0pPT57dSgpOyJ1c2Ugc3RyaWN0IjtJbS5leHBvcnRzPXtNQVhfTEVOR1RIOjFlNCxDSEFSXzA6IjAiLENIQVJfOToiOSIsQ0hBUl9VUFBFUkNBU0VfQToiQSIsQ0hBUl9MT1dFUkNBU0VfQToiYSIsQ0hBUl9VUFBFUkNBU0VfWjoiWiIsQ0hBUl9MT1dFUkNBU0VfWjoieiIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOiIoIixDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOiIpIixDSEFSX0FTVEVSSVNLOiIqIixDSEFSX0FNUEVSU0FORDoiJiIsQ0hBUl9BVDoiQCIsQ0hBUl9CQUNLU0xBU0g6IlxcIixDSEFSX0JBQ0tUSUNLOiJgIixDSEFSX0NBUlJJQUdFX1JFVFVSTjoiXHIiLENIQVJfQ0lSQ1VNRkxFWF9BQ0NFTlQ6Il4iLENIQVJfQ09MT046IjoiLENIQVJfQ09NTUE6IiwiLENIQVJfRE9MTEFSOiIkIixDSEFSX0RPVDoiLiIsQ0hBUl9ET1VCTEVfUVVPVEU6JyInLENIQVJfRVFVQUw6Ij0iLENIQVJfRVhDTEFNQVRJT05fTUFSSzoiISIsQ0hBUl9GT1JNX0ZFRUQ6IlxmIixDSEFSX0ZPUldBUkRfU0xBU0g6Ii8iLENIQVJfSEFTSDoiIyIsQ0hBUl9IWVBIRU5fTUlOVVM6Ii0iLENIQVJfTEVGVF9BTkdMRV9CUkFDS0VUOiI8IixDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6InsiLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDoiWyIsQ0hBUl9MSU5FX0ZFRUQ6YApgLENIQVJfTk9fQlJFQUtfU1BBQ0U6Ilx4QTAiLENIQVJfUEVSQ0VOVDoiJSIsQ0hBUl9QTFVTOiIrIixDSEFSX1FVRVNUSU9OX01BUks6Ij8iLENIQVJfUklHSFRfQU5HTEVfQlJBQ0tFVDoiPiIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToifSIsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDoiXSIsQ0hBUl9TRU1JQ09MT046IjsiLENIQVJfU0lOR0xFX1FVT1RFOiInIixDSEFSX1NQQUNFOiIgIixDSEFSX1RBQjoiCSIsQ0hBUl9VTkRFUlNDT1JFOiJfIixDSEFSX1ZFUlRJQ0FMX0xJTkU6InwiLENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOiJcdUZFRkYifX0pO3ZhciBObT14KChzNixNbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBtRT1ocygpLHtNQVhfTEVOR1RIOnFtLENIQVJfQkFDS1NMQVNIOmRsLENIQVJfQkFDS1RJQ0s6Z0UsQ0hBUl9DT01NQTp5RSxDSEFSX0RPVDpiRSxDSEFSX0xFRlRfUEFSRU5USEVTRVM6d0UsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzp2RSxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6eEUsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRTprRSxDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6JG0sQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpMbSxDSEFSX0RPVUJMRV9RVU9URTpTRSxDSEFSX1NJTkdMRV9RVU9URTpBRSxDSEFSX05PX0JSRUFLX1NQQUNFOkNFLENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOl9FfT1EbSgpLEVFPShyLGU9e30pPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7bGV0IHQ9ZXx8e30saT10eXBlb2YgdC5tYXhMZW5ndGg9PSJudW1iZXIiP01hdGgubWluKHFtLHQubWF4TGVuZ3RoKTpxbTtpZihyLmxlbmd0aD5pKXRocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoICgke3IubGVuZ3RofSksIGV4Y2VlZHMgbWF4IGNoYXJhY3RlcnMgKCR7aX0pYCk7bGV0IG49e3R5cGU6InJvb3QiLGlucHV0OnIsbm9kZXM6W119LHM9W25dLGE9bixvPW4sbD0wLGM9ci5sZW5ndGgsZj0wLGQ9MCxwLGg9KCk9PnJbZisrXSxiPXY9PntpZih2LnR5cGU9PT0idGV4dCImJm8udHlwZT09PSJkb3QiJiYoby50eXBlPSJ0ZXh0IiksbyYmby50eXBlPT09InRleHQiJiZ2LnR5cGU9PT0idGV4dCIpe28udmFsdWUrPXYudmFsdWU7cmV0dXJufXJldHVybiBhLm5vZGVzLnB1c2godiksdi5wYXJlbnQ9YSx2LnByZXY9byxvPXYsdn07Zm9yKGIoe3R5cGU6ImJvcyJ9KTtmPGM7KWlmKGE9c1tzLmxlbmd0aC0xXSxwPWgoKSwhKHA9PT1fRXx8cD09PUNFKSl7aWYocD09PWRsKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTooZS5rZWVwRXNjYXBpbmc/cDoiIikraCgpfSk7Y29udGludWV9aWYocD09PUxtKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZToiXFwiK3B9KTtjb250aW51ZX1pZihwPT09JG0pe2wrKztsZXQgdjtmb3IoO2Y8YyYmKHY9aCgpKTspe2lmKHArPXYsdj09PSRtKXtsKys7Y29udGludWV9aWYodj09PWRsKXtwKz1oKCk7Y29udGludWV9aWYodj09PUxtJiYobC0tLGw9PT0wKSlicmVha31iKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYocD09PXdFKXthPWIoe3R5cGU6InBhcmVuIixub2RlczpbXX0pLHMucHVzaChhKSxiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYocD09PXZFKXtpZihhLnR5cGUhPT0icGFyZW4iKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9YT1zLnBvcCgpLGIoe3R5cGU6InRleHQiLHZhbHVlOnB9KSxhPXNbcy5sZW5ndGgtMV07Y29udGludWV9aWYocD09PVNFfHxwPT09QUV8fHA9PT1nRSl7bGV0IHY9cCx5O2ZvcihlLmtlZXBRdW90ZXMhPT0hMCYmKHA9IiIpO2Y8YyYmKHk9aCgpKTspe2lmKHk9PT1kbCl7cCs9eStoKCk7Y29udGludWV9aWYoeT09PXYpe2Uua2VlcFF1b3Rlcz09PSEwJiYocCs9eSk7YnJlYWt9cCs9eX1iKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYocD09PXhFKXtkKys7bGV0IHY9by52YWx1ZSYmby52YWx1ZS5zbGljZSgtMSk9PT0iJCJ8fGEuZG9sbGFyPT09ITA7YT1iKHt0eXBlOiJicmFjZSIsb3BlbjohMCxjbG9zZTohMSxkb2xsYXI6dixkZXB0aDpkLGNvbW1hczowLHJhbmdlczowLG5vZGVzOltdfSkscy5wdXNoKGEpLGIoe3R5cGU6Im9wZW4iLHZhbHVlOnB9KTtjb250aW51ZX1pZihwPT09a0Upe2lmKGEudHlwZSE9PSJicmFjZSIpe2Ioe3R5cGU6InRleHQiLHZhbHVlOnB9KTtjb250aW51ZX1sZXQgdj0iY2xvc2UiO2E9cy5wb3AoKSxhLmNsb3NlPSEwLGIoe3R5cGU6dix2YWx1ZTpwfSksZC0tLGE9c1tzLmxlbmd0aC0xXTtjb250aW51ZX1pZihwPT09eUUmJmQ+MCl7aWYoYS5yYW5nZXM+MCl7YS5yYW5nZXM9MDtsZXQgdj1hLm5vZGVzLnNoaWZ0KCk7YS5ub2Rlcz1bdix7dHlwZToidGV4dCIsdmFsdWU6bUUoYSl9XX1iKHt0eXBlOiJjb21tYSIsdmFsdWU6cH0pLGEuY29tbWFzKys7Y29udGludWV9aWYocD09PWJFJiZkPjAmJmEuY29tbWFzPT09MCl7bGV0IHY9YS5ub2RlcztpZihkPT09MHx8di5sZW5ndGg9PT0wKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYoby50eXBlPT09ImRvdCIpe2lmKGEucmFuZ2U9W10sby52YWx1ZSs9cCxvLnR5cGU9InJhbmdlIixhLm5vZGVzLmxlbmd0aCE9PTMmJmEubm9kZXMubGVuZ3RoIT09NSl7YS5pbnZhbGlkPSEwLGEucmFuZ2VzPTAsby50eXBlPSJ0ZXh0Ijtjb250aW51ZX1hLnJhbmdlcysrLGEuYXJncz1bXTtjb250aW51ZX1pZihvLnR5cGU9PT0icmFuZ2UiKXt2LnBvcCgpO2xldCB5PXZbdi5sZW5ndGgtMV07eS52YWx1ZSs9by52YWx1ZStwLG89eSxhLnJhbmdlcy0tO2NvbnRpbnVlfWIoe3R5cGU6ImRvdCIsdmFsdWU6cH0pO2NvbnRpbnVlfWIoe3R5cGU6InRleHQiLHZhbHVlOnB9KX1kbyBpZihhPXMucG9wKCksYS50eXBlIT09InJvb3QiKXthLm5vZGVzLmZvckVhY2godz0+e3cubm9kZXN8fCh3LnR5cGU9PT0ib3BlbiImJih3LmlzT3Blbj0hMCksdy50eXBlPT09ImNsb3NlIiYmKHcuaXNDbG9zZT0hMCksdy5ub2Rlc3x8KHcudHlwZT0idGV4dCIpLHcuaW52YWxpZD0hMCl9KTtsZXQgdj1zW3MubGVuZ3RoLTFdLHk9di5ub2Rlcy5pbmRleE9mKGEpO3Yubm9kZXMuc3BsaWNlKHksMSwuLi5hLm5vZGVzKX13aGlsZShzLmxlbmd0aD4wKTtyZXR1cm4gYih7dHlwZToiZW9zIn0pLG59O01tLmV4cG9ydHM9RUV9KTt2YXIgam09eCgoYTYsRm0pPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgQm09aHMoKSxPRT1PbSgpLFRFPVBtKCksUkU9Tm0oKSxMZT0ocixlPXt9KT0+e2xldCB0PVtdO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKGxldCBpIG9mIHIpe2xldCBuPUxlLmNyZWF0ZShpLGUpO0FycmF5LmlzQXJyYXkobik/dC5wdXNoKC4uLm4pOnQucHVzaChuKX1lbHNlIHQ9W10uY29uY2F0KExlLmNyZWF0ZShyLGUpKTtyZXR1cm4gZSYmZS5leHBhbmQ9PT0hMCYmZS5ub2R1cGVzPT09ITAmJih0PVsuLi5uZXcgU2V0KHQpXSksdH07TGUucGFyc2U9KHIsZT17fSk9PlJFKHIsZSk7TGUuc3RyaW5naWZ5PShyLGU9e30pPT50eXBlb2Ygcj09InN0cmluZyI/Qm0oTGUucGFyc2UocixlKSxlKTpCbShyLGUpO0xlLmNvbXBpbGU9KHIsZT17fSk9Pih0eXBlb2Ygcj09InN0cmluZyImJihyPUxlLnBhcnNlKHIsZSkpLE9FKHIsZSkpO0xlLmV4cGFuZD0ocixlPXt9KT0+e3R5cGVvZiByPT0ic3RyaW5nIiYmKHI9TGUucGFyc2UocixlKSk7bGV0IHQ9VEUocixlKTtyZXR1cm4gZS5ub2VtcHR5PT09ITAmJih0PXQuZmlsdGVyKEJvb2xlYW4pKSxlLm5vZHVwZXM9PT0hMCYmKHQ9Wy4uLm5ldyBTZXQodCldKSx0fTtMZS5jcmVhdGU9KHIsZT17fSk9PnI9PT0iInx8ci5sZW5ndGg8Mz9bcl06ZS5leHBhbmQhPT0hMD9MZS5jb21waWxlKHIsZSk6TGUuZXhwYW5kKHIsZSk7Rm0uZXhwb3J0cz1MZX0pO3ZhciBEaT14KChvNixXbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBQRT0oZXQoKSxVciksYXQ9IlxcXFwvIix6bT1gW14ke2F0fV1gLHl0PSJcXC4iLElFPSJcXCsiLERFPSJcXD8iLHlzPSJcXC8iLHFFPSIoPz0uKSIsVW09IlteL10iLGhsPWAoPzoke3lzfXwkKWAsVm09YCg/Ol58JHt5c30pYCxtbD1gJHt5dH17MSwyfSR7aGx9YCwkRT1gKD8hJHt5dH0pYCxMRT1gKD8hJHtWbX0ke21sfSlgLE1FPWAoPyEke3l0fXswLDF9JHtobH0pYCxORT1gKD8hJHttbH0pYCxCRT1gW14uJHt5c31dYCxGRT1gJHtVbX0qP2AsSG09e0RPVF9MSVRFUkFMOnl0LFBMVVNfTElURVJBTDpJRSxRTUFSS19MSVRFUkFMOkRFLFNMQVNIX0xJVEVSQUw6eXMsT05FX0NIQVI6cUUsUU1BUks6VW0sRU5EX0FOQ0hPUjpobCxET1RTX1NMQVNIOm1sLE5PX0RPVDokRSxOT19ET1RTOkxFLE5PX0RPVF9TTEFTSDpNRSxOT19ET1RTX1NMQVNIOk5FLFFNQVJLX05PX0RPVDpCRSxTVEFSOkZFLFNUQVJUX0FOQ0hPUjpWbX0sakU9ey4uLkhtLFNMQVNIX0xJVEVSQUw6YFske2F0fV1gLFFNQVJLOnptLFNUQVI6YCR7em19Kj9gLERPVFNfU0xBU0g6YCR7eXR9ezEsMn0oPzpbJHthdH1dfCQpYCxOT19ET1Q6YCg/ISR7eXR9KWAsTk9fRE9UUzpgKD8hKD86XnxbJHthdH1dKSR7eXR9ezEsMn0oPzpbJHthdH1dfCQpKWAsTk9fRE9UX1NMQVNIOmAoPyEke3l0fXswLDF9KD86WyR7YXR9XXwkKSlgLE5PX0RPVFNfU0xBU0g6YCg/ISR7eXR9ezEsMn0oPzpbJHthdH1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2F0fV1gLFNUQVJUX0FOQ0hPUjpgKD86XnxbJHthdH1dKWAsRU5EX0FOQ0hPUjpgKD86WyR7YXR9XXwkKWB9LHpFPXthbG51bToiYS16QS1aMC05IixhbHBoYToiYS16QS1aIixhc2NpaToiXFx4MDAtXFx4N0YiLGJsYW5rOiIgXFx0IixjbnRybDoiXFx4MDAtXFx4MUZcXHg3RiIsZGlnaXQ6IjAtOSIsZ3JhcGg6IlxceDIxLVxceDdFIixsb3dlcjoiYS16IixwcmludDoiXFx4MjAtXFx4N0UgIixwdW5jdDoiXFwtIVwiIyQlJicoKVxcKissLi86Ozw9Pj9AW1xcXV5fYHt8fX4iLHNwYWNlOiIgXFx0XFxyXFxuXFx2XFxmIix1cHBlcjoiQS1aIix3b3JkOiJBLVphLXowLTlfIix4ZGlnaXQ6IkEtRmEtZjAtOSJ9O1dtLmV4cG9ydHM9e01BWF9MRU5HVEg6MTAyNCo2NCxQT1NJWF9SRUdFWF9TT1VSQ0U6ekUsUkVHRVhfQkFDS1NMQVNIOi9cXCg/IVsqKz9eJHt9KHwpW1xdXSkvZyxSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzovXlteQCFbXF0uLCQqKz9ee30oKXxcXC9dKy8sUkVHRVhfU1BFQ0lBTF9DSEFSUzovWy0qKz8uXiR7fSh8KVtcXV0vLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjovKFxcPykoKFxXKShcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXV0pL2csUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDovKD86XFsuKj9bXlxcXVxdfFxcKD89LikpL2csUkVQTEFDRU1FTlRTOnsiKioqIjoiKiIsIioqLyoqIjoiKioiLCIqKi8qKi8qKiI6IioqIn0sQ0hBUl8wOjQ4LENIQVJfOTo1NyxDSEFSX1VQUEVSQ0FTRV9BOjY1LENIQVJfTE9XRVJDQVNFX0E6OTcsQ0hBUl9VUFBFUkNBU0VfWjo5MCxDSEFSX0xPV0VSQ0FTRV9aOjEyMixDSEFSX0xFRlRfUEFSRU5USEVTRVM6NDAsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzo0MSxDSEFSX0FTVEVSSVNLOjQyLENIQVJfQU1QRVJTQU5EOjM4LENIQVJfQVQ6NjQsQ0hBUl9CQUNLV0FSRF9TTEFTSDo5MixDSEFSX0NBUlJJQUdFX1JFVFVSTjoxMyxDSEFSX0NJUkNVTUZMRVhfQUNDRU5UOjk0LENIQVJfQ09MT046NTgsQ0hBUl9DT01NQTo0NCxDSEFSX0RPVDo0NixDSEFSX0RPVUJMRV9RVU9URTozNCxDSEFSX0VRVUFMOjYxLENIQVJfRVhDTEFNQVRJT05fTUFSSzozMyxDSEFSX0ZPUk1fRkVFRDoxMixDSEFSX0ZPUldBUkRfU0xBU0g6NDcsQ0hBUl9HUkFWRV9BQ0NFTlQ6OTYsQ0hBUl9IQVNIOjM1LENIQVJfSFlQSEVOX01JTlVTOjQ1LENIQVJfTEVGVF9BTkdMRV9CUkFDS0VUOjYwLENIQVJfTEVGVF9DVVJMWV9CUkFDRToxMjMsQ0hBUl9MRUZUX1NRVUFSRV9CUkFDS0VUOjkxLENIQVJfTElORV9GRUVEOjEwLENIQVJfTk9fQlJFQUtfU1BBQ0U6MTYwLENIQVJfUEVSQ0VOVDozNyxDSEFSX1BMVVM6NDMsQ0hBUl9RVUVTVElPTl9NQVJLOjYzLENIQVJfUklHSFRfQU5HTEVfQlJBQ0tFVDo2MixDSEFSX1JJR0hUX0NVUkxZX0JSQUNFOjEyNSxDSEFSX1JJR0hUX1NRVUFSRV9CUkFDS0VUOjkzLENIQVJfU0VNSUNPTE9OOjU5LENIQVJfU0lOR0xFX1FVT1RFOjM5LENIQVJfU1BBQ0U6MzIsQ0hBUl9UQUI6OSxDSEFSX1VOREVSU0NPUkU6OTUsQ0hBUl9WRVJUSUNBTF9MSU5FOjEyNCxDSEFSX1pFUk9fV0lEVEhfTk9CUkVBS19TUEFDRTo2NTI3OSxTRVA6UEUuc2VwLGV4dGdsb2JDaGFycyhyKXtyZXR1cm57IiEiOnt0eXBlOiJuZWdhdGUiLG9wZW46Iig/Oig/ISg/OiIsY2xvc2U6YCkpJHtyLlNUQVJ9KWB9LCI/Ijp7dHlwZToicW1hcmsiLG9wZW46Iig/OiIsY2xvc2U6Iik/In0sIisiOnt0eXBlOiJwbHVzIixvcGVuOiIoPzoiLGNsb3NlOiIpKyJ9LCIqIjp7dHlwZToic3RhciIsb3BlbjoiKD86IixjbG9zZToiKSoifSwiQCI6e3R5cGU6ImF0IixvcGVuOiIoPzoiLGNsb3NlOiIpIn19fSxnbG9iQ2hhcnMocil7cmV0dXJuIHI9PT0hMD9qRTpIbX19fSk7dmFyIHFpPXgoUmU9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBVRT0oZXQoKSxVciksVkU9bS5wbGF0Zm9ybT09PSJ3aW4zMiIse1JFR0VYX0JBQ0tTTEFTSDpIRSxSRUdFWF9SRU1PVkVfQkFDS1NMQVNIOldFLFJFR0VYX1NQRUNJQUxfQ0hBUlM6R0UsUkVHRVhfU1BFQ0lBTF9DSEFSU19HTE9CQUw6UUV9PURpKCk7UmUuaXNPYmplY3Q9cj0+ciE9PW51bGwmJnR5cGVvZiByPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkocik7UmUuaGFzUmVnZXhDaGFycz1yPT5HRS50ZXN0KHIpO1JlLmlzUmVnZXhDaGFyPXI9PnIubGVuZ3RoPT09MSYmUmUuaGFzUmVnZXhDaGFycyhyKTtSZS5lc2NhcGVSZWdleD1yPT5yLnJlcGxhY2UoUUUsIlxcJDEiKTtSZS50b1Bvc2l4U2xhc2hlcz1yPT5yLnJlcGxhY2UoSEUsIi8iKTtSZS5yZW1vdmVCYWNrc2xhc2hlcz1yPT5yLnJlcGxhY2UoV0UsZT0+ZT09PSJcXCI/IiI6ZSk7UmUuc3VwcG9ydHNMb29rYmVoaW5kcz0oKT0+e2xldCByPW0udmVyc2lvbi5zbGljZSgxKS5zcGxpdCgiLiIpLm1hcChOdW1iZXIpO3JldHVybiByLmxlbmd0aD09PTMmJnJbMF0+PTl8fHJbMF09PT04JiZyWzFdPj0xMH07UmUuaXNXaW5kb3dzPXI9PnImJnR5cGVvZiByLndpbmRvd3M9PSJib29sZWFuIj9yLndpbmRvd3M6VkU9PT0hMHx8VUUuc2VwPT09IlxcIjtSZS5lc2NhcGVMYXN0PShyLGUsdCk9PntsZXQgaT1yLmxhc3RJbmRleE9mKGUsdCk7cmV0dXJuIGk9PT0tMT9yOnJbaS0xXT09PSJcXCI/UmUuZXNjYXBlTGFzdChyLGUsaS0xKTpgJHtyLnNsaWNlKDAsaSl9XFwke3Iuc2xpY2UoaSl9YH07UmUucmVtb3ZlUHJlZml4PShyLGU9e30pPT57bGV0IHQ9cjtyZXR1cm4gdC5zdGFydHNXaXRoKCIuLyIpJiYodD10LnNsaWNlKDIpLGUucHJlZml4PSIuLyIpLHR9O1JlLndyYXBPdXRwdXQ9KHIsZT17fSx0PXt9KT0+e2xldCBpPXQuY29udGFpbnM/IiI6Il4iLG49dC5jb250YWlucz8iIjoiJCIscz1gJHtpfSg/OiR7cn0pJHtufWA7cmV0dXJuIGUubmVnYXRlZD09PSEwJiYocz1gKD86Xig/ISR7c30pLiokKWApLHN9fSk7dmFyIGVnPXgoKHU2LEptKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIEdtPXFpKCkse0NIQVJfQVNURVJJU0s6Z2wsQ0hBUl9BVDpZRSxDSEFSX0JBQ0tXQVJEX1NMQVNIOiRpLENIQVJfQ09NTUE6S0UsQ0hBUl9ET1Q6eWwsQ0hBUl9FWENMQU1BVElPTl9NQVJLOmJsLENIQVJfRk9SV0FSRF9TTEFTSDpRbSxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6d2wsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOnZsLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpYRSxDSEFSX1BMVVM6WkUsQ0hBUl9RVUVTVElPTl9NQVJLOlltLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6SkUsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzpLbSxDSEFSX1JJR0hUX1NRVUFSRV9CUkFDS0VUOmUyfT1EaSgpLFhtPXI9PnI9PT1RbXx8cj09PSRpLFptPXI9PntyLmlzUHJlZml4IT09ITAmJihyLmRlcHRoPXIuaXNHbG9ic3Rhcj8xLzA6MSl9LHQyPShyLGUpPT57bGV0IHQ9ZXx8e30saT1yLmxlbmd0aC0xLG49dC5wYXJ0cz09PSEwfHx0LnNjYW5Ub0VuZD09PSEwLHM9W10sYT1bXSxvPVtdLGw9cixjPS0xLGY9MCxkPTAscD0hMSxoPSExLGI9ITEsdj0hMSx5PSExLHc9ITEsaz0hMSxTPSExLEU9ITEsVD0hMSxCPTAsTixSLEY9e3ZhbHVlOiIiLGRlcHRoOjAsaXNHbG9iOiExfSxZPSgpPT5jPj1pLF89KCk9PmwuY2hhckNvZGVBdChjKzEpLFE9KCk9PihOPVIsbC5jaGFyQ29kZUF0KCsrYykpO2Zvcig7YzxpOyl7Uj1RKCk7bGV0IGhlO2lmKFI9PT0kaSl7az1GLmJhY2tzbGFzaGVzPSEwLFI9USgpLFI9PT13bCYmKHc9ITApO2NvbnRpbnVlfWlmKHc9PT0hMHx8Uj09PXdsKXtmb3IoQisrO1koKSE9PSEwJiYoUj1RKCkpOyl7aWYoUj09PSRpKXtrPUYuYmFja3NsYXNoZXM9ITAsUSgpO2NvbnRpbnVlfWlmKFI9PT13bCl7QisrO2NvbnRpbnVlfWlmKHchPT0hMCYmUj09PXlsJiYoUj1RKCkpPT09eWwpe2lmKHA9Ri5pc0JyYWNlPSEwLGI9Ri5pc0dsb2I9ITAsVD0hMCxuPT09ITApY29udGludWU7YnJlYWt9aWYodyE9PSEwJiZSPT09S0Upe2lmKHA9Ri5pc0JyYWNlPSEwLGI9Ri5pc0dsb2I9ITAsVD0hMCxuPT09ITApY29udGludWU7YnJlYWt9aWYoUj09PUpFJiYoQi0tLEI9PT0wKSl7dz0hMSxwPUYuaXNCcmFjZT0hMCxUPSEwO2JyZWFrfX1pZihuPT09ITApY29udGludWU7YnJlYWt9aWYoUj09PVFtKXtpZihzLnB1c2goYyksYS5wdXNoKEYpLEY9e3ZhbHVlOiIiLGRlcHRoOjAsaXNHbG9iOiExfSxUPT09ITApY29udGludWU7aWYoTj09PXlsJiZjPT09ZisxKXtmKz0yO2NvbnRpbnVlfWQ9YysxO2NvbnRpbnVlfWlmKHQubm9leHQhPT0hMCYmKFI9PT1aRXx8Uj09PVlFfHxSPT09Z2x8fFI9PT1ZbXx8Uj09PWJsKT09PSEwJiZfKCk9PT12bCl7aWYoYj1GLmlzR2xvYj0hMCx2PUYuaXNFeHRnbG9iPSEwLFQ9ITAsUj09PWJsJiZjPT09ZiYmKEU9ITApLG49PT0hMCl7Zm9yKDtZKCkhPT0hMCYmKFI9USgpKTspe2lmKFI9PT0kaSl7az1GLmJhY2tzbGFzaGVzPSEwLFI9USgpO2NvbnRpbnVlfWlmKFI9PT1LbSl7Yj1GLmlzR2xvYj0hMCxUPSEwO2JyZWFrfX1jb250aW51ZX1icmVha31pZihSPT09Z2wpe2lmKE49PT1nbCYmKHk9Ri5pc0dsb2JzdGFyPSEwKSxiPUYuaXNHbG9iPSEwLFQ9ITAsbj09PSEwKWNvbnRpbnVlO2JyZWFrfWlmKFI9PT1ZbSl7aWYoYj1GLmlzR2xvYj0hMCxUPSEwLG49PT0hMCljb250aW51ZTticmVha31pZihSPT09WEUpe2Zvcig7WSgpIT09ITAmJihoZT1RKCkpOyl7aWYoaGU9PT0kaSl7az1GLmJhY2tzbGFzaGVzPSEwLFEoKTtjb250aW51ZX1pZihoZT09PWUyKXtoPUYuaXNCcmFja2V0PSEwLGI9Ri5pc0dsb2I9ITAsVD0hMDticmVha319aWYobj09PSEwKWNvbnRpbnVlO2JyZWFrfWlmKHQubm9uZWdhdGUhPT0hMCYmUj09PWJsJiZjPT09Zil7Uz1GLm5lZ2F0ZWQ9ITAsZisrO2NvbnRpbnVlfWlmKHQubm9wYXJlbiE9PSEwJiZSPT09dmwpe2lmKGI9Ri5pc0dsb2I9ITAsbj09PSEwKXtmb3IoO1koKSE9PSEwJiYoUj1RKCkpOyl7aWYoUj09PXZsKXtrPUYuYmFja3NsYXNoZXM9ITAsUj1RKCk7Y29udGludWV9aWYoUj09PUttKXtUPSEwO2JyZWFrfX1jb250aW51ZX1icmVha31pZihiPT09ITApe2lmKFQ9ITAsbj09PSEwKWNvbnRpbnVlO2JyZWFrfX10Lm5vZXh0PT09ITAmJih2PSExLGI9ITEpO2xldCBVPWwsbGU9IiIsQT0iIjtmPjAmJihsZT1sLnNsaWNlKDAsZiksbD1sLnNsaWNlKGYpLGQtPWYpLFUmJmI9PT0hMCYmZD4wPyhVPWwuc2xpY2UoMCxkKSxBPWwuc2xpY2UoZCkpOmI9PT0hMD8oVT0iIixBPWwpOlU9bCxVJiZVIT09IiImJlUhPT0iLyImJlUhPT1sJiZYbShVLmNoYXJDb2RlQXQoVS5sZW5ndGgtMSkpJiYoVT1VLnNsaWNlKDAsLTEpKSx0LnVuZXNjYXBlPT09ITAmJihBJiYoQT1HbS5yZW1vdmVCYWNrc2xhc2hlcyhBKSksVSYmaz09PSEwJiYoVT1HbS5yZW1vdmVCYWNrc2xhc2hlcyhVKSkpO2xldCBDPXtwcmVmaXg6bGUsaW5wdXQ6cixzdGFydDpmLGJhc2U6VSxnbG9iOkEsaXNCcmFjZTpwLGlzQnJhY2tldDpoLGlzR2xvYjpiLGlzRXh0Z2xvYjp2LGlzR2xvYnN0YXI6eSxuZWdhdGVkOlMsbmVnYXRlZEV4dGdsb2I6RX07aWYodC50b2tlbnM9PT0hMCYmKEMubWF4RGVwdGg9MCxYbShSKXx8YS5wdXNoKEYpLEMudG9rZW5zPWEpLHQucGFydHM9PT0hMHx8dC50b2tlbnM9PT0hMCl7bGV0IGhlO2ZvcihsZXQgVj0wO1Y8cy5sZW5ndGg7VisrKXtsZXQgRWU9aGU/aGUrMTpmLEllPXNbVl0sRGU9ci5zbGljZShFZSxJZSk7dC50b2tlbnMmJihWPT09MCYmZiE9PTA/KGFbVl0uaXNQcmVmaXg9ITAsYVtWXS52YWx1ZT1sZSk6YVtWXS52YWx1ZT1EZSxabShhW1ZdKSxDLm1heERlcHRoKz1hW1ZdLmRlcHRoKSwoViE9PTB8fERlIT09IiIpJiZvLnB1c2goRGUpLGhlPUllfWlmKGhlJiZoZSsxPHIubGVuZ3RoKXtsZXQgVj1yLnNsaWNlKGhlKzEpO28ucHVzaChWKSx0LnRva2VucyYmKGFbYS5sZW5ndGgtMV0udmFsdWU9VixabShhW2EubGVuZ3RoLTFdKSxDLm1heERlcHRoKz1hW2EubGVuZ3RoLTFdLmRlcHRoKX1DLnNsYXNoZXM9cyxDLnBhcnRzPW99cmV0dXJuIEN9O0ptLmV4cG9ydHM9dDJ9KTt2YXIgaWc9eCgoZjYscmcpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgYnM9RGkoKSxNZT1xaSgpLHtNQVhfTEVOR1RIOndzLFBPU0lYX1JFR0VYX1NPVVJDRTpyMixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzppMixSRUdFWF9TUEVDSUFMX0NIQVJTX0JBQ0tSRUY6bjIsUkVQTEFDRU1FTlRTOnRnfT1icyxzMj0ocixlKT0+e2lmKHR5cGVvZiBlLmV4cGFuZFJhbmdlPT0iZnVuY3Rpb24iKXJldHVybiBlLmV4cGFuZFJhbmdlKC4uLnIsZSk7ci5zb3J0KCk7bGV0IHQ9YFske3Iuam9pbigiLSIpfV1gO3RyeXtuZXcgUmVnRXhwKHQpfWNhdGNoKGkpe3JldHVybiByLm1hcChuPT5NZS5lc2NhcGVSZWdleChuKSkuam9pbigiLi4iKX1yZXR1cm4gdH0sZ3I9KHIsZSk9PmBNaXNzaW5nICR7cn06ICIke2V9IiAtIHVzZSAiXFxcXCR7ZX0iIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2AseGw9KHIsZSk9PntpZih0eXBlb2YgciE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBzdHJpbmciKTtyPXRnW3JdfHxyO2xldCB0PXsuLi5lfSxpPXR5cGVvZiB0Lm1heExlbmd0aD09Im51bWJlciI/TWF0aC5taW4od3MsdC5tYXhMZW5ndGgpOndzLG49ci5sZW5ndGg7aWYobj5pKXRocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke259LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7aX1gKTtsZXQgcz17dHlwZToiYm9zIix2YWx1ZToiIixvdXRwdXQ6dC5wcmVwZW5kfHwiIn0sYT1bc10sbz10LmNhcHR1cmU/IiI6Ij86IixsPU1lLmlzV2luZG93cyhlKSxjPWJzLmdsb2JDaGFycyhsKSxmPWJzLmV4dGdsb2JDaGFycyhjKSx7RE9UX0xJVEVSQUw6ZCxQTFVTX0xJVEVSQUw6cCxTTEFTSF9MSVRFUkFMOmgsT05FX0NIQVI6YixET1RTX1NMQVNIOnYsTk9fRE9UOnksTk9fRE9UX1NMQVNIOncsTk9fRE9UU19TTEFTSDprLFFNQVJLOlMsUU1BUktfTk9fRE9UOkUsU1RBUjpULFNUQVJUX0FOQ0hPUjpCfT1jLE49JD0+YCgke299KD86KD8hJHtCfSR7JC5kb3Q/djpkfSkuKSo/KWAsUj10LmRvdD8iIjp5LEY9dC5kb3Q/UzpFLFk9dC5iYXNoPT09ITA/Tih0KTpUO3QuY2FwdHVyZSYmKFk9YCgke1l9KWApLHR5cGVvZiB0Lm5vZXh0PT0iYm9vbGVhbiImJih0Lm5vZXh0Z2xvYj10Lm5vZXh0KTtsZXQgXz17aW5wdXQ6cixpbmRleDotMSxzdGFydDowLGRvdDp0LmRvdD09PSEwLGNvbnN1bWVkOiIiLG91dHB1dDoiIixwcmVmaXg6IiIsYmFja3RyYWNrOiExLG5lZ2F0ZWQ6ITEsYnJhY2tldHM6MCxicmFjZXM6MCxwYXJlbnM6MCxxdW90ZXM6MCxnbG9ic3RhcjohMSx0b2tlbnM6YX07cj1NZS5yZW1vdmVQcmVmaXgocixfKSxuPXIubGVuZ3RoO2xldCBRPVtdLFU9W10sbGU9W10sQT1zLEMsaGU9KCk9Pl8uaW5kZXg9PT1uLTEsVj1fLnBlZWs9KCQ9MSk9PnJbXy5pbmRleCskXSxFZT1fLmFkdmFuY2U9KCk9PnJbKytfLmluZGV4XXx8IiIsSWU9KCk9PnIuc2xpY2UoXy5pbmRleCsxKSxEZT0oJD0iIixhZT0wKT0+e18uY29uc3VtZWQrPSQsXy5pbmRleCs9YWV9LGppPSQ9PntfLm91dHB1dCs9JC5vdXRwdXQhPW51bGw/JC5vdXRwdXQ6JC52YWx1ZSxEZSgkLnZhbHVlKX0sSXY9KCk9PntsZXQgJD0xO2Zvcig7VigpPT09IiEiJiYoVigyKSE9PSIoInx8VigzKT09PSI/Iik7KUVlKCksXy5zdGFydCsrLCQrKztyZXR1cm4gJCUyPT0wPyExOihfLm5lZ2F0ZWQ9ITAsXy5zdGFydCsrLCEwKX0semk9JD0+e19bJF0rKyxsZS5wdXNoKCQpfSxGdD0kPT57X1skXS0tLGxlLnBvcCgpfSxXPSQ9PntpZihBLnR5cGU9PT0iZ2xvYnN0YXIiKXtsZXQgYWU9Xy5icmFjZXM+MCYmKCQudHlwZT09PSJjb21tYSJ8fCQudHlwZT09PSJicmFjZSIpLEk9JC5leHRnbG9iPT09ITB8fFEubGVuZ3RoJiYoJC50eXBlPT09InBpcGUifHwkLnR5cGU9PT0icGFyZW4iKTskLnR5cGUhPT0ic2xhc2giJiYkLnR5cGUhPT0icGFyZW4iJiYhYWUmJiFJJiYoXy5vdXRwdXQ9Xy5vdXRwdXQuc2xpY2UoMCwtQS5vdXRwdXQubGVuZ3RoKSxBLnR5cGU9InN0YXIiLEEudmFsdWU9IioiLEEub3V0cHV0PVksXy5vdXRwdXQrPUEub3V0cHV0KX1pZihRLmxlbmd0aCYmJC50eXBlIT09InBhcmVuIiYmKFFbUS5sZW5ndGgtMV0uaW5uZXIrPSQudmFsdWUpLCgkLnZhbHVlfHwkLm91dHB1dCkmJmppKCQpLEEmJkEudHlwZT09PSJ0ZXh0IiYmJC50eXBlPT09InRleHQiKXtBLnZhbHVlKz0kLnZhbHVlLEEub3V0cHV0PShBLm91dHB1dHx8IiIpKyQudmFsdWU7cmV0dXJufSQucHJldj1BLGEucHVzaCgkKSxBPSR9LFVpPSgkLGFlKT0+e2xldCBJPXsuLi5mW2FlXSxjb25kaXRpb25zOjEsaW5uZXI6IiJ9O0kucHJldj1BLEkucGFyZW5zPV8ucGFyZW5zLEkub3V0cHV0PV8ub3V0cHV0O2xldCBIPSh0LmNhcHR1cmU/IigiOiIiKStJLm9wZW47emkoInBhcmVucyIpLFcoe3R5cGU6JCx2YWx1ZTphZSxvdXRwdXQ6Xy5vdXRwdXQ/IiI6Yn0pLFcoe3R5cGU6InBhcmVuIixleHRnbG9iOiEwLHZhbHVlOkVlKCksb3V0cHV0Okh9KSxRLnB1c2goSSl9LER2PSQ9PntsZXQgYWU9JC5jbG9zZSsodC5jYXB0dXJlPyIpIjoiIiksSTtpZigkLnR5cGU9PT0ibmVnYXRlIil7bGV0IEg9WTtpZigkLmlubmVyJiYkLmlubmVyLmxlbmd0aD4xJiYkLmlubmVyLmluY2x1ZGVzKCIvIikmJihIPU4odCkpLChIIT09WXx8aGUoKXx8L15cKSskLy50ZXN0KEllKCkpKSYmKGFlPSQuY2xvc2U9YCkkKSkke0h9YCksJC5pbm5lci5pbmNsdWRlcygiKiIpJiYoST1JZSgpKSYmL15cLlteXFwvLl0rJC8udGVzdChJKSl7bGV0IGNlPXhsKEksey4uLmUsZmFzdHBhdGhzOiExfSkub3V0cHV0O2FlPSQuY2xvc2U9YCkke2NlfSkke0h9KWB9JC5wcmV2LnR5cGU9PT0iYm9zIiYmKF8ubmVnYXRlZEV4dGdsb2I9ITApfVcoe3R5cGU6InBhcmVuIixleHRnbG9iOiEwLHZhbHVlOkMsb3V0cHV0OmFlfSksRnQoInBhcmVucyIpfTtpZih0LmZhc3RwYXRocyE9PSExJiYhLyheWyohXXxbLygpW1xde30iXSkvLnRlc3Qocikpe2xldCAkPSExLGFlPXIucmVwbGFjZShuMiwoSSxILGNlLENlLHllLEJzKT0+Q2U9PT0iXFwiPygkPSEwLEkpOkNlPT09Ij8iP0g/SCtDZSsoeWU/Uy5yZXBlYXQoeWUubGVuZ3RoKToiIik6QnM9PT0wP0YrKHllP1MucmVwZWF0KHllLmxlbmd0aCk6IiIpOlMucmVwZWF0KGNlLmxlbmd0aCk6Q2U9PT0iLiI/ZC5yZXBlYXQoY2UubGVuZ3RoKTpDZT09PSIqIj9IP0grQ2UrKHllP1k6IiIpOlk6SD9JOmBcXCR7SX1gKTtyZXR1cm4gJD09PSEwJiYodC51bmVzY2FwZT09PSEwP2FlPWFlLnJlcGxhY2UoL1xcL2csIiIpOmFlPWFlLnJlcGxhY2UoL1xcKy9nLEk9PkkubGVuZ3RoJTI9PTA/IlxcXFwiOkk/IlxcIjoiIikpLGFlPT09ciYmdC5jb250YWlucz09PSEwPyhfLm91dHB1dD1yLF8pOihfLm91dHB1dD1NZS53cmFwT3V0cHV0KGFlLF8sZSksXyl9Zm9yKDshaGUoKTspe2lmKEM9RWUoKSxDPT09IlwwIiljb250aW51ZTtpZihDPT09IlxcIil7bGV0IEk9VigpO2lmKEk9PT0iLyImJnQuYmFzaCE9PSEwfHxJPT09Ii4ifHxJPT09IjsiKWNvbnRpbnVlO2lmKCFJKXtDKz0iXFwiLFcoe3R5cGU6InRleHQiLHZhbHVlOkN9KTtjb250aW51ZX1sZXQgSD0vXlxcKy8uZXhlYyhJZSgpKSxjZT0wO2lmKEgmJkhbMF0ubGVuZ3RoPjImJihjZT1IWzBdLmxlbmd0aCxfLmluZGV4Kz1jZSxjZSUyIT0wJiYoQys9IlxcIikpLHQudW5lc2NhcGU9PT0hMD9DPUVlKCk6Qys9RWUoKSxfLmJyYWNrZXRzPT09MCl7Vyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfX1pZihfLmJyYWNrZXRzPjAmJihDIT09Il0ifHxBLnZhbHVlPT09IlsifHxBLnZhbHVlPT09IlteIikpe2lmKHQucG9zaXghPT0hMSYmQz09PSI6Iil7bGV0IEk9QS52YWx1ZS5zbGljZSgxKTtpZihJLmluY2x1ZGVzKCJbIikmJihBLnBvc2l4PSEwLEkuaW5jbHVkZXMoIjoiKSkpe2xldCBIPUEudmFsdWUubGFzdEluZGV4T2YoIlsiKSxjZT1BLnZhbHVlLnNsaWNlKDAsSCksQ2U9QS52YWx1ZS5zbGljZShIKzIpLHllPXIyW0NlXTtpZih5ZSl7QS52YWx1ZT1jZSt5ZSxfLmJhY2t0cmFjaz0hMCxFZSgpLCFzLm91dHB1dCYmYS5pbmRleE9mKEEpPT09MSYmKHMub3V0cHV0PWIpO2NvbnRpbnVlfX19KEM9PT0iWyImJlYoKSE9PSI6Inx8Qz09PSItIiYmVigpPT09Il0iKSYmKEM9YFxcJHtDfWApLEM9PT0iXSImJihBLnZhbHVlPT09IlsifHxBLnZhbHVlPT09IlteIikmJihDPWBcXCR7Q31gKSx0LnBvc2l4PT09ITAmJkM9PT0iISImJkEudmFsdWU9PT0iWyImJihDPSJeIiksQS52YWx1ZSs9QyxqaSh7dmFsdWU6Q30pO2NvbnRpbnVlfWlmKF8ucXVvdGVzPT09MSYmQyE9PSciJyl7Qz1NZS5lc2NhcGVSZWdleChDKSxBLnZhbHVlKz1DLGppKHt2YWx1ZTpDfSk7Y29udGludWV9aWYoQz09PSciJyl7Xy5xdW90ZXM9Xy5xdW90ZXM9PT0xPzA6MSx0LmtlZXBRdW90ZXM9PT0hMCYmVyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEM9PT0iKCIpe3ppKCJwYXJlbnMiKSxXKHt0eXBlOiJwYXJlbiIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEM9PT0iKSIpe2lmKF8ucGFyZW5zPT09MCYmdC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigib3BlbmluZyIsIigiKSk7bGV0IEk9UVtRLmxlbmd0aC0xXTtpZihJJiZfLnBhcmVucz09PUkucGFyZW5zKzEpe0R2KFEucG9wKCkpO2NvbnRpbnVlfVcoe3R5cGU6InBhcmVuIix2YWx1ZTpDLG91dHB1dDpfLnBhcmVucz8iKSI6IlxcKSJ9KSxGdCgicGFyZW5zIik7Y29udGludWV9aWYoQz09PSJbIil7aWYodC5ub2JyYWNrZXQ9PT0hMHx8IUllKCkuaW5jbHVkZXMoIl0iKSl7aWYodC5ub2JyYWNrZXQhPT0hMCYmdC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigiY2xvc2luZyIsIl0iKSk7Qz1gXFwke0N9YH1lbHNlIHppKCJicmFja2V0cyIpO1coe3R5cGU6ImJyYWNrZXQiLHZhbHVlOkN9KTtjb250aW51ZX1pZihDPT09Il0iKXtpZih0Lm5vYnJhY2tldD09PSEwfHxBJiZBLnR5cGU9PT0iYnJhY2tldCImJkEudmFsdWUubGVuZ3RoPT09MSl7Vyh7dHlwZToidGV4dCIsdmFsdWU6QyxvdXRwdXQ6YFxcJHtDfWB9KTtjb250aW51ZX1pZihfLmJyYWNrZXRzPT09MCl7aWYodC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigib3BlbmluZyIsIlsiKSk7Vyh7dHlwZToidGV4dCIsdmFsdWU6QyxvdXRwdXQ6YFxcJHtDfWB9KTtjb250aW51ZX1GdCgiYnJhY2tldHMiKTtsZXQgST1BLnZhbHVlLnNsaWNlKDEpO2lmKEEucG9zaXghPT0hMCYmSVswXT09PSJeIiYmIUkuaW5jbHVkZXMoIi8iKSYmKEM9YC8ke0N9YCksQS52YWx1ZSs9QyxqaSh7dmFsdWU6Q30pLHQubGl0ZXJhbEJyYWNrZXRzPT09ITF8fE1lLmhhc1JlZ2V4Q2hhcnMoSSkpY29udGludWU7bGV0IEg9TWUuZXNjYXBlUmVnZXgoQS52YWx1ZSk7aWYoXy5vdXRwdXQ9Xy5vdXRwdXQuc2xpY2UoMCwtQS52YWx1ZS5sZW5ndGgpLHQubGl0ZXJhbEJyYWNrZXRzPT09ITApe18ub3V0cHV0Kz1ILEEudmFsdWU9SDtjb250aW51ZX1BLnZhbHVlPWAoJHtvfSR7SH18JHtBLnZhbHVlfSlgLF8ub3V0cHV0Kz1BLnZhbHVlO2NvbnRpbnVlfWlmKEM9PT0ieyImJnQubm9icmFjZSE9PSEwKXt6aSgiYnJhY2VzIik7bGV0IEk9e3R5cGU6ImJyYWNlIix2YWx1ZTpDLG91dHB1dDoiKCIsb3V0cHV0SW5kZXg6Xy5vdXRwdXQubGVuZ3RoLHRva2Vuc0luZGV4Ol8udG9rZW5zLmxlbmd0aH07VS5wdXNoKEkpLFcoSSk7Y29udGludWV9aWYoQz09PSJ9Iil7bGV0IEk9VVtVLmxlbmd0aC0xXTtpZih0Lm5vYnJhY2U9PT0hMHx8IUkpe1coe3R5cGU6InRleHQiLHZhbHVlOkMsb3V0cHV0OkN9KTtjb250aW51ZX1sZXQgSD0iKSI7aWYoSS5kb3RzPT09ITApe2xldCBjZT1hLnNsaWNlKCksQ2U9W107Zm9yKGxldCB5ZT1jZS5sZW5ndGgtMTt5ZT49MCYmKGEucG9wKCksY2VbeWVdLnR5cGUhPT0iYnJhY2UiKTt5ZS0tKWNlW3llXS50eXBlIT09ImRvdHMiJiZDZS51bnNoaWZ0KGNlW3llXS52YWx1ZSk7SD1zMihDZSx0KSxfLmJhY2t0cmFjaz0hMH1pZihJLmNvbW1hIT09ITAmJkkuZG90cyE9PSEwKXtsZXQgY2U9Xy5vdXRwdXQuc2xpY2UoMCxJLm91dHB1dEluZGV4KSxDZT1fLnRva2Vucy5zbGljZShJLnRva2Vuc0luZGV4KTtJLnZhbHVlPUkub3V0cHV0PSJcXHsiLEM9SD0iXFx9IixfLm91dHB1dD1jZTtmb3IobGV0IHllIG9mIENlKV8ub3V0cHV0Kz15ZS5vdXRwdXR8fHllLnZhbHVlfVcoe3R5cGU6ImJyYWNlIix2YWx1ZTpDLG91dHB1dDpIfSksRnQoImJyYWNlcyIpLFUucG9wKCk7Y29udGludWV9aWYoQz09PSJ8Iil7US5sZW5ndGg+MCYmUVtRLmxlbmd0aC0xXS5jb25kaXRpb25zKyssVyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEM9PT0iLCIpe2xldCBJPUMsSD1VW1UubGVuZ3RoLTFdO0gmJmxlW2xlLmxlbmd0aC0xXT09PSJicmFjZXMiJiYoSC5jb21tYT0hMCxJPSJ8IiksVyh7dHlwZToiY29tbWEiLHZhbHVlOkMsb3V0cHV0Okl9KTtjb250aW51ZX1pZihDPT09Ii8iKXtpZihBLnR5cGU9PT0iZG90IiYmXy5pbmRleD09PV8uc3RhcnQrMSl7Xy5zdGFydD1fLmluZGV4KzEsXy5jb25zdW1lZD0iIixfLm91dHB1dD0iIixhLnBvcCgpLEE9cztjb250aW51ZX1XKHt0eXBlOiJzbGFzaCIsdmFsdWU6QyxvdXRwdXQ6aH0pO2NvbnRpbnVlfWlmKEM9PT0iLiIpe2lmKF8uYnJhY2VzPjAmJkEudHlwZT09PSJkb3QiKXtBLnZhbHVlPT09Ii4iJiYoQS5vdXRwdXQ9ZCk7bGV0IEk9VVtVLmxlbmd0aC0xXTtBLnR5cGU9ImRvdHMiLEEub3V0cHV0Kz1DLEEudmFsdWUrPUMsSS5kb3RzPSEwO2NvbnRpbnVlfWlmKF8uYnJhY2VzK18ucGFyZW5zPT09MCYmQS50eXBlIT09ImJvcyImJkEudHlwZSE9PSJzbGFzaCIpe1coe3R5cGU6InRleHQiLHZhbHVlOkMsb3V0cHV0OmR9KTtjb250aW51ZX1XKHt0eXBlOiJkb3QiLHZhbHVlOkMsb3V0cHV0OmR9KTtjb250aW51ZX1pZihDPT09Ij8iKXtpZighKEEmJkEudmFsdWU9PT0iKCIpJiZ0Lm5vZXh0Z2xvYiE9PSEwJiZWKCk9PT0iKCImJlYoMikhPT0iPyIpe1VpKCJxbWFyayIsQyk7Y29udGludWV9aWYoQSYmQS50eXBlPT09InBhcmVuIil7bGV0IEg9VigpLGNlPUM7aWYoSD09PSI8IiYmIU1lLnN1cHBvcnRzTG9va2JlaGluZHMoKSl0aHJvdyBuZXcgRXJyb3IoIk5vZGUuanMgdjEwIG9yIGhpZ2hlciBpcyByZXF1aXJlZCBmb3IgcmVnZXggbG9va2JlaGluZHMiKTsoQS52YWx1ZT09PSIoIiYmIS9bIT08Ol0vLnRlc3QoSCl8fEg9PT0iPCImJiEvPChbIT1dfFx3Kz4pLy50ZXN0KEllKCkpKSYmKGNlPWBcXCR7Q31gKSxXKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpDLG91dHB1dDpjZX0pO2NvbnRpbnVlfWlmKHQuZG90IT09ITAmJihBLnR5cGU9PT0ic2xhc2gifHxBLnR5cGU9PT0iYm9zIikpe1coe3R5cGU6InFtYXJrIix2YWx1ZTpDLG91dHB1dDpFfSk7Y29udGludWV9Vyh7dHlwZToicW1hcmsiLHZhbHVlOkMsb3V0cHV0OlN9KTtjb250aW51ZX1pZihDPT09IiEiKXtpZih0Lm5vZXh0Z2xvYiE9PSEwJiZWKCk9PT0iKCImJihWKDIpIT09Ij8ifHwhL1shPTw6XS8udGVzdChWKDMpKSkpe1VpKCJuZWdhdGUiLEMpO2NvbnRpbnVlfWlmKHQubm9uZWdhdGUhPT0hMCYmXy5pbmRleD09PTApe0l2KCk7Y29udGludWV9fWlmKEM9PT0iKyIpe2lmKHQubm9leHRnbG9iIT09ITAmJlYoKT09PSIoIiYmVigyKSE9PSI/Iil7VWkoInBsdXMiLEMpO2NvbnRpbnVlfWlmKEEmJkEudmFsdWU9PT0iKCJ8fHQucmVnZXg9PT0hMSl7Vyh7dHlwZToicGx1cyIsdmFsdWU6QyxvdXRwdXQ6cH0pO2NvbnRpbnVlfWlmKEEmJihBLnR5cGU9PT0iYnJhY2tldCJ8fEEudHlwZT09PSJwYXJlbiJ8fEEudHlwZT09PSJicmFjZSIpfHxfLnBhcmVucz4wKXtXKHt0eXBlOiJwbHVzIix2YWx1ZTpDfSk7Y29udGludWV9Vyh7dHlwZToicGx1cyIsdmFsdWU6cH0pO2NvbnRpbnVlfWlmKEM9PT0iQCIpe2lmKHQubm9leHRnbG9iIT09ITAmJlYoKT09PSIoIiYmVigyKSE9PSI/Iil7Vyh7dHlwZToiYXQiLGV4dGdsb2I6ITAsdmFsdWU6QyxvdXRwdXQ6IiJ9KTtjb250aW51ZX1XKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpDfSk7Y29udGludWV9aWYoQyE9PSIqIil7KEM9PT0iJCJ8fEM9PT0iXiIpJiYoQz1gXFwke0N9YCk7bGV0IEk9aTIuZXhlYyhJZSgpKTtJJiYoQys9SVswXSxfLmluZGV4Kz1JWzBdLmxlbmd0aCksVyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEEmJihBLnR5cGU9PT0iZ2xvYnN0YXIifHxBLnN0YXI9PT0hMCkpe0EudHlwZT0ic3RhciIsQS5zdGFyPSEwLEEudmFsdWUrPUMsQS5vdXRwdXQ9WSxfLmJhY2t0cmFjaz0hMCxfLmdsb2JzdGFyPSEwLERlKEMpO2NvbnRpbnVlfWxldCAkPUllKCk7aWYodC5ub2V4dGdsb2IhPT0hMCYmL15cKFteP10vLnRlc3QoJCkpe1VpKCJzdGFyIixDKTtjb250aW51ZX1pZihBLnR5cGU9PT0ic3RhciIpe2lmKHQubm9nbG9ic3Rhcj09PSEwKXtEZShDKTtjb250aW51ZX1sZXQgST1BLnByZXYsSD1JLnByZXYsY2U9SS50eXBlPT09InNsYXNoInx8SS50eXBlPT09ImJvcyIsQ2U9SCYmKEgudHlwZT09PSJzdGFyInx8SC50eXBlPT09Imdsb2JzdGFyIik7aWYodC5iYXNoPT09ITAmJighY2V8fCRbMF0mJiRbMF0hPT0iLyIpKXtXKHt0eXBlOiJzdGFyIix2YWx1ZTpDLG91dHB1dDoiIn0pO2NvbnRpbnVlfWxldCB5ZT1fLmJyYWNlcz4wJiYoSS50eXBlPT09ImNvbW1hInx8SS50eXBlPT09ImJyYWNlIiksQnM9US5sZW5ndGgmJihJLnR5cGU9PT0icGlwZSJ8fEkudHlwZT09PSJwYXJlbiIpO2lmKCFjZSYmSS50eXBlIT09InBhcmVuIiYmIXllJiYhQnMpe1coe3R5cGU6InN0YXIiLHZhbHVlOkMsb3V0cHV0OiIifSk7Y29udGludWV9Zm9yKDskLnNsaWNlKDAsMyk9PT0iLyoqIjspe2xldCBWaT1yW18uaW5kZXgrNF07aWYoVmkmJlZpIT09Ii8iKWJyZWFrOyQ9JC5zbGljZSgzKSxEZSgiLyoqIiwzKX1pZihJLnR5cGU9PT0iYm9zIiYmaGUoKSl7QS50eXBlPSJnbG9ic3RhciIsQS52YWx1ZSs9QyxBLm91dHB1dD1OKHQpLF8ub3V0cHV0PUEub3V0cHV0LF8uZ2xvYnN0YXI9ITAsRGUoQyk7Y29udGludWV9aWYoSS50eXBlPT09InNsYXNoIiYmSS5wcmV2LnR5cGUhPT0iYm9zIiYmIUNlJiZoZSgpKXtfLm91dHB1dD1fLm91dHB1dC5zbGljZSgwLC0oSS5vdXRwdXQrQS5vdXRwdXQpLmxlbmd0aCksSS5vdXRwdXQ9YCg/OiR7SS5vdXRwdXR9YCxBLnR5cGU9Imdsb2JzdGFyIixBLm91dHB1dD1OKHQpKyh0LnN0cmljdFNsYXNoZXM/IikiOiJ8JCkiKSxBLnZhbHVlKz1DLF8uZ2xvYnN0YXI9ITAsXy5vdXRwdXQrPUkub3V0cHV0K0Eub3V0cHV0LERlKEMpO2NvbnRpbnVlfWlmKEkudHlwZT09PSJzbGFzaCImJkkucHJldi50eXBlIT09ImJvcyImJiRbMF09PT0iLyIpe2xldCBWaT0kWzFdIT09dm9pZCAwPyJ8JCI6IiI7Xy5vdXRwdXQ9Xy5vdXRwdXQuc2xpY2UoMCwtKEkub3V0cHV0K0Eub3V0cHV0KS5sZW5ndGgpLEkub3V0cHV0PWAoPzoke0kub3V0cHV0fWAsQS50eXBlPSJnbG9ic3RhciIsQS5vdXRwdXQ9YCR7Tih0KX0ke2h9fCR7aH0ke1ZpfSlgLEEudmFsdWUrPUMsXy5vdXRwdXQrPUkub3V0cHV0K0Eub3V0cHV0LF8uZ2xvYnN0YXI9ITAsRGUoQytFZSgpKSxXKHt0eXBlOiJzbGFzaCIsdmFsdWU6Ii8iLG91dHB1dDoiIn0pO2NvbnRpbnVlfWlmKEkudHlwZT09PSJib3MiJiYkWzBdPT09Ii8iKXtBLnR5cGU9Imdsb2JzdGFyIixBLnZhbHVlKz1DLEEub3V0cHV0PWAoPzpefCR7aH18JHtOKHQpfSR7aH0pYCxfLm91dHB1dD1BLm91dHB1dCxfLmdsb2JzdGFyPSEwLERlKEMrRWUoKSksVyh7dHlwZToic2xhc2giLHZhbHVlOiIvIixvdXRwdXQ6IiJ9KTtjb250aW51ZX1fLm91dHB1dD1fLm91dHB1dC5zbGljZSgwLC1BLm91dHB1dC5sZW5ndGgpLEEudHlwZT0iZ2xvYnN0YXIiLEEub3V0cHV0PU4odCksQS52YWx1ZSs9QyxfLm91dHB1dCs9QS5vdXRwdXQsXy5nbG9ic3Rhcj0hMCxEZShDKTtjb250aW51ZX1sZXQgYWU9e3R5cGU6InN0YXIiLHZhbHVlOkMsb3V0cHV0Oll9O2lmKHQuYmFzaD09PSEwKXthZS5vdXRwdXQ9Ii4qPyIsKEEudHlwZT09PSJib3MifHxBLnR5cGU9PT0ic2xhc2giKSYmKGFlLm91dHB1dD1SK2FlLm91dHB1dCksVyhhZSk7Y29udGludWV9aWYoQSYmKEEudHlwZT09PSJicmFja2V0Inx8QS50eXBlPT09InBhcmVuIikmJnQucmVnZXg9PT0hMCl7YWUub3V0cHV0PUMsVyhhZSk7Y29udGludWV9KF8uaW5kZXg9PT1fLnN0YXJ0fHxBLnR5cGU9PT0ic2xhc2gifHxBLnR5cGU9PT0iZG90IikmJihBLnR5cGU9PT0iZG90Ij8oXy5vdXRwdXQrPXcsQS5vdXRwdXQrPXcpOnQuZG90PT09ITA/KF8ub3V0cHV0Kz1rLEEub3V0cHV0Kz1rKTooXy5vdXRwdXQrPVIsQS5vdXRwdXQrPVIpLFYoKSE9PSIqIiYmKF8ub3V0cHV0Kz1iLEEub3V0cHV0Kz1iKSksVyhhZSl9Zm9yKDtfLmJyYWNrZXRzPjA7KXtpZih0LnN0cmljdEJyYWNrZXRzPT09ITApdGhyb3cgbmV3IFN5bnRheEVycm9yKGdyKCJjbG9zaW5nIiwiXSIpKTtfLm91dHB1dD1NZS5lc2NhcGVMYXN0KF8ub3V0cHV0LCJbIiksRnQoImJyYWNrZXRzIil9Zm9yKDtfLnBhcmVucz4wOyl7aWYodC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigiY2xvc2luZyIsIikiKSk7Xy5vdXRwdXQ9TWUuZXNjYXBlTGFzdChfLm91dHB1dCwiKCIpLEZ0KCJwYXJlbnMiKX1mb3IoO18uYnJhY2VzPjA7KXtpZih0LnN0cmljdEJyYWNrZXRzPT09ITApdGhyb3cgbmV3IFN5bnRheEVycm9yKGdyKCJjbG9zaW5nIiwifSIpKTtfLm91dHB1dD1NZS5lc2NhcGVMYXN0KF8ub3V0cHV0LCJ7IiksRnQoImJyYWNlcyIpfWlmKHQuc3RyaWN0U2xhc2hlcyE9PSEwJiYoQS50eXBlPT09InN0YXIifHxBLnR5cGU9PT0iYnJhY2tldCIpJiZXKHt0eXBlOiJtYXliZV9zbGFzaCIsdmFsdWU6IiIsb3V0cHV0OmAke2h9P2B9KSxfLmJhY2t0cmFjaz09PSEwKXtfLm91dHB1dD0iIjtmb3IobGV0ICQgb2YgXy50b2tlbnMpXy5vdXRwdXQrPSQub3V0cHV0IT1udWxsPyQub3V0cHV0OiQudmFsdWUsJC5zdWZmaXgmJihfLm91dHB1dCs9JC5zdWZmaXgpfXJldHVybiBffTt4bC5mYXN0cGF0aHM9KHIsZSk9PntsZXQgdD17Li4uZX0saT10eXBlb2YgdC5tYXhMZW5ndGg9PSJudW1iZXIiP01hdGgubWluKHdzLHQubWF4TGVuZ3RoKTp3cyxuPXIubGVuZ3RoO2lmKG4+aSl0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtufSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke2l9YCk7cj10Z1tyXXx8cjtsZXQgcz1NZS5pc1dpbmRvd3MoZSkse0RPVF9MSVRFUkFMOmEsU0xBU0hfTElURVJBTDpvLE9ORV9DSEFSOmwsRE9UU19TTEFTSDpjLE5PX0RPVDpmLE5PX0RPVFM6ZCxOT19ET1RTX1NMQVNIOnAsU1RBUjpoLFNUQVJUX0FOQ0hPUjpifT1icy5nbG9iQ2hhcnMocyksdj10LmRvdD9kOmYseT10LmRvdD9wOmYsdz10LmNhcHR1cmU/IiI6Ij86IixrPXtuZWdhdGVkOiExLHByZWZpeDoiIn0sUz10LmJhc2g9PT0hMD8iLio/IjpoO3QuY2FwdHVyZSYmKFM9YCgke1N9KWApO2xldCBFPVI9PlIubm9nbG9ic3Rhcj09PSEwP1M6YCgke3d9KD86KD8hJHtifSR7Ui5kb3Q/YzphfSkuKSo/KWAsVD1SPT57c3dpdGNoKFIpe2Nhc2UiKiI6cmV0dXJuYCR7dn0ke2x9JHtTfWA7Y2FzZSIuKiI6cmV0dXJuYCR7YX0ke2x9JHtTfWA7Y2FzZSIqLioiOnJldHVybmAke3Z9JHtTfSR7YX0ke2x9JHtTfWA7Y2FzZSIqLyoiOnJldHVybmAke3Z9JHtTfSR7b30ke2x9JHt5fSR7U31gO2Nhc2UiKioiOnJldHVybiB2K0UodCk7Y2FzZSIqKi8qIjpyZXR1cm5gKD86JHt2fSR7RSh0KX0ke299KT8ke3l9JHtsfSR7U31gO2Nhc2UiKiovKi4qIjpyZXR1cm5gKD86JHt2fSR7RSh0KX0ke299KT8ke3l9JHtTfSR7YX0ke2x9JHtTfWA7Y2FzZSIqKi8uKiI6cmV0dXJuYCg/OiR7dn0ke0UodCl9JHtvfSk/JHthfSR7bH0ke1N9YDtkZWZhdWx0OntsZXQgRj0vXiguKj8pXC4oXHcrKSQvLmV4ZWMoUik7aWYoIUYpcmV0dXJuO2xldCBZPVQoRlsxXSk7cmV0dXJuIFk/WSthK0ZbMl06dm9pZCAwfX19LEI9TWUucmVtb3ZlUHJlZml4KHIsayksTj1UKEIpO3JldHVybiBOJiZ0LnN0cmljdFNsYXNoZXMhPT0hMCYmKE4rPWAke299P2ApLE59O3JnLmV4cG9ydHM9eGx9KTt2YXIgc2c9eCgoYzYsbmcpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgYTI9KGV0KCksVXIpLG8yPWVnKCksa2w9aWcoKSxTbD1xaSgpLGwyPURpKCksdTI9cj0+ciYmdHlwZW9mIHI9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShyKSxkZT0ocixlLHQ9ITEpPT57aWYoQXJyYXkuaXNBcnJheShyKSl7bGV0IGY9ci5tYXAocD0+ZGUocCxlLHQpKTtyZXR1cm4gcD0+e2ZvcihsZXQgaCBvZiBmKXtsZXQgYj1oKHApO2lmKGIpcmV0dXJuIGJ9cmV0dXJuITF9fWxldCBpPXUyKHIpJiZyLnRva2VucyYmci5pbnB1dDtpZihyPT09IiJ8fHR5cGVvZiByIT0ic3RyaW5nIiYmIWkpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgcGF0dGVybiB0byBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKTtsZXQgbj1lfHx7fSxzPVNsLmlzV2luZG93cyhlKSxhPWk/ZGUuY29tcGlsZVJlKHIsZSk6ZGUubWFrZVJlKHIsZSwhMSwhMCksbz1hLnN0YXRlO2RlbGV0ZSBhLnN0YXRlO2xldCBsPSgpPT4hMTtpZihuLmlnbm9yZSl7bGV0IGY9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2w9ZGUobi5pZ25vcmUsZix0KX1sZXQgYz0oZixkPSExKT0+e2xldHtpc01hdGNoOnAsbWF0Y2g6aCxvdXRwdXQ6Yn09ZGUudGVzdChmLGEsZSx7Z2xvYjpyLHBvc2l4OnN9KSx2PXtnbG9iOnIsc3RhdGU6byxyZWdleDphLHBvc2l4OnMsaW5wdXQ6ZixvdXRwdXQ6YixtYXRjaDpoLGlzTWF0Y2g6cH07cmV0dXJuIHR5cGVvZiBuLm9uUmVzdWx0PT0iZnVuY3Rpb24iJiZuLm9uUmVzdWx0KHYpLHA9PT0hMT8odi5pc01hdGNoPSExLGQ/djohMSk6bChmKT8odHlwZW9mIG4ub25JZ25vcmU9PSJmdW5jdGlvbiImJm4ub25JZ25vcmUodiksdi5pc01hdGNoPSExLGQ/djohMSk6KHR5cGVvZiBuLm9uTWF0Y2g9PSJmdW5jdGlvbiImJm4ub25NYXRjaCh2KSxkP3Y6ITApfTtyZXR1cm4gdCYmKGMuc3RhdGU9byksY307ZGUudGVzdD0ocixlLHQse2dsb2I6aSxwb3NpeDpufT17fSk9PntpZih0eXBlb2YgciE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgaW5wdXQgdG8gYmUgYSBzdHJpbmciKTtpZihyPT09IiIpcmV0dXJue2lzTWF0Y2g6ITEsb3V0cHV0OiIifTtsZXQgcz10fHx7fSxhPXMuZm9ybWF0fHwobj9TbC50b1Bvc2l4U2xhc2hlczpudWxsKSxvPXI9PT1pLGw9byYmYT9hKHIpOnI7cmV0dXJuIG89PT0hMSYmKGw9YT9hKHIpOnIsbz1sPT09aSksKG89PT0hMXx8cy5jYXB0dXJlPT09ITApJiYocy5tYXRjaEJhc2U9PT0hMHx8cy5iYXNlbmFtZT09PSEwP289ZGUubWF0Y2hCYXNlKHIsZSx0LG4pOm89ZS5leGVjKGwpKSx7aXNNYXRjaDpCb29sZWFuKG8pLG1hdGNoOm8sb3V0cHV0Omx9fTtkZS5tYXRjaEJhc2U9KHIsZSx0LGk9U2wuaXNXaW5kb3dzKHQpKT0+KGUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpkZS5tYWtlUmUoZSx0KSkudGVzdChhMi5iYXNlbmFtZShyKSk7ZGUuaXNNYXRjaD0ocixlLHQpPT5kZShlLHQpKHIpO2RlLnBhcnNlPShyLGUpPT5BcnJheS5pc0FycmF5KHIpP3IubWFwKHQ9PmRlLnBhcnNlKHQsZSkpOmtsKHIsey4uLmUsZmFzdHBhdGhzOiExfSk7ZGUuc2Nhbj0ocixlKT0+bzIocixlKTtkZS5jb21waWxlUmU9KHIsZSx0PSExLGk9ITEpPT57aWYodD09PSEwKXJldHVybiByLm91dHB1dDtsZXQgbj1lfHx7fSxzPW4uY29udGFpbnM/IiI6Il4iLGE9bi5jb250YWlucz8iIjoiJCIsbz1gJHtzfSg/OiR7ci5vdXRwdXR9KSR7YX1gO3ImJnIubmVnYXRlZD09PSEwJiYobz1gXig/ISR7b30pLiokYCk7bGV0IGw9ZGUudG9SZWdleChvLGUpO3JldHVybiBpPT09ITAmJihsLnN0YXRlPXIpLGx9O2RlLm1ha2VSZT0ocixlPXt9LHQ9ITEsaT0hMSk9PntpZighcnx8dHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZyIpO2xldCBuPXtuZWdhdGVkOiExLGZhc3RwYXRoczohMH07cmV0dXJuIGUuZmFzdHBhdGhzIT09ITEmJihyWzBdPT09Ii4ifHxyWzBdPT09IioiKSYmKG4ub3V0cHV0PWtsLmZhc3RwYXRocyhyLGUpKSxuLm91dHB1dHx8KG49a2wocixlKSksZGUuY29tcGlsZVJlKG4sZSx0LGkpfTtkZS50b1JlZ2V4PShyLGUpPT57dHJ5e2xldCB0PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHIsdC5mbGFnc3x8KHQubm9jYXNlPyJpIjoiIikpfWNhdGNoKHQpe2lmKGUmJmUuZGVidWc9PT0hMCl0aHJvdyB0O3JldHVybi8kXi99fTtkZS5jb25zdGFudHM9bDI7bmcuZXhwb3J0cz1kZX0pO3ZhciBvZz14KChwNixhZyk9Pnt1KCk7InVzZSBzdHJpY3QiO2FnLmV4cG9ydHM9c2coKX0pO3ZhciBkZz14KChkNixwZyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBsZz0oRm4oKSxCbiksdWc9am0oKSxvdD1vZygpLEFsPXFpKCksZmc9cj0+cj09PSIifHxyPT09Ii4vIixjZz1yPT57bGV0IGU9ci5pbmRleE9mKCJ7Iik7cmV0dXJuIGU+LTEmJnIuaW5kZXhPZigifSIsZSk+LTF9LG9lPShyLGUsdCk9PntlPVtdLmNvbmNhdChlKSxyPVtdLmNvbmNhdChyKTtsZXQgaT1uZXcgU2V0LG49bmV3IFNldCxzPW5ldyBTZXQsYT0wLG89Zj0+e3MuYWRkKGYub3V0cHV0KSx0JiZ0Lm9uUmVzdWx0JiZ0Lm9uUmVzdWx0KGYpfTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyl7bGV0IGQ9b3QoU3RyaW5nKGVbZl0pLHsuLi50LG9uUmVzdWx0Om99LCEwKSxwPWQuc3RhdGUubmVnYXRlZHx8ZC5zdGF0ZS5uZWdhdGVkRXh0Z2xvYjtwJiZhKys7Zm9yKGxldCBoIG9mIHIpe2xldCBiPWQoaCwhMCk7IShwPyFiLmlzTWF0Y2g6Yi5pc01hdGNoKXx8KHA/aS5hZGQoYi5vdXRwdXQpOihpLmRlbGV0ZShiLm91dHB1dCksbi5hZGQoYi5vdXRwdXQpKSl9fWxldCBjPShhPT09ZS5sZW5ndGg/Wy4uLnNdOlsuLi5uXSkuZmlsdGVyKGY9PiFpLmhhcyhmKSk7aWYodCYmYy5sZW5ndGg9PT0wKXtpZih0LmZhaWxnbG9iPT09ITApdGhyb3cgbmV3IEVycm9yKGBObyBtYXRjaGVzIGZvdW5kIGZvciAiJHtlLmpvaW4oIiwgIil9ImApO2lmKHQubm9udWxsPT09ITB8fHQubnVsbGdsb2I9PT0hMClyZXR1cm4gdC51bmVzY2FwZT9lLm1hcChmPT5mLnJlcGxhY2UoL1xcL2csIiIpKTplfXJldHVybiBjfTtvZS5tYXRjaD1vZTtvZS5tYXRjaGVyPShyLGUpPT5vdChyLGUpO29lLmlzTWF0Y2g9KHIsZSx0KT0+b3QoZSx0KShyKTtvZS5hbnk9b2UuaXNNYXRjaDtvZS5ub3Q9KHIsZSx0PXt9KT0+e2U9W10uY29uY2F0KGUpLm1hcChTdHJpbmcpO2xldCBpPW5ldyBTZXQsbj1bXSxzPW89Pnt0Lm9uUmVzdWx0JiZ0Lm9uUmVzdWx0KG8pLG4ucHVzaChvLm91dHB1dCl9LGE9bmV3IFNldChvZShyLGUsey4uLnQsb25SZXN1bHQ6c30pKTtmb3IobGV0IG8gb2YgbilhLmhhcyhvKXx8aS5hZGQobyk7cmV0dXJuWy4uLmldfTtvZS5jb250YWlucz0ocixlLHQpPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIGEgc3RyaW5nOiAiJHtsZy5pbnNwZWN0KHIpfSJgKTtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLnNvbWUoaT0+b2UuY29udGFpbnMocixpLHQpKTtpZih0eXBlb2YgZT09InN0cmluZyIpe2lmKGZnKHIpfHxmZyhlKSlyZXR1cm4hMTtpZihyLmluY2x1ZGVzKGUpfHxyLnN0YXJ0c1dpdGgoIi4vIikmJnIuc2xpY2UoMikuaW5jbHVkZXMoZSkpcmV0dXJuITB9cmV0dXJuIG9lLmlzTWF0Y2gocixlLHsuLi50LGNvbnRhaW5zOiEwfSl9O29lLm1hdGNoS2V5cz0ocixlLHQpPT57aWYoIUFsLmlzT2JqZWN0KHIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHRoZSBmaXJzdCBhcmd1bWVudCB0byBiZSBhbiBvYmplY3QiKTtsZXQgaT1vZShPYmplY3Qua2V5cyhyKSxlLHQpLG49e307Zm9yKGxldCBzIG9mIGkpbltzXT1yW3NdO3JldHVybiBufTtvZS5zb21lPShyLGUsdCk9PntsZXQgaT1bXS5jb25jYXQocik7Zm9yKGxldCBuIG9mW10uY29uY2F0KGUpKXtsZXQgcz1vdChTdHJpbmcobiksdCk7aWYoaS5zb21lKGE9PnMoYSkpKXJldHVybiEwfXJldHVybiExfTtvZS5ldmVyeT0ocixlLHQpPT57bGV0IGk9W10uY29uY2F0KHIpO2ZvcihsZXQgbiBvZltdLmNvbmNhdChlKSl7bGV0IHM9b3QoU3RyaW5nKG4pLHQpO2lmKCFpLmV2ZXJ5KGE9PnMoYSkpKXJldHVybiExfXJldHVybiEwfTtvZS5hbGw9KHIsZSx0KT0+e2lmKHR5cGVvZiByIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIHN0cmluZzogIiR7bGcuaW5zcGVjdChyKX0iYCk7cmV0dXJuW10uY29uY2F0KGUpLmV2ZXJ5KGk9Pm90KGksdCkocikpfTtvZS5jYXB0dXJlPShyLGUsdCk9PntsZXQgaT1BbC5pc1dpbmRvd3ModCkscz1vdC5tYWtlUmUoU3RyaW5nKHIpLHsuLi50LGNhcHR1cmU6ITB9KS5leGVjKGk/QWwudG9Qb3NpeFNsYXNoZXMoZSk6ZSk7aWYocylyZXR1cm4gcy5zbGljZSgxKS5tYXAoYT0+YT09PXZvaWQgMD8iIjphKX07b2UubWFrZVJlPSguLi5yKT0+b3QubWFrZVJlKC4uLnIpO29lLnNjYW49KC4uLnIpPT5vdC5zY2FuKC4uLnIpO29lLnBhcnNlPShyLGUpPT57bGV0IHQ9W107Zm9yKGxldCBpIG9mW10uY29uY2F0KHJ8fFtdKSlmb3IobGV0IG4gb2YgdWcoU3RyaW5nKGkpLGUpKXQucHVzaChvdC5wYXJzZShuLGUpKTtyZXR1cm4gdH07b2UuYnJhY2VzPShyLGUpPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIGUmJmUubm9icmFjZT09PSEwfHwhY2cocik/W3JdOnVnKHIsZSl9O29lLmJyYWNlRXhwYW5kPShyLGUpPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIG9lLmJyYWNlcyhyLHsuLi5lLGV4cGFuZDohMH0pfTtvZS5oYXNCcmFjZXM9Y2c7cGcuZXhwb3J0cz1vZX0pO2Z1bmN0aW9uIG1nKHIsZSl7bGV0IHQ9ZS5jb250ZW50LmZpbGVzO3Q9dC5maWx0ZXIobz0+dHlwZW9mIG89PSJzdHJpbmciKSx0PXQubWFwKGxsKTtsZXQgaT1wcy5nZW5lcmF0ZVRhc2tzKHQpLG49W10scz1bXTtmb3IobGV0IG8gb2YgaSluLnB1c2goLi4uby5wb3NpdGl2ZS5tYXAobD0+Z2cobCwhMSkpKSxzLnB1c2goLi4uby5uZWdhdGl2ZS5tYXAobD0+Z2cobCwhMCkpKTtsZXQgYT1bLi4ubiwuLi5zXTtyZXR1cm4gYT1jMihyLGEpLGE9YS5mbGF0TWFwKHAyKSxhPWEubWFwKGYyKSxhfWZ1bmN0aW9uIGdnKHIsZSl7bGV0IHQ9e29yaWdpbmFsOnIsYmFzZTpyLGlnbm9yZTplLHBhdHRlcm46cixnbG9iOm51bGx9O3JldHVybiBaaChyKSYmT2JqZWN0LmFzc2lnbih0LG5tKHIpKSx0fWZ1bmN0aW9uIGYyKHIpe2xldCBlPWxsKHIuYmFzZSk7cmV0dXJuIGU9cHMuZXNjYXBlUGF0aChlKSxyLnBhdHRlcm49ci5nbG9iP2Ake2V9LyR7ci5nbG9ifWA6ZSxyLnBhdHRlcm49ci5pZ25vcmU/YCEke3IucGF0dGVybn1gOnIucGF0dGVybixyfWZ1bmN0aW9uIGMyKHIsZSl7bGV0IHQ9W107cmV0dXJuIHIudXNlckNvbmZpZ1BhdGgmJnIudGFpbHdpbmRDb25maWcuY29udGVudC5yZWxhdGl2ZSYmKHQ9W21lLmRpcm5hbWUoci51c2VyQ29uZmlnUGF0aCldKSxlLm1hcChpPT4oaS5iYXNlPW1lLnJlc29sdmUoLi4udCxpLmJhc2UpLGkpKX1mdW5jdGlvbiBwMihyKXtsZXQgZT1bcl07dHJ5e2xldCB0PWJlLnJlYWxwYXRoU3luYyhyLmJhc2UpO3QhPT1yLmJhc2UmJmUucHVzaCh7Li4ucixiYXNlOnR9KX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24geWcocixlLHQpe2xldCBpPXIudGFpbHdpbmRDb25maWcuY29udGVudC5maWxlcy5maWx0ZXIoYT0+dHlwZW9mIGEucmF3PT0ic3RyaW5nIikubWFwKCh7cmF3OmEsZXh0ZW5zaW9uOm89Imh0bWwifSk9Pih7Y29udGVudDphLGV4dGVuc2lvbjpvfSkpLFtuLHNdPWgyKGUsdCk7Zm9yKGxldCBhIG9mIG4pe2xldCBvPW1lLmV4dG5hbWUoYSkuc2xpY2UoMSk7aS5wdXNoKHtmaWxlOmEsZXh0ZW5zaW9uOm99KX1yZXR1cm5baSxzXX1mdW5jdGlvbiBkMihyKXtpZighci5zb21lKHM9PnMuaW5jbHVkZXMoIioqIikmJiF3Zy50ZXN0KHMpKSlyZXR1cm4oKT0+e307bGV0IHQ9W10saT1bXTtmb3IobGV0IHMgb2Ygcil7bGV0IGE9aGcuZGVmYXVsdC5tYXRjaGVyKHMpO3dnLnRlc3QocykmJmkucHVzaChhKSx0LnB1c2goYSl9bGV0IG49ITE7cmV0dXJuIHM9PntpZihufHxpLnNvbWUoZj0+ZihzKSkpcmV0dXJuO2xldCBhPXQuZmluZEluZGV4KGY9PmYocykpO2lmKGE9PT0tMSlyZXR1cm47bGV0IG89clthXSxsPW1lLnJlbGF0aXZlKG0uY3dkKCksbyk7bFswXSE9PSIuIiYmKGw9YC4vJHtsfWApO2xldCBjPWJnLmZpbmQoZj0+cy5pbmNsdWRlcyhmKSk7YyYmKG49ITAsRy53YXJuKCJicm9hZC1jb250ZW50LWdsb2ItcGF0dGVybiIsW2BZb3VyIFxgY29udGVudFxgIGNvbmZpZ3VyYXRpb24gaW5jbHVkZXMgYSBwYXR0ZXJuIHdoaWNoIGxvb2tzIGxpa2UgaXQncyBhY2NpZGVudGFsbHkgbWF0Y2hpbmcgYWxsIG9mIFxgJHtjfVxgIGFuZCBjYW4gY2F1c2Ugc2VyaW91cyBwZXJmb3JtYW5jZSBpc3N1ZXMuYCxgUGF0dGVybjogXGAke2x9XGBgLCJTZWUgb3VyIGRvY3VtZW50YXRpb24gZm9yIHJlY29tbWVuZGF0aW9uczoiLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NvbnRlbnQtY29uZmlndXJhdGlvbiNwYXR0ZXJuLXJlY29tbWVuZGF0aW9ucyJdKSl9fWZ1bmN0aW9uIGgyKHIsZSl7bGV0IHQ9ci5tYXAobz0+by5wYXR0ZXJuKSxpPW5ldyBNYXAsbj1kMih0KSxzPW5ldyBTZXQ7WmUuREVCVUcmJmNvbnNvbGUudGltZSgiRmluZGluZyBjaGFuZ2VkIGZpbGVzIik7bGV0IGE9cHMuc3luYyh0LHthYnNvbHV0ZTohMH0pO2ZvcihsZXQgbyBvZiBhKXtuKG8pO2xldCBsPWUuZ2V0KG8pfHwtMS8wLGM9YmUuc3RhdFN5bmMobykubXRpbWVNcztjPmwmJihzLmFkZChvKSxpLnNldChvLGMpKX1yZXR1cm4gWmUuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiRmluZGluZyBjaGFuZ2VkIGZpbGVzIiksW3MsaV19dmFyIGhnLGJnLHdnLHZnPVAoKCk9Pnt1KCk7ZnQoKTtldCgpO0poKCk7ZW0oKTt0bSgpO3NtKCk7SXQoKTtCZSgpO2hnPXBlKGRnKCkpO2JnPVsibm9kZV9tb2R1bGVzIl0sd2c9bmV3IFJlZ0V4cChgKCR7YmcubWFwKHI9PlN0cmluZy5yYXdgXGIke3J9XGJgKS5qb2luKCJ8Iil9KWApfSk7ZnVuY3Rpb24geGcoKXt9dmFyIGtnPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBiMihyLGUpe2ZvcihsZXQgdCBvZiBlKXtsZXQgaT1gJHtyfSR7dH1gO2lmKGJlLmV4aXN0c1N5bmMoaSkmJmJlLnN0YXRTeW5jKGkpLmlzRmlsZSgpKXJldHVybiBpfWZvcihsZXQgdCBvZiBlKXtsZXQgaT1gJHtyfS9pbmRleCR7dH1gO2lmKGJlLmV4aXN0c1N5bmMoaSkpcmV0dXJuIGl9cmV0dXJuIG51bGx9ZnVuY3Rpb24qU2cocixlLHQsaT1tZS5leHRuYW1lKHIpKXtsZXQgbj1iMihtZS5yZXNvbHZlKGUsciksbTIuaW5jbHVkZXMoaSk/ZzI6eTIpO2lmKG49PT1udWxsfHx0LmhhcyhuKSlyZXR1cm47dC5hZGQobikseWllbGQgbixlPW1lLmRpcm5hbWUobiksaT1tZS5leHRuYW1lKG4pO2xldCBzPWJlLnJlYWRGaWxlU3luYyhuLCJ1dGYtOCIpO2ZvcihsZXQgYSBvZlsuLi5zLm1hdGNoQWxsKC9pbXBvcnRbXHNcU10qP1snIl0oLnszLH0/KVsnIl0vZ2kpLC4uLnMubWF0Y2hBbGwoL2ltcG9ydFtcc1xTXSpmcm9tW1xzXFNdKj9bJyJdKC57Myx9PylbJyJdL2dpKSwuLi5zLm1hdGNoQWxsKC9yZXF1aXJlXChbJyJgXSguKylbJyJgXVwpL2dpKV0pIWFbMV0uc3RhcnRzV2l0aCgiLiIpfHwoeWllbGQqU2coYVsxXSxlLHQsaSkpfWZ1bmN0aW9uIENsKHIpe3JldHVybiByPT09bnVsbD9uZXcgU2V0Om5ldyBTZXQoU2cocixtZS5kaXJuYW1lKHIpLG5ldyBTZXQpKX12YXIgbTIsZzIseTIsQWc9UCgoKT0+e3UoKTtmdCgpO2V0KCk7bTI9WyIuanMiLCIuY2pzIiwiLm1qcyJdLGcyPVsiIiwiLmpzIiwiLmNqcyIsIi5tanMiLCIudHMiLCIuY3RzIiwiLm10cyIsIi5qc3giLCIudHN4Il0seTI9WyIiLCIudHMiLCIuY3RzIiwiLm10cyIsIi50c3giLCIuanMiLCIuY2pzIiwiLm1qcyIsIi5qc3giXX0pO2Z1bmN0aW9uIHcyKHIsZSl7aWYoX2wuaGFzKHIpKXJldHVybiBfbC5nZXQocik7bGV0IHQ9bWcocixlKTtyZXR1cm4gX2wuc2V0KHIsdCkuZ2V0KHIpfWZ1bmN0aW9uIHYyKHIpe2xldCBlPWFhKHIpO2lmKGUhPT1udWxsKXtsZXRbaSxuLHMsYV09X2cuZ2V0KGUpfHxbXSxvPUNsKGUpLGw9ITEsYz1uZXcgTWFwO2ZvcihsZXQgcCBvZiBvKXtsZXQgaD1iZS5zdGF0U3luYyhwKS5tdGltZU1zO2Muc2V0KHAsaCksKCFhfHwhYS5oYXMocCl8fGg+YS5nZXQocCkpJiYobD0hMCl9aWYoIWwpcmV0dXJuW2ksZSxuLHNdO2ZvcihsZXQgcCBvZiBvKWRlbGV0ZSBoZi5jYWNoZVtwXTtsZXQgZj1vbCh6cih4ZyhlKSkpLGQ9V2koZik7cmV0dXJuIF9nLnNldChlLFtmLGQsbyxjXSksW2YsZSxkLG9dfWxldCB0PXpyKHI/LmNvbmZpZz8/cj8/e30pO3JldHVybiB0PW9sKHQpLFt0LG51bGwsV2kodCksW11dfWZ1bmN0aW9uIEVsKHIpe3JldHVybih7dGFpbHdpbmREaXJlY3RpdmVzOmUscmVnaXN0ZXJEZXBlbmRlbmN5OnR9KT0+KGksbik9PntsZXRbcyxhLG8sbF09djIociksYz1uZXcgU2V0KGwpO2lmKGUuc2l6ZT4wKXtjLmFkZChuLm9wdHMuZnJvbSk7Zm9yKGxldCBiIG9mIG4ubWVzc2FnZXMpYi50eXBlPT09ImRlcGVuZGVuY3kiJiZjLmFkZChiLmZpbGUpfWxldFtmLCxkXT1WaChpLG4scyxhLG8sYykscD1jcyhmKSxoPXcyKGYscyk7aWYoZS5zaXplPjApe2ZvcihsZXQgeSBvZiBoKWZvcihsZXQgdyBvZiBubCh5KSl0KHcpO2xldFtiLHZdPXlnKGYsaCxwKTtmb3IobGV0IHkgb2YgYilmLmNoYW5nZWRDb250ZW50LnB1c2goeSk7Zm9yKGxldFt5LHddb2Ygdi5lbnRyaWVzKCkpZC5zZXQoeSx3KX1mb3IobGV0IGIgb2YgbCl0KHt0eXBlOiJkZXBlbmRlbmN5IixmaWxlOmJ9KTtmb3IobGV0W2Isdl1vZiBkLmVudHJpZXMoKSlwLnNldChiLHYpO3JldHVybiBmfX12YXIgQ2csX2csX2wsRWc9UCgoKT0+e3UoKTtmdCgpO0NnPXBlKEZzKCkpO3dmKCk7c2EoKTtvYygpO09pKCk7SGgoKTtYaCgpO3ZnKCk7a2coKTtBZygpO19nPW5ldyBDZy5kZWZhdWx0KHttYXhTaXplOjEwMH0pLF9sPW5ldyBXZWFrTWFwfSk7ZnVuY3Rpb24gT2wocil7bGV0IGU9bmV3IFNldCx0PW5ldyBTZXQsaT1uZXcgU2V0O2lmKHIud2Fsa0F0UnVsZXMobj0+e24ubmFtZT09PSJhcHBseSImJmkuYWRkKG4pLG4ubmFtZT09PSJpbXBvcnQiJiYobi5wYXJhbXM9PT0nInRhaWx3aW5kY3NzL2Jhc2UiJ3x8bi5wYXJhbXM9PT0iJ3RhaWx3aW5kY3NzL2Jhc2UnIj8obi5uYW1lPSJ0YWlsd2luZCIsbi5wYXJhbXM9ImJhc2UiKTpuLnBhcmFtcz09PScidGFpbHdpbmRjc3MvY29tcG9uZW50cyInfHxuLnBhcmFtcz09PSIndGFpbHdpbmRjc3MvY29tcG9uZW50cyciPyhuLm5hbWU9InRhaWx3aW5kIixuLnBhcmFtcz0iY29tcG9uZW50cyIpOm4ucGFyYW1zPT09JyJ0YWlsd2luZGNzcy91dGlsaXRpZXMiJ3x8bi5wYXJhbXM9PT0iJ3RhaWx3aW5kY3NzL3V0aWxpdGllcyciPyhuLm5hbWU9InRhaWx3aW5kIixuLnBhcmFtcz0idXRpbGl0aWVzIik6KG4ucGFyYW1zPT09JyJ0YWlsd2luZGNzcy9zY3JlZW5zIid8fG4ucGFyYW1zPT09Iid0YWlsd2luZGNzcy9zY3JlZW5zJyJ8fG4ucGFyYW1zPT09JyJ0YWlsd2luZGNzcy92YXJpYW50cyInfHxuLnBhcmFtcz09PSIndGFpbHdpbmRjc3MvdmFyaWFudHMnIikmJihuLm5hbWU9InRhaWx3aW5kIixuLnBhcmFtcz0idmFyaWFudHMiKSksbi5uYW1lPT09InRhaWx3aW5kIiYmKG4ucGFyYW1zPT09InNjcmVlbnMiJiYobi5wYXJhbXM9InZhcmlhbnRzIiksZS5hZGQobi5wYXJhbXMpKSxbImxheWVyIiwicmVzcG9uc2l2ZSIsInZhcmlhbnRzIl0uaW5jbHVkZXMobi5uYW1lKSYmKFsicmVzcG9uc2l2ZSIsInZhcmlhbnRzIl0uaW5jbHVkZXMobi5uYW1lKSYmRy53YXJuKGAke24ubmFtZX0tYXQtcnVsZS1kZXByZWNhdGVkYCxbYFRoZSBcYEAke24ubmFtZX1cYCBkaXJlY3RpdmUgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBUYWlsd2luZCBDU1MgdjMuMC5gLCJVc2UgYEBsYXllciB1dGlsaXRpZXNgIG9yIGBAbGF5ZXIgY29tcG9uZW50c2AgaW5zdGVhZC4iLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3VwZ3JhZGUtZ3VpZGUjcmVwbGFjZS12YXJpYW50cy13aXRoLWxheWVyIl0pLHQuYWRkKG4pKX0pLCFlLmhhcygiYmFzZSIpfHwhZS5oYXMoImNvbXBvbmVudHMiKXx8IWUuaGFzKCJ1dGlsaXRpZXMiKSl7Zm9yKGxldCBuIG9mIHQpaWYobi5uYW1lPT09ImxheWVyIiYmWyJiYXNlIiwiY29tcG9uZW50cyIsInV0aWxpdGllcyJdLmluY2x1ZGVzKG4ucGFyYW1zKSl7aWYoIWUuaGFzKG4ucGFyYW1zKSl0aHJvdyBuLmVycm9yKGBcYEBsYXllciAke24ucGFyYW1zfVxgIGlzIHVzZWQgYnV0IG5vIG1hdGNoaW5nIFxgQHRhaWx3aW5kICR7bi5wYXJhbXN9XGAgZGlyZWN0aXZlIGlzIHByZXNlbnQuYCl9ZWxzZSBpZihuLm5hbWU9PT0icmVzcG9uc2l2ZSIpe2lmKCFlLmhhcygidXRpbGl0aWVzIikpdGhyb3cgbi5lcnJvcigiYEByZXNwb25zaXZlYCBpcyB1c2VkIGJ1dCBgQHRhaWx3aW5kIHV0aWxpdGllc2AgaXMgbWlzc2luZy4iKX1lbHNlIGlmKG4ubmFtZT09PSJ2YXJpYW50cyImJiFlLmhhcygidXRpbGl0aWVzIikpdGhyb3cgbi5lcnJvcigiYEB2YXJpYW50c2AgaXMgdXNlZCBidXQgYEB0YWlsd2luZCB1dGlsaXRpZXNgIGlzIG1pc3NpbmcuIil9cmV0dXJue3RhaWx3aW5kRGlyZWN0aXZlczplLGFwcGx5RGlyZWN0aXZlczppfX12YXIgT2c9UCgoKT0+e3UoKTtCZSgpfSk7ZnVuY3Rpb24gUXQocixlPXZvaWQgMCx0PXZvaWQgMCl7cmV0dXJuIHIubWFwKGk9PntsZXQgbj1pLmNsb25lKCk7cmV0dXJuIHQhPT12b2lkIDAmJihuLnJhd3MudGFpbHdpbmQ9ey4uLm4ucmF3cy50YWlsd2luZCwuLi50fSksZSE9PXZvaWQgMCYmVGcobixzPT57aWYocy5yYXdzLnRhaWx3aW5kPy5wcmVzZXJ2ZVNvdXJjZT09PSEwJiZzLnNvdXJjZSlyZXR1cm4hMTtzLnNvdXJjZT1lfSksbn0pfWZ1bmN0aW9uIFRnKHIsZSl7ZShyKSE9PSExJiZyLmVhY2g/Lih0PT5UZyh0LGUpKX12YXIgUmc9UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIFRsKHIpe3JldHVybiByPUFycmF5LmlzQXJyYXkocik/cjpbcl0scj1yLm1hcChlPT5lIGluc3RhbmNlb2YgUmVnRXhwP2Uuc291cmNlOmUpLHIuam9pbigiIil9ZnVuY3Rpb24gTmUocil7cmV0dXJuIG5ldyBSZWdFeHAoVGwociksImciKX1mdW5jdGlvbiBxdChyKXtyZXR1cm5gKD86JHtyLm1hcChUbCkuam9pbigifCIpfSlgfWZ1bmN0aW9uIFJsKHIpe3JldHVybmAoPzoke1RsKHIpfSk/YH1mdW5jdGlvbiBJZyhyKXtyZXR1cm4gciYmeDIudGVzdChyKT9yLnJlcGxhY2UoUGcsIlxcJCYiKTpyfHwiIn12YXIgUGcseDIsRGc9UCgoKT0+e3UoKTtQZz0vW1xcXiQuKis/KClbXF17fXxdL2cseDI9UmVnRXhwKFBnLnNvdXJjZSl9KTtmdW5jdGlvbiBxZyhyKXtsZXQgZT1BcnJheS5mcm9tKGsyKHIpKTtyZXR1cm4gdD0+e2xldCBpPVtdO2ZvcihsZXQgbiBvZiBlKWZvcihsZXQgcyBvZiB0Lm1hdGNoKG4pPz9bXSlpLnB1c2goQzIocykpO2ZvcihsZXQgbiBvZiBpLnNsaWNlKCkpe2xldCBzPXZlKG4sIi4iKTtmb3IobGV0IGE9MDthPHMubGVuZ3RoO2ErKyl7bGV0IG89c1thXTtpZihhPj1zLmxlbmd0aC0xKXtpLnB1c2gobyk7Y29udGludWV9bGV0IGw9TnVtYmVyKHNbYSsxXSk7aXNOYU4obCk/aS5wdXNoKG8pOmErK319cmV0dXJuIGl9fWZ1bmN0aW9uKmsyKHIpe2xldCBlPXIudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yLHQ9ci50YWlsd2luZENvbmZpZy5wcmVmaXghPT0iIj9SbChOZShbLy0/LyxJZyhyLnRhaWx3aW5kQ29uZmlnLnByZWZpeCldKSk6IiIsaT1xdChbL1xbW15cczonImBdKzpbXlxzXFtcXV0rXF0vLC9cW1teXHM6JyJgXF1dKzpbXlxzXSs/XFtbXlxzXStcXVteXHNdKz9cXS8sTmUoW3F0KFsvLT8oPzpcdyspLywvQCg/Olx3KykvXSksUmwocXQoW05lKFtxdChbLy0oPzpcdystKSpcWydbXlxzXSsnXF0vLC8tKD86XHcrLSkqXFsiW15cc10rIlxdLywvLSg/Olx3Ky0pKlxbYFteXHNdK2BcXS8sLy0oPzpcdystKSpcWyg/OlteXHNcW1xdXStcW1teXHNcW1xdXStcXSkqW15cczpcW1xdXStcXS9dKSwvKD8hW3soW11dKS8sLyg/OlwvW15ccyciYFxcPjwkXSopPy9dKSxOZShbcXQoWy8tKD86XHcrLSkqXFsnW15cc10rJ1xdLywvLSg/Olx3Ky0pKlxbIlteXHNdKyJcXS8sLy0oPzpcdystKSpcW2BbXlxzXStgXF0vLC8tKD86XHcrLSkqXFsoPzpbXlxzXFtcXV0rXFtbXlxzXFtcXV0rXF0pKlteXHNcW1xdXStcXS9dKSwvKD8hW3soW11dKS8sLyg/OlwvW15ccyciYFxcJF0qKT8vXSksL1stXC9dW15ccyciYFxcJD17PjxdKi9dKSldKV0pLG49W3F0KFtOZShbL0BcW1teXHMiJ2BdK1xdKFwvW15ccyInYF0rKT8vLGVdKSxOZShbLyhbXlxzIidgXFtcXF0rLSk/XFtbXlxzIidgXStcXVwvW1x3Xy1dKy8sZV0pLE5lKFsvKFteXHMiJ2BcW1xcXSstKT9cW1teXHMiJ2BdK1xdLyxlXSksTmUoWy9bXlxzIidgXFtcXF0rLyxlXSldKSxxdChbTmUoWy8oW15ccyInYFxbXFxdKy0pP1xbW15cc2BdK1xdXC9bXHdfLV0rLyxlXSksTmUoWy8oW15ccyInYFxbXFxdKy0pP1xbW15cc2BdK1xdLyxlXSksTmUoWy9bXlxzYFxbXFxdKy8sZV0pXSldO2ZvcihsZXQgcyBvZiBuKXlpZWxkIE5lKFsiKCg/PSgoIixzLCIpKykpXFwyKT8iLC8hPy8sdCxpXSk7eWllbGQvW148PiInYFxzLigpe31bXF0jPSUkXVtePD4iJ2Bccygpe31bXF0jPSUkXSpbXjw+IidgXHMuKCl7fVtcXSM9JTokXS9nfWZ1bmN0aW9uIEMyKHIpe2lmKCFyLmluY2x1ZGVzKCItWyIpKXJldHVybiByO2xldCBlPTAsdD1bXSxpPXIubWF0Y2hBbGwoUzIpO2k9QXJyYXkuZnJvbShpKS5mbGF0TWFwKG49PntsZXRbLC4uLnNdPW47cmV0dXJuIHMubWFwKChhLG8pPT5PYmplY3QuYXNzaWduKFtdLG4se2luZGV4Om4uaW5kZXgrbywwOmF9KSl9KTtmb3IobGV0IG4gb2YgaSl7bGV0IHM9blswXSxhPXRbdC5sZW5ndGgtMV07aWYocz09PWE/dC5wb3AoKToocz09PSInInx8cz09PSciJ3x8cz09PSJgIikmJnQucHVzaChzKSwhYSl7aWYocz09PSJbIil7ZSsrO2NvbnRpbnVlfWVsc2UgaWYocz09PSJdIil7ZS0tO2NvbnRpbnVlfWlmKGU8MClyZXR1cm4gci5zdWJzdHJpbmcoMCxuLmluZGV4LTEpO2lmKGU9PT0wJiYhQTIudGVzdChzKSlyZXR1cm4gci5zdWJzdHJpbmcoMCxuLmluZGV4KX19cmV0dXJuIHJ9dmFyIFMyLEEyLCRnPVAoKCk9Pnt1KCk7RGcoKTt6dCgpO1MyPS8oW1xbXF0nImBdKShbXlxbXF0nImBdKT8vZyxBMj0vW14iJ2Bcczw+XF1dKy99KTtmdW5jdGlvbiBfMihyLGUpe2xldCB0PXIudGFpbHdpbmRDb25maWcuY29udGVudC5leHRyYWN0O3JldHVybiB0W2VdfHx0LkRFRkFVTFR8fE1nW2VdfHxNZy5ERUZBVUxUKHIpfWZ1bmN0aW9uIEUyKHIsZSl7bGV0IHQ9ci5jb250ZW50LnRyYW5zZm9ybTtyZXR1cm4gdFtlXXx8dC5ERUZBVUxUfHxOZ1tlXXx8TmcuREVGQVVMVH1mdW5jdGlvbiBPMihyLGUsdCxpKXtMaS5oYXMoZSl8fExpLnNldChlLG5ldyBMZy5kZWZhdWx0KHttYXhTaXplOjI1ZTN9KSk7Zm9yKGxldCBuIG9mIHIuc3BsaXQoYApgKSlpZihuPW4udHJpbSgpLCFpLmhhcyhuKSlpZihpLmFkZChuKSxMaS5nZXQoZSkuaGFzKG4pKWZvcihsZXQgcyBvZiBMaS5nZXQoZSkuZ2V0KG4pKXQuYWRkKHMpO2Vsc2V7bGV0IHM9ZShuKS5maWx0ZXIobz0+byE9PSIhKiIpLGE9bmV3IFNldChzKTtmb3IobGV0IG8gb2YgYSl0LmFkZChvKTtMaS5nZXQoZSkuc2V0KG4sYSl9fWZ1bmN0aW9uIFQyKHIsZSl7bGV0IHQ9ZS5vZmZzZXRzLnNvcnQociksaT17YmFzZTpuZXcgU2V0LGRlZmF1bHRzOm5ldyBTZXQsY29tcG9uZW50czpuZXcgU2V0LHV0aWxpdGllczpuZXcgU2V0LHZhcmlhbnRzOm5ldyBTZXR9O2ZvcihsZXRbbixzXW9mIHQpaVtuLmxheWVyXS5hZGQocyk7cmV0dXJuIGl9ZnVuY3Rpb24gUGwocil7cmV0dXJuIGFzeW5jIGU9PntsZXQgdD17YmFzZTpudWxsLGNvbXBvbmVudHM6bnVsbCx1dGlsaXRpZXM6bnVsbCx2YXJpYW50czpudWxsfTtpZihlLndhbGtBdFJ1bGVzKHk9Pnt5Lm5hbWU9PT0idGFpbHdpbmQiJiZPYmplY3Qua2V5cyh0KS5pbmNsdWRlcyh5LnBhcmFtcykmJih0W3kucGFyYW1zXT15KX0pLE9iamVjdC52YWx1ZXModCkuZXZlcnkoeT0+eT09PW51bGwpKXJldHVybiBlO2xldCBpPW5ldyBTZXQoWy4uLnIuY2FuZGlkYXRlcz8/W10sZ3RdKSxuPW5ldyBTZXQ7YnQuREVCVUcmJmNvbnNvbGUudGltZSgiUmVhZGluZyBjaGFuZ2VkIGZpbGVzIik7bGV0IHM9W107Zm9yKGxldCB5IG9mIHIuY2hhbmdlZENvbnRlbnQpe2xldCB3PUUyKHIudGFpbHdpbmRDb25maWcseS5leHRlbnNpb24pLGs9XzIocix5LmV4dGVuc2lvbik7cy5wdXNoKFt5LHt0cmFuc2Zvcm1lcjp3LGV4dHJhY3RvcjprfV0pfWxldCBhPTUwMDtmb3IobGV0IHk9MDt5PHMubGVuZ3RoO3krPWEpe2xldCB3PXMuc2xpY2UoeSx5K2EpO2F3YWl0IFByb21pc2UuYWxsKHcubWFwKGFzeW5jKFt7ZmlsZTprLGNvbnRlbnQ6U30se3RyYW5zZm9ybWVyOkUsZXh0cmFjdG9yOlR9XSk9PntTPWs/YXdhaXQgYmUucHJvbWlzZXMucmVhZEZpbGUoaywidXRmOCIpOlMsTzIoRShTKSxULGksbil9KSl9YnQuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiUmVhZGluZyBjaGFuZ2VkIGZpbGVzIik7bGV0IG89ci5jbGFzc0NhY2hlLnNpemU7YnQuREVCVUcmJmNvbnNvbGUudGltZSgiR2VuZXJhdGUgcnVsZXMiKSxidC5ERUJVRyYmY29uc29sZS50aW1lKCJTb3J0aW5nIGNhbmRpZGF0ZXMiKTtsZXQgbD1uZXcgU2V0KFsuLi5pXS5zb3J0KCh5LHcpPT55PT09dz8wOnk8dz8tMToxKSk7YnQuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiU29ydGluZyBjYW5kaWRhdGVzIiksYXMobCxyKSxidC5ERUJVRyYmY29uc29sZS50aW1lRW5kKCJHZW5lcmF0ZSBydWxlcyIpLGJ0LkRFQlVHJiZjb25zb2xlLnRpbWUoIkJ1aWxkIHN0eWxlc2hlZXQiKSwoci5zdHlsZXNoZWV0Q2FjaGU9PT1udWxsfHxyLmNsYXNzQ2FjaGUuc2l6ZSE9PW8pJiYoci5zdHlsZXNoZWV0Q2FjaGU9VDIoWy4uLnIucnVsZUNhY2hlXSxyKSksYnQuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiQnVpbGQgc3R5bGVzaGVldCIpO2xldHtkZWZhdWx0czpjLGJhc2U6Zixjb21wb25lbnRzOmQsdXRpbGl0aWVzOnAsdmFyaWFudHM6aH09ci5zdHlsZXNoZWV0Q2FjaGU7dC5iYXNlJiYodC5iYXNlLmJlZm9yZShRdChbLi4uYywuLi5mXSx0LmJhc2Uuc291cmNlLHtsYXllcjoiYmFzZSJ9KSksdC5iYXNlLnJlbW92ZSgpKSx0LmNvbXBvbmVudHMmJih0LmNvbXBvbmVudHMuYmVmb3JlKFF0KFsuLi5kXSx0LmNvbXBvbmVudHMuc291cmNlLHtsYXllcjoiY29tcG9uZW50cyJ9KSksdC5jb21wb25lbnRzLnJlbW92ZSgpKSx0LnV0aWxpdGllcyYmKHQudXRpbGl0aWVzLmJlZm9yZShRdChbLi4ucF0sdC51dGlsaXRpZXMuc291cmNlLHtsYXllcjoidXRpbGl0aWVzIn0pKSx0LnV0aWxpdGllcy5yZW1vdmUoKSk7bGV0IGI9QXJyYXkuZnJvbShoKS5maWx0ZXIoeT0+e2xldCB3PXkucmF3cy50YWlsd2luZD8ucGFyZW50TGF5ZXI7cmV0dXJuIHc9PT0iY29tcG9uZW50cyI/dC5jb21wb25lbnRzIT09bnVsbDp3PT09InV0aWxpdGllcyI/dC51dGlsaXRpZXMhPT1udWxsOiEwfSk7dC52YXJpYW50cz8odC52YXJpYW50cy5iZWZvcmUoUXQoYix0LnZhcmlhbnRzLnNvdXJjZSx7bGF5ZXI6InZhcmlhbnRzIn0pKSx0LnZhcmlhbnRzLnJlbW92ZSgpKTpiLmxlbmd0aD4wJiZlLmFwcGVuZChRdChiLGUuc291cmNlLHtsYXllcjoidmFyaWFudHMifSkpLGUuc291cmNlLmVuZD1lLnNvdXJjZS5lbmQ/P2Uuc291cmNlLnN0YXJ0O2xldCB2PWIuc29tZSh5PT55LnJhd3MudGFpbHdpbmQ/LnBhcmVudExheWVyPT09InV0aWxpdGllcyIpO3QudXRpbGl0aWVzJiZwLnNpemU9PT0wJiYhdiYmRy53YXJuKCJjb250ZW50LXByb2JsZW1zIixbIk5vIHV0aWxpdHkgY2xhc3NlcyB3ZXJlIGRldGVjdGVkIGluIHlvdXIgc291cmNlIGZpbGVzLiBJZiB0aGlzIGlzIHVuZXhwZWN0ZWQsIGRvdWJsZS1jaGVjayB0aGUgYGNvbnRlbnRgIG9wdGlvbiBpbiB5b3VyIFRhaWx3aW5kIENTUyBjb25maWd1cmF0aW9uLiIsImh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvY29udGVudC1jb25maWd1cmF0aW9uIl0pLGJ0LkRFQlVHJiYoY29uc29sZS5sb2coIlBvdGVudGlhbCBjbGFzc2VzOiAiLGkuc2l6ZSksY29uc29sZS5sb2coIkFjdGl2ZSBjb250ZXh0czogIixlcy5zaXplKSksci5jaGFuZ2VkQ29udGVudD1bXSxlLndhbGtBdFJ1bGVzKCJsYXllciIseT0+e09iamVjdC5rZXlzKHQpLmluY2x1ZGVzKHkucGFyYW1zKSYmeS5yZW1vdmUoKX0pfX12YXIgTGcsYnQsTWcsTmcsTGksQmc9UCgoKT0+e3UoKTtmdCgpO0xnPXBlKEZzKCkpO0l0KCk7b3MoKTtCZSgpO1JnKCk7JGcoKTtidD1aZSxNZz17REVGQVVMVDpxZ30sTmc9e0RFRkFVTFQ6cj0+cixzdmVsdGU6cj0+ci5yZXBsYWNlKC8oPzpefFxzKWNsYXNzOi9nLCIgIil9O0xpPW5ldyBXZWFrTWFwfSk7ZnVuY3Rpb24geHMocil7bGV0IGU9bmV3IE1hcDtlZS5yb290KHtub2Rlczpbci5jbG9uZSgpXX0pLndhbGtSdWxlcyhzPT57KDAsdnMuZGVmYXVsdCkoYT0+e2Eud2Fsa0NsYXNzZXMobz0+e2xldCBsPW8ucGFyZW50LnRvU3RyaW5nKCksYz1lLmdldChsKTtjfHxlLnNldChsLGM9bmV3IFNldCksYy5hZGQoby52YWx1ZSl9KX0pLnByb2Nlc3NTeW5jKHMuc2VsZWN0b3IpfSk7bGV0IGk9QXJyYXkuZnJvbShlLnZhbHVlcygpLHM9PkFycmF5LmZyb20ocykpLG49aS5mbGF0KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24obix7Z3JvdXBzOml9KX1mdW5jdGlvbiBJbChyKXtyZXR1cm4gUjIuYXN0U3luYyhyKX1mdW5jdGlvbiBGZyhyLGUpe2xldCB0PW5ldyBTZXQ7Zm9yKGxldCBpIG9mIHIpdC5hZGQoaS5zcGxpdChlKS5wb3AoKSk7cmV0dXJuIEFycmF5LmZyb20odCl9ZnVuY3Rpb24gamcocixlKXtsZXQgdD1yLnRhaWx3aW5kQ29uZmlnLnByZWZpeDtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChlKTp0K2V9ZnVuY3Rpb24qemcocil7Zm9yKHlpZWxkIHI7ci5wYXJlbnQ7KXlpZWxkIHIucGFyZW50LHI9ci5wYXJlbnR9ZnVuY3Rpb24gUDIocixlPXt9KXtsZXQgdD1yLm5vZGVzO3Iubm9kZXM9W107bGV0IGk9ci5jbG9uZShlKTtyZXR1cm4gci5ub2Rlcz10LGl9ZnVuY3Rpb24gSTIocil7Zm9yKGxldCBlIG9mIHpnKHIpKWlmKHIhPT1lKXtpZihlLnR5cGU9PT0icm9vdCIpYnJlYWs7cj1QMihlLHtub2Rlczpbcl19KX1yZXR1cm4gcn1mdW5jdGlvbiBEMihyLGUpe2xldCB0PW5ldyBNYXA7cmV0dXJuIHIud2Fsa1J1bGVzKGk9Pntmb3IobGV0IGEgb2YgemcoaSkpaWYoYS5yYXdzLnRhaWx3aW5kPy5sYXllciE9PXZvaWQgMClyZXR1cm47bGV0IG49STIoaSkscz1lLm9mZnNldHMuY3JlYXRlKCJ1c2VyIik7Zm9yKGxldCBhIG9mIHhzKGkpKXtsZXQgbz10LmdldChhKXx8W107dC5zZXQoYSxvKSxvLnB1c2goW3tsYXllcjoidXNlciIsc29ydDpzLGltcG9ydGFudDohMX0sbl0pfX0pLHR9ZnVuY3Rpb24gcTIocixlKXtmb3IobGV0IHQgb2Ygcil7aWYoZS5ub3RDbGFzc0NhY2hlLmhhcyh0KXx8ZS5hcHBseUNsYXNzQ2FjaGUuaGFzKHQpKWNvbnRpbnVlO2lmKGUuY2xhc3NDYWNoZS5oYXModCkpe2UuYXBwbHlDbGFzc0NhY2hlLnNldCh0LGUuY2xhc3NDYWNoZS5nZXQodCkubWFwKChbbixzXSk9PltuLHMuY2xvbmUoKV0pKTtjb250aW51ZX1sZXQgaT1BcnJheS5mcm9tKFlvKHQsZSkpO2lmKGkubGVuZ3RoPT09MCl7ZS5ub3RDbGFzc0NhY2hlLmFkZCh0KTtjb250aW51ZX1lLmFwcGx5Q2xhc3NDYWNoZS5zZXQodCxpKX1yZXR1cm4gZS5hcHBseUNsYXNzQ2FjaGV9ZnVuY3Rpb24gJDIocil7bGV0IGU9bnVsbDtyZXR1cm57Z2V0OnQ9PihlPWV8fHIoKSxlLmdldCh0KSksaGFzOnQ9PihlPWV8fHIoKSxlLmhhcyh0KSl9fWZ1bmN0aW9uIEwyKHIpe3JldHVybntnZXQ6ZT0+ci5mbGF0TWFwKHQ9PnQuZ2V0KGUpfHxbXSksaGFzOmU9PnIuc29tZSh0PT50LmhhcyhlKSl9fWZ1bmN0aW9uIFVnKHIpe2xldCBlPXIuc3BsaXQoL1tcc1x0XG5dKy9nKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT09PSIhaW1wb3J0YW50Ij9bZS5zbGljZSgwLC0xKSwhMF06W2UsITFdfWZ1bmN0aW9uIFZnKHIsZSx0KXtsZXQgaT1uZXcgU2V0LG49W107aWYoci53YWxrQXRSdWxlcygiYXBwbHkiLGw9PntsZXRbY109VWcobC5wYXJhbXMpO2ZvcihsZXQgZiBvZiBjKWkuYWRkKGYpO24ucHVzaChsKX0pLG4ubGVuZ3RoPT09MClyZXR1cm47bGV0IHM9TDIoW3QscTIoaSxlKV0pO2Z1bmN0aW9uIGEobCxjLGYpe2xldCBkPUlsKGwpLHA9SWwoYyksYj1JbChgLiR7VGUoZil9YCkubm9kZXNbMF0ubm9kZXNbMF07cmV0dXJuIGQuZWFjaCh2PT57bGV0IHk9bmV3IFNldDtwLmVhY2godz0+e2xldCBrPSExO3c9dy5jbG9uZSgpLHcud2Fsa0NsYXNzZXMoUz0+e1MudmFsdWU9PT1iLnZhbHVlJiYoa3x8KFMucmVwbGFjZVdpdGgoLi4udi5ub2Rlcy5tYXAoRT0+RS5jbG9uZSgpKSkseS5hZGQodyksaz0hMCkpfSl9KTtmb3IobGV0IHcgb2YgeSl7bGV0IGs9W1tdXTtmb3IobGV0IFMgb2Ygdy5ub2RlcylTLnR5cGU9PT0iY29tYmluYXRvciI/KGsucHVzaChTKSxrLnB1c2goW10pKTprW2subGVuZ3RoLTFdLnB1c2goUyk7dy5ub2Rlcz1bXTtmb3IobGV0IFMgb2YgaylBcnJheS5pc0FycmF5KFMpJiZTLnNvcnQoKEUsVCk9PkUudHlwZT09PSJ0YWciJiZULnR5cGU9PT0iY2xhc3MiPy0xOkUudHlwZT09PSJjbGFzcyImJlQudHlwZT09PSJ0YWciPzE6RS50eXBlPT09ImNsYXNzIiYmVC50eXBlPT09InBzZXVkbyImJlQudmFsdWUuc3RhcnRzV2l0aCgiOjoiKT8tMTpFLnR5cGU9PT0icHNldWRvIiYmRS52YWx1ZS5zdGFydHNXaXRoKCI6OiIpJiZULnR5cGU9PT0iY2xhc3MiPzE6MCksdy5ub2Rlcz13Lm5vZGVzLmNvbmNhdChTKX12LnJlcGxhY2VXaXRoKC4uLnkpfSksZC50b1N0cmluZygpfWxldCBvPW5ldyBNYXA7Zm9yKGxldCBsIG9mIG4pe2xldFtjXT1vLmdldChsLnBhcmVudCl8fFtbXSxsLnNvdXJjZV07by5zZXQobC5wYXJlbnQsW2MsbC5zb3VyY2VdKTtsZXRbZixkXT1VZyhsLnBhcmFtcyk7aWYobC5wYXJlbnQudHlwZT09PSJhdHJ1bGUiKXtpZihsLnBhcmVudC5uYW1lPT09InNjcmVlbiIpe2xldCBwPWwucGFyZW50LnBhcmFtczt0aHJvdyBsLmVycm9yKGBAYXBwbHkgaXMgbm90IHN1cHBvcnRlZCB3aXRoaW4gbmVzdGVkIGF0LXJ1bGVzIGxpa2UgQHNjcmVlbi4gV2Ugc3VnZ2VzdCB5b3Ugd3JpdGUgdGhpcyBhcyBAYXBwbHkgJHtmLm1hcChoPT5gJHtwfToke2h9YCkuam9pbigiICIpfSBpbnN0ZWFkLmApfXRocm93IGwuZXJyb3IoYEBhcHBseSBpcyBub3Qgc3VwcG9ydGVkIHdpdGhpbiBuZXN0ZWQgYXQtcnVsZXMgbGlrZSBAJHtsLnBhcmVudC5uYW1lfS4gWW91IGNhbiBmaXggdGhpcyBieSB1bi1uZXN0aW5nIEAke2wucGFyZW50Lm5hbWV9LmApfWZvcihsZXQgcCBvZiBmKXtpZihbamcoZSwiZ3JvdXAiKSxqZyhlLCJwZWVyIildLmluY2x1ZGVzKHApKXRocm93IGwuZXJyb3IoYEBhcHBseSBzaG91bGQgbm90IGJlIHVzZWQgd2l0aCB0aGUgJyR7cH0nIHV0aWxpdHlgKTtpZighcy5oYXMocCkpdGhyb3cgbC5lcnJvcihgVGhlIFxgJHtwfVxgIGNsYXNzIGRvZXMgbm90IGV4aXN0LiBJZiBcYCR7cH1cYCBpcyBhIGN1c3RvbSBjbGFzcywgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgd2l0aGluIGEgXGBAbGF5ZXJcYCBkaXJlY3RpdmUuYCk7bGV0IGg9cy5nZXQocCk7Zm9yKGxldFssYl1vZiBoKWIudHlwZSE9PSJhdHJ1bGUiJiZiLndhbGtSdWxlcygoKT0+e3Rocm93IGwuZXJyb3IoW2BUaGUgXGAke3B9XGAgY2xhc3MgY2Fubm90IGJlIHVzZWQgd2l0aCBcYEBhcHBseVxgIGJlY2F1c2UgXGBAYXBwbHlcYCBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBuZXN0ZWQgQ1NTLmAsIlJld3JpdGUgdGhlIHNlbGVjdG9yIHdpdGhvdXQgbmVzdGluZyBvciBjb25maWd1cmUgdGhlIGB0YWlsd2luZGNzcy9uZXN0aW5nYCBwbHVnaW46IiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy91c2luZy13aXRoLXByZXByb2Nlc3NvcnMjbmVzdGluZyJdLmpvaW4oYApgKSl9KTtjLnB1c2goW3AsZCxoXSl9fWZvcihsZXRbbCxbYyxmXV1vZiBvKXtsZXQgZD1bXTtmb3IobGV0W2gsYix2XW9mIGMpe2xldCB5PVtoLC4uLkZnKFtoXSxlLnRhaWx3aW5kQ29uZmlnLnNlcGFyYXRvcildO2ZvcihsZXRbdyxrXW9mIHYpe2xldCBTPXhzKGwpLEU9eHMoayk7aWYoRT1FLmdyb3Vwcy5maWx0ZXIoUj0+Ui5zb21lKEY9PnkuaW5jbHVkZXMoRikpKS5mbGF0KCksRT1FLmNvbmNhdChGZyhFLGUudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yKSksUy5zb21lKFI9PkUuaW5jbHVkZXMoUikpKXRocm93IGsuZXJyb3IoYFlvdSBjYW5ub3QgXGBAYXBwbHlcYCB0aGUgXGAke2h9XGAgdXRpbGl0eSBoZXJlIGJlY2F1c2UgaXQgY3JlYXRlcyBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuYCk7bGV0IEI9ZWUucm9vdCh7bm9kZXM6W2suY2xvbmUoKV19KTtCLndhbGsoUj0+e1Iuc291cmNlPWZ9KSwoay50eXBlIT09ImF0cnVsZSJ8fGsudHlwZT09PSJhdHJ1bGUiJiZrLm5hbWUhPT0ia2V5ZnJhbWVzIikmJkIud2Fsa1J1bGVzKFI9PntpZigheHMoUikuc29tZShVPT5VPT09aCkpe1IucmVtb3ZlKCk7cmV0dXJufWxldCBGPXR5cGVvZiBlLnRhaWx3aW5kQ29uZmlnLmltcG9ydGFudD09InN0cmluZyI/ZS50YWlsd2luZENvbmZpZy5pbXBvcnRhbnQ6bnVsbCxfPWwucmF3cy50YWlsd2luZCE9PXZvaWQgMCYmRiYmbC5zZWxlY3Rvci5pbmRleE9mKEYpPT09MD9sLnNlbGVjdG9yLnNsaWNlKEYubGVuZ3RoKTpsLnNlbGVjdG9yO189PT0iIiYmKF89bC5zZWxlY3RvciksUi5zZWxlY3Rvcj1hKF8sUi5zZWxlY3RvcixoKSxGJiZfIT09bC5zZWxlY3RvciYmKFIuc2VsZWN0b3I9aXMoUi5zZWxlY3RvcixGKSksUi53YWxrRGVjbHMoVT0+e1UuaW1wb3J0YW50PXcuaW1wb3J0YW50fHxifSk7bGV0IFE9KDAsdnMuZGVmYXVsdCkoKS5hc3RTeW5jKFIuc2VsZWN0b3IpO1EuZWFjaChVPT5wcihVKSksUi5zZWxlY3Rvcj1RLnRvU3RyaW5nKCl9KSwhIUIubm9kZXNbMF0mJmQucHVzaChbdy5zb3J0LEIubm9kZXNbMF1dKX19bGV0IHA9ZS5vZmZzZXRzLnNvcnQoZCkubWFwKGg9PmhbMV0pO2wuYWZ0ZXIocCl9Zm9yKGxldCBsIG9mIG4pbC5wYXJlbnQubm9kZXMubGVuZ3RoPjE/bC5yZW1vdmUoKTpsLnBhcmVudC5yZW1vdmUoKTtWZyhyLGUsdCl9ZnVuY3Rpb24gRGwocil7cmV0dXJuIGU9PntsZXQgdD0kMigoKT0+RDIoZSxyKSk7VmcoZSxyLHQpfX12YXIgdnMsUjIsSGc9UCgoKT0+e3UoKTtPdCgpO3ZzPXBlKGl0KCkpO29zKCk7ZnIoKTtXbygpO3RzKCk7UjI9KDAsdnMuZGVmYXVsdCkoKX0pO3ZhciBXZz14KChucSxrcyk9Pnt1KCk7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoaSxuLHMpe2lmKCFpKXJldHVybiBudWxsO3IuY2FzZVNlbnNpdGl2ZXx8KGk9aS50b0xvd2VyQ2FzZSgpKTt2YXIgYT1yLnRocmVzaG9sZD09PW51bGw/bnVsbDpyLnRocmVzaG9sZCppLmxlbmd0aCxvPXIudGhyZXNob2xkQWJzb2x1dGUsbDthIT09bnVsbCYmbyE9PW51bGw/bD1NYXRoLm1pbihhLG8pOmEhPT1udWxsP2w9YTpvIT09bnVsbD9sPW86bD1udWxsO3ZhciBjLGYsZCxwLGgsYj1uLmxlbmd0aDtmb3IoaD0wO2g8YjtoKyspaWYoZj1uW2hdLHMmJihmPWZbc10pLCEhZiYmKHIuY2FzZVNlbnNpdGl2ZT9kPWY6ZD1mLnRvTG93ZXJDYXNlKCkscD10KGksZCxsKSwobD09PW51bGx8fHA8bCkmJihsPXAscyYmci5yZXR1cm5XaW5uaW5nT2JqZWN0P2M9bltoXTpjPWYsci5yZXR1cm5GaXJzdE1hdGNoKSkpcmV0dXJuIGM7cmV0dXJuIGN8fHIubnVsbFJlc3VsdFZhbHVlfXIudGhyZXNob2xkPS40LHIudGhyZXNob2xkQWJzb2x1dGU9MjAsci5jYXNlU2Vuc2l0aXZlPSExLHIubnVsbFJlc3VsdFZhbHVlPW51bGwsci5yZXR1cm5XaW5uaW5nT2JqZWN0PW51bGwsci5yZXR1cm5GaXJzdE1hdGNoPSExLHR5cGVvZiBrcyE9InVuZGVmaW5lZCImJmtzLmV4cG9ydHM/a3MuZXhwb3J0cz1yOndpbmRvdy5kaWRZb3VNZWFuPXI7dmFyIGU9TWF0aC5wb3coMiwzMiktMTtmdW5jdGlvbiB0KGksbixzKXtzPXN8fHM9PT0wP3M6ZTt2YXIgYT1pLmxlbmd0aCxvPW4ubGVuZ3RoO2lmKGE9PT0wKXJldHVybiBNYXRoLm1pbihzKzEsbyk7aWYobz09PTApcmV0dXJuIE1hdGgubWluKHMrMSxhKTtpZihNYXRoLmFicyhhLW8pPnMpcmV0dXJuIHMrMTt2YXIgbD1bXSxjLGYsZCxwLGg7Zm9yKGM9MDtjPD1vO2MrKylsW2NdPVtjXTtmb3IoZj0wO2Y8PWE7ZisrKWxbMF1bZl09Zjtmb3IoYz0xO2M8PW87YysrKXtmb3IoZD1lLHA9MSxjPnMmJihwPWMtcyksaD1vKzEsaD5zK2MmJihoPXMrYyksZj0xO2Y8PWE7ZisrKWY8cHx8Zj5oP2xbY11bZl09cysxOm4uY2hhckF0KGMtMSk9PT1pLmNoYXJBdChmLTEpP2xbY11bZl09bFtjLTFdW2YtMV06bFtjXVtmXT1NYXRoLm1pbihsW2MtMV1bZi0xXSsxLE1hdGgubWluKGxbY11bZi0xXSsxLGxbYy0xXVtmXSsxKSksbFtjXVtmXTxkJiYoZD1sW2NdW2ZdKTtpZihkPnMpcmV0dXJuIHMrMX1yZXR1cm4gbFtvXVthXX19KSgpfSk7dmFyIFFnPXgoKHNxLEdnKT0+e3UoKTt2YXIgcWw9IigiLmNoYXJDb2RlQXQoMCksJGw9IikiLmNoYXJDb2RlQXQoMCksU3M9IiciLmNoYXJDb2RlQXQoMCksTGw9JyInLmNoYXJDb2RlQXQoMCksTWw9IlxcIi5jaGFyQ29kZUF0KDApLHlyPSIvIi5jaGFyQ29kZUF0KDApLE5sPSIsIi5jaGFyQ29kZUF0KDApLEJsPSI6Ii5jaGFyQ29kZUF0KDApLEFzPSIqIi5jaGFyQ29kZUF0KDApLE0yPSJ1Ii5jaGFyQ29kZUF0KDApLE4yPSJVIi5jaGFyQ29kZUF0KDApLEIyPSIrIi5jaGFyQ29kZUF0KDApLEYyPS9eW2EtZjAtOT8tXSskL2k7R2cuZXhwb3J0cz1mdW5jdGlvbihyKXtmb3IodmFyIGU9W10sdD1yLGksbixzLGEsbyxsLGMsZixkPTAscD10LmNoYXJDb2RlQXQoZCksaD10Lmxlbmd0aCxiPVt7bm9kZXM6ZX1dLHY9MCx5LHc9IiIsaz0iIixTPSIiO2Q8aDspaWYocDw9MzIpe2k9ZDtkbyBpKz0xLHA9dC5jaGFyQ29kZUF0KGkpO3doaWxlKHA8PTMyKTthPXQuc2xpY2UoZCxpKSxzPWVbZS5sZW5ndGgtMV0scD09PSRsJiZ2P1M9YTpzJiZzLnR5cGU9PT0iZGl2Ij8ocy5hZnRlcj1hLHMuc291cmNlRW5kSW5kZXgrPWEubGVuZ3RoKTpwPT09Tmx8fHA9PT1CbHx8cD09PXlyJiZ0LmNoYXJDb2RlQXQoaSsxKSE9PUFzJiYoIXl8fHkmJnkudHlwZT09PSJmdW5jdGlvbiImJiExKT9rPWE6ZS5wdXNoKHt0eXBlOiJzcGFjZSIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDppLHZhbHVlOmF9KSxkPWl9ZWxzZSBpZihwPT09U3N8fHA9PT1MbCl7aT1kLG49cD09PVNzPyInIjonIicsYT17dHlwZToic3RyaW5nIixzb3VyY2VJbmRleDpkLHF1b3RlOm59O2RvIGlmKG89ITEsaT10LmluZGV4T2YobixpKzEpLH5pKWZvcihsPWk7dC5jaGFyQ29kZUF0KGwtMSk9PT1NbDspbC09MSxvPSFvO2Vsc2UgdCs9bixpPXQubGVuZ3RoLTEsYS51bmNsb3NlZD0hMDt3aGlsZShvKTthLnZhbHVlPXQuc2xpY2UoZCsxLGkpLGEuc291cmNlRW5kSW5kZXg9YS51bmNsb3NlZD9pOmkrMSxlLnB1c2goYSksZD1pKzEscD10LmNoYXJDb2RlQXQoZCl9ZWxzZSBpZihwPT09eXImJnQuY2hhckNvZGVBdChkKzEpPT09QXMpaT10LmluZGV4T2YoIiovIixkKSxhPXt0eXBlOiJjb21tZW50Iixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmkrMn0saT09PS0xJiYoYS51bmNsb3NlZD0hMCxpPXQubGVuZ3RoLGEuc291cmNlRW5kSW5kZXg9aSksYS52YWx1ZT10LnNsaWNlKGQrMixpKSxlLnB1c2goYSksZD1pKzIscD10LmNoYXJDb2RlQXQoZCk7ZWxzZSBpZigocD09PXlyfHxwPT09QXMpJiZ5JiZ5LnR5cGU9PT0iZnVuY3Rpb24iKWE9dFtkXSxlLnB1c2goe3R5cGU6IndvcmQiLHNvdXJjZUluZGV4OmQtay5sZW5ndGgsc291cmNlRW5kSW5kZXg6ZCthLmxlbmd0aCx2YWx1ZTphfSksZCs9MSxwPXQuY2hhckNvZGVBdChkKTtlbHNlIGlmKHA9PT15cnx8cD09PU5sfHxwPT09QmwpYT10W2RdLGUucHVzaCh7dHlwZToiZGl2Iixzb3VyY2VJbmRleDpkLWsubGVuZ3RoLHNvdXJjZUVuZEluZGV4OmQrYS5sZW5ndGgsdmFsdWU6YSxiZWZvcmU6ayxhZnRlcjoiIn0pLGs9IiIsZCs9MSxwPXQuY2hhckNvZGVBdChkKTtlbHNlIGlmKHFsPT09cCl7aT1kO2RvIGkrPTEscD10LmNoYXJDb2RlQXQoaSk7d2hpbGUocDw9MzIpO2lmKGY9ZCxhPXt0eXBlOiJmdW5jdGlvbiIsc291cmNlSW5kZXg6ZC13Lmxlbmd0aCx2YWx1ZTp3LGJlZm9yZTp0LnNsaWNlKGYrMSxpKX0sZD1pLHc9PT0idXJsIiYmcCE9PVNzJiZwIT09TGwpe2ktPTE7ZG8gaWYobz0hMSxpPXQuaW5kZXhPZigiKSIsaSsxKSx+aSlmb3IobD1pO3QuY2hhckNvZGVBdChsLTEpPT09TWw7KWwtPTEsbz0hbztlbHNlIHQrPSIpIixpPXQubGVuZ3RoLTEsYS51bmNsb3NlZD0hMDt3aGlsZShvKTtjPWk7ZG8gYy09MSxwPXQuY2hhckNvZGVBdChjKTt3aGlsZShwPD0zMik7ZjxjPyhkIT09YysxP2Eubm9kZXM9W3t0eXBlOiJ3b3JkIixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmMrMSx2YWx1ZTp0LnNsaWNlKGQsYysxKX1dOmEubm9kZXM9W10sYS51bmNsb3NlZCYmYysxIT09aT8oYS5hZnRlcj0iIixhLm5vZGVzLnB1c2goe3R5cGU6InNwYWNlIixzb3VyY2VJbmRleDpjKzEsc291cmNlRW5kSW5kZXg6aSx2YWx1ZTp0LnNsaWNlKGMrMSxpKX0pKTooYS5hZnRlcj10LnNsaWNlKGMrMSxpKSxhLnNvdXJjZUVuZEluZGV4PWkpKTooYS5hZnRlcj0iIixhLm5vZGVzPVtdKSxkPWkrMSxhLnNvdXJjZUVuZEluZGV4PWEudW5jbG9zZWQ/aTpkLHA9dC5jaGFyQ29kZUF0KGQpLGUucHVzaChhKX1lbHNlIHYrPTEsYS5hZnRlcj0iIixhLnNvdXJjZUVuZEluZGV4PWQrMSxlLnB1c2goYSksYi5wdXNoKGEpLGU9YS5ub2Rlcz1bXSx5PWE7dz0iIn1lbHNlIGlmKCRsPT09cCYmdilkKz0xLHA9dC5jaGFyQ29kZUF0KGQpLHkuYWZ0ZXI9Uyx5LnNvdXJjZUVuZEluZGV4Kz1TLmxlbmd0aCxTPSIiLHYtPTEsYltiLmxlbmd0aC0xXS5zb3VyY2VFbmRJbmRleD1kLGIucG9wKCkseT1iW3ZdLGU9eS5ub2RlcztlbHNle2k9ZDtkbyBwPT09TWwmJihpKz0xKSxpKz0xLHA9dC5jaGFyQ29kZUF0KGkpO3doaWxlKGk8aCYmIShwPD0zMnx8cD09PVNzfHxwPT09TGx8fHA9PT1ObHx8cD09PUJsfHxwPT09eXJ8fHA9PT1xbHx8cD09PUFzJiZ5JiZ5LnR5cGU9PT0iZnVuY3Rpb24iJiYhMHx8cD09PXlyJiZ5LnR5cGU9PT0iZnVuY3Rpb24iJiYhMHx8cD09PSRsJiZ2KSk7YT10LnNsaWNlKGQsaSkscWw9PT1wP3c9YTooTTI9PT1hLmNoYXJDb2RlQXQoMCl8fE4yPT09YS5jaGFyQ29kZUF0KDApKSYmQjI9PT1hLmNoYXJDb2RlQXQoMSkmJkYyLnRlc3QoYS5zbGljZSgyKSk/ZS5wdXNoKHt0eXBlOiJ1bmljb2RlLXJhbmdlIixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmksdmFsdWU6YX0pOmUucHVzaCh7dHlwZToid29yZCIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDppLHZhbHVlOmF9KSxkPWl9Zm9yKGQ9Yi5sZW5ndGgtMTtkO2QtPTEpYltkXS51bmNsb3NlZD0hMCxiW2RdLnNvdXJjZUVuZEluZGV4PXQubGVuZ3RoO3JldHVybiBiWzBdLm5vZGVzfX0pO3ZhciBLZz14KChhcSxZZyk9Pnt1KCk7WWcuZXhwb3J0cz1mdW5jdGlvbiByKGUsdCxpKXt2YXIgbixzLGEsbztmb3Iobj0wLHM9ZS5sZW5ndGg7bjxzO24rPTEpYT1lW25dLGl8fChvPXQoYSxuLGUpKSxvIT09ITEmJmEudHlwZT09PSJmdW5jdGlvbiImJkFycmF5LmlzQXJyYXkoYS5ub2RlcykmJnIoYS5ub2Rlcyx0LGkpLGkmJnQoYSxuLGUpfX0pO3ZhciBleT14KChvcSxKZyk9Pnt1KCk7ZnVuY3Rpb24gWGcocixlKXt2YXIgdD1yLnR5cGUsaT1yLnZhbHVlLG4scztyZXR1cm4gZSYmKHM9ZShyKSkhPT12b2lkIDA/czp0PT09IndvcmQifHx0PT09InNwYWNlIj9pOnQ9PT0ic3RyaW5nIj8obj1yLnF1b3RlfHwiIixuK2krKHIudW5jbG9zZWQ/IiI6bikpOnQ9PT0iY29tbWVudCI/Ii8qIitpKyhyLnVuY2xvc2VkPyIiOiIqLyIpOnQ9PT0iZGl2Ij8oci5iZWZvcmV8fCIiKStpKyhyLmFmdGVyfHwiIik6QXJyYXkuaXNBcnJheShyLm5vZGVzKT8obj1aZyhyLm5vZGVzLGUpLHQhPT0iZnVuY3Rpb24iP246aSsiKCIrKHIuYmVmb3JlfHwiIikrbisoci5hZnRlcnx8IiIpKyhyLnVuY2xvc2VkPyIiOiIpIikpOml9ZnVuY3Rpb24gWmcocixlKXt2YXIgdCxpO2lmKEFycmF5LmlzQXJyYXkocikpe2Zvcih0PSIiLGk9ci5sZW5ndGgtMTt+aTtpLT0xKXQ9WGcocltpXSxlKSt0O3JldHVybiB0fXJldHVybiBYZyhyLGUpfUpnLmV4cG9ydHM9Wmd9KTt2YXIgcnk9eCgobHEsdHkpPT57dSgpO3ZhciBDcz0iLSIuY2hhckNvZGVBdCgwKSxfcz0iKyIuY2hhckNvZGVBdCgwKSxGbD0iLiIuY2hhckNvZGVBdCgwKSxqMj0iZSIuY2hhckNvZGVBdCgwKSx6Mj0iRSIuY2hhckNvZGVBdCgwKTtmdW5jdGlvbiBVMihyKXt2YXIgZT1yLmNoYXJDb2RlQXQoMCksdDtpZihlPT09X3N8fGU9PT1Dcyl7aWYodD1yLmNoYXJDb2RlQXQoMSksdD49NDgmJnQ8PTU3KXJldHVybiEwO3ZhciBpPXIuY2hhckNvZGVBdCgyKTtyZXR1cm4gdD09PUZsJiZpPj00OCYmaTw9NTd9cmV0dXJuIGU9PT1GbD8odD1yLmNoYXJDb2RlQXQoMSksdD49NDgmJnQ8PTU3KTplPj00OCYmZTw9NTd9dHkuZXhwb3J0cz1mdW5jdGlvbihyKXt2YXIgZT0wLHQ9ci5sZW5ndGgsaSxuLHM7aWYodD09PTB8fCFVMihyKSlyZXR1cm4hMTtmb3IoaT1yLmNoYXJDb2RlQXQoZSksKGk9PT1fc3x8aT09PUNzKSYmZSsrO2U8dCYmKGk9ci5jaGFyQ29kZUF0KGUpLCEoaTw0OHx8aT41NykpOyllKz0xO2lmKGk9ci5jaGFyQ29kZUF0KGUpLG49ci5jaGFyQ29kZUF0KGUrMSksaT09PUZsJiZuPj00OCYmbjw9NTcpZm9yKGUrPTI7ZTx0JiYoaT1yLmNoYXJDb2RlQXQoZSksIShpPDQ4fHxpPjU3KSk7KWUrPTE7aWYoaT1yLmNoYXJDb2RlQXQoZSksbj1yLmNoYXJDb2RlQXQoZSsxKSxzPXIuY2hhckNvZGVBdChlKzIpLChpPT09ajJ8fGk9PT16MikmJihuPj00OCYmbjw9NTd8fChuPT09X3N8fG49PT1DcykmJnM+PTQ4JiZzPD01NykpZm9yKGUrPW49PT1fc3x8bj09PUNzPzM6MjtlPHQmJihpPXIuY2hhckNvZGVBdChlKSwhKGk8NDh8fGk+NTcpKTspZSs9MTtyZXR1cm57bnVtYmVyOnIuc2xpY2UoMCxlKSx1bml0OnIuc2xpY2UoZSl9fX0pO3ZhciBheT14KCh1cSxzeSk9Pnt1KCk7dmFyIFYyPVFnKCksaXk9S2coKSxueT1leSgpO2Z1bmN0aW9uICR0KHIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgJHQ/KHRoaXMubm9kZXM9VjIociksdGhpcyk6bmV3ICR0KHIpfSR0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBBcnJheS5pc0FycmF5KHRoaXMubm9kZXMpP255KHRoaXMubm9kZXMpOiIifTskdC5wcm90b3R5cGUud2Fsaz1mdW5jdGlvbihyLGUpe3JldHVybiBpeSh0aGlzLm5vZGVzLHIsZSksdGhpc307JHQudW5pdD1yeSgpOyR0LndhbGs9aXk7JHQuc3RyaW5naWZ5PW55O3N5LmV4cG9ydHM9JHR9KTtmdW5jdGlvbiB6bChyKXtyZXR1cm4gdHlwZW9mIHI9PSJvYmplY3QiJiZyIT09bnVsbH1mdW5jdGlvbiBIMihyLGUpe2xldCB0PWt0KGUpO2RvIGlmKHQucG9wKCksKDAsTWkuZGVmYXVsdCkocix0KSE9PXZvaWQgMClicmVhazt3aGlsZSh0Lmxlbmd0aCk7cmV0dXJuIHQubGVuZ3RoP3Q6dm9pZCAwfWZ1bmN0aW9uIGJyKHIpe3JldHVybiB0eXBlb2Ygcj09InN0cmluZyI/cjpyLnJlZHVjZSgoZSx0LGkpPT50LmluY2x1ZGVzKCIuIik/YCR7ZX1bJHt0fV1gOmk9PT0wP3Q6YCR7ZX0uJHt0fWAsIiIpfWZ1bmN0aW9uIGx5KHIpe3JldHVybiByLm1hcChlPT5gJyR7ZX0nYCkuam9pbigiLCAiKX1mdW5jdGlvbiB1eShyKXtyZXR1cm4gbHkoT2JqZWN0LmtleXMocikpfWZ1bmN0aW9uIFVsKHIsZSx0LGk9e30pe2xldCBuPUFycmF5LmlzQXJyYXkoZSk/YnIoZSk6ZS5yZXBsYWNlKC9eWyciXSt8WyciXSskL2csIiIpLHM9QXJyYXkuaXNBcnJheShlKT9lOmt0KG4pLGE9KDAsTWkuZGVmYXVsdCkoci50aGVtZSxzLHQpO2lmKGE9PT12b2lkIDApe2xldCBsPWAnJHtufScgZG9lcyBub3QgZXhpc3QgaW4geW91ciB0aGVtZSBjb25maWcuYCxjPXMuc2xpY2UoMCwtMSksZj0oMCxNaS5kZWZhdWx0KShyLnRoZW1lLGMpO2lmKHpsKGYpKXtsZXQgZD1PYmplY3Qua2V5cyhmKS5maWx0ZXIoaD0+VWwocixbLi4uYyxoXSkuaXNWYWxpZCkscD0oMCxveS5kZWZhdWx0KShzW3MubGVuZ3RoLTFdLGQpO3A/bCs9YCBEaWQgeW91IG1lYW4gJyR7YnIoWy4uLmMscF0pfSc/YDpkLmxlbmd0aD4wJiYobCs9YCAnJHticihjKX0nIGhhcyB0aGUgZm9sbG93aW5nIHZhbGlkIGtleXM6ICR7bHkoZCl9YCl9ZWxzZXtsZXQgZD1IMihyLnRoZW1lLG4pO2lmKGQpe2xldCBwPSgwLE1pLmRlZmF1bHQpKHIudGhlbWUsZCk7emwocCk/bCs9YCAnJHticihkKX0nIGhhcyB0aGUgZm9sbG93aW5nIGtleXM6ICR7dXkocCl9YDpsKz1gICcke2JyKGQpfScgaXMgbm90IGFuIG9iamVjdC5gfWVsc2UgbCs9YCBZb3VyIHRoZW1lIGhhcyB0aGUgZm9sbG93aW5nIHRvcC1sZXZlbCBrZXlzOiAke3V5KHIudGhlbWUpfWB9cmV0dXJue2lzVmFsaWQ6ITEsZXJyb3I6bH19aWYoISh0eXBlb2YgYT09InN0cmluZyJ8fHR5cGVvZiBhPT0ibnVtYmVyInx8dHlwZW9mIGE9PSJmdW5jdGlvbiJ8fGEgaW5zdGFuY2VvZiBTdHJpbmd8fGEgaW5zdGFuY2VvZiBOdW1iZXJ8fEFycmF5LmlzQXJyYXkoYSkpKXtsZXQgbD1gJyR7bn0nIHdhcyBmb3VuZCBidXQgZG9lcyBub3QgcmVzb2x2ZSB0byBhIHN0cmluZy5gO2lmKHpsKGEpKXtsZXQgYz1PYmplY3Qua2V5cyhhKS5maWx0ZXIoZj0+VWwocixbLi4ucyxmXSkuaXNWYWxpZCk7Yy5sZW5ndGgmJihsKz1gIERpZCB5b3UgbWVhbiBzb21ldGhpbmcgbGlrZSAnJHticihbLi4ucyxjWzBdXSl9Jz9gKX1yZXR1cm57aXNWYWxpZDohMSxlcnJvcjpsfX1sZXRbb109cztyZXR1cm57aXNWYWxpZDohMCx2YWx1ZTptdChvKShhLGkpfX1mdW5jdGlvbiBXMihyLGUsdCl7ZT1lLm1hcChuPT5meShyLG4sdCkpO2xldCBpPVsiIl07Zm9yKGxldCBuIG9mIGUpbi50eXBlPT09ImRpdiImJm4udmFsdWU9PT0iLCI/aS5wdXNoKCIiKTppW2kubGVuZ3RoLTFdKz1qbC5kZWZhdWx0LnN0cmluZ2lmeShuKTtyZXR1cm4gaX1mdW5jdGlvbiBmeShyLGUsdCl7aWYoZS50eXBlPT09ImZ1bmN0aW9uIiYmdFtlLnZhbHVlXSE9PXZvaWQgMCl7bGV0IGk9VzIocixlLm5vZGVzLHQpO2UudHlwZT0id29yZCIsZS52YWx1ZT10W2UudmFsdWVdKHIsLi4uaSl9cmV0dXJuIGV9ZnVuY3Rpb24gRzIocixlLHQpe3JldHVybiBPYmplY3Qua2V5cyh0KS5zb21lKG49PmUuaW5jbHVkZXMoYCR7bn0oYCkpPygwLGpsLmRlZmF1bHQpKGUpLndhbGsobj0+e2Z5KHIsbix0KX0pLnRvU3RyaW5nKCk6ZX1mdW5jdGlvbipZMihyKXtyPXIucmVwbGFjZSgvXlsnIl0rfFsnIl0rJC9nLCIiKTtsZXQgZT1yLm1hdGNoKC9eKFteXHNdKykoPyFbXlxbXSpcXSkoPzpccypcL1xzKihbXlwvXHNdKykpJC8pLHQ7eWllbGRbcix2b2lkIDBdLGUmJihyPWVbMV0sdD1lWzJdLHlpZWxkW3IsdF0pfWZ1bmN0aW9uIEsyKHIsZSx0KXtsZXQgaT1BcnJheS5mcm9tKFkyKGUpKS5tYXAoKFtuLHNdKT0+T2JqZWN0LmFzc2lnbihVbChyLG4sdCx7b3BhY2l0eVZhbHVlOnN9KSx7cmVzb2x2ZWRQYXRoOm4sYWxwaGE6c30pKTtyZXR1cm4gaS5maW5kKG49Pm4uaXNWYWxpZCk/P2lbMF19ZnVuY3Rpb24gY3kocil7bGV0IGU9ci50YWlsd2luZENvbmZpZyx0PXt0aGVtZTooaSxuLC4uLnMpPT57bGV0e2lzVmFsaWQ6YSx2YWx1ZTpvLGVycm9yOmwsYWxwaGE6Y309SzIoZSxuLHMubGVuZ3RoP3M6dm9pZCAwKTtpZighYSl7bGV0IHA9aS5wYXJlbnQsaD1wPy5yYXdzLnRhaWx3aW5kPy5jYW5kaWRhdGU7aWYocCYmaCE9PXZvaWQgMCl7ci5tYXJrSW52YWxpZFV0aWxpdHlOb2RlKHApLHAucmVtb3ZlKCksRy53YXJuKCJpbnZhbGlkLXRoZW1lLWtleS1pbi1jbGFzcyIsW2BUaGUgdXRpbGl0eSBcYCR7aH1cYCBjb250YWlucyBhbiBpbnZhbGlkIHRoZW1lIHZhbHVlIGFuZCB3YXMgbm90IGdlbmVyYXRlZC5gXSk7cmV0dXJufXRocm93IGkuZXJyb3IobCl9bGV0IGY9WHQobyksZD1mIT09dm9pZCAwJiZ0eXBlb2YgZj09ImZ1bmN0aW9uIjtyZXR1cm4oYyE9PXZvaWQgMHx8ZCkmJihjPT09dm9pZCAwJiYoYz0xKSxvPUplKGYsYyxmKSksb30sc2NyZWVuOihpLG4pPT57bj1uLnJlcGxhY2UoL15bJyJdKy9nLCIiKS5yZXBsYWNlKC9bJyJdKyQvZywiIik7bGV0IGE9UnQoZS50aGVtZS5zY3JlZW5zKS5maW5kKCh7bmFtZTpvfSk9Pm89PT1uKTtpZighYSl0aHJvdyBpLmVycm9yKGBUaGUgJyR7bn0nIHNjcmVlbiBkb2VzIG5vdCBleGlzdCBpbiB5b3VyIHRoZW1lLmApO3JldHVybiBUdChhKX19O3JldHVybiBpPT57aS53YWxrKG49PntsZXQgcz1RMltuLnR5cGVdO3MhPT12b2lkIDAmJihuW3NdPUcyKG4sbltzXSx0KSl9KX19dmFyIE1pLG95LGpsLFEyLHB5PVAoKCk9Pnt1KCk7TWk9cGUoUmEoKSksb3k9cGUoV2coKSk7Q2koKTtqbD1wZShheSgpKTtabigpO1luKCk7WWkoKTtMcigpO0ZyKCk7QmUoKTtRMj17YXRydWxlOiJwYXJhbXMiLGRlY2w6InZhbHVlIn19KTtmdW5jdGlvbiBkeSh7dGFpbHdpbmRDb25maWc6e3RoZW1lOnJ9fSl7cmV0dXJuIGZ1bmN0aW9uKGUpe2Uud2Fsa0F0UnVsZXMoInNjcmVlbiIsdD0+e2xldCBpPXQucGFyYW1zLHM9UnQoci5zY3JlZW5zKS5maW5kKCh7bmFtZTphfSk9PmE9PT1pKTtpZighcyl0aHJvdyB0LmVycm9yKGBObyBcYCR7aX1cYCBzY3JlZW4gZm91bmQuYCk7dC5uYW1lPSJtZWRpYSIsdC5wYXJhbXM9VHQocyl9KX19dmFyIGh5PVAoKCk9Pnt1KCk7Wm4oKTtZbigpfSk7ZnVuY3Rpb24gWDIocil7bGV0IGU9ci5maWx0ZXIobz0+by50eXBlIT09InBzZXVkbyJ8fG8ubm9kZXMubGVuZ3RoPjA/ITA6by52YWx1ZS5zdGFydHNXaXRoKCI6OiIpfHxbIjpiZWZvcmUiLCI6YWZ0ZXIiLCI6Zmlyc3QtbGluZSIsIjpmaXJzdC1sZXR0ZXIiXS5pbmNsdWRlcyhvLnZhbHVlKSkucmV2ZXJzZSgpLHQ9bmV3IFNldChbInRhZyIsImNsYXNzIiwiaWQiLCJhdHRyaWJ1dGUiXSksaT1lLmZpbmRJbmRleChvPT50LmhhcyhvLnR5cGUpKTtpZihpPT09LTEpcmV0dXJuIGUucmV2ZXJzZSgpLmpvaW4oIiIpLnRyaW0oKTtsZXQgbj1lW2ldLHM9bXlbbi50eXBlXT9teVtuLnR5cGVdKG4pOm47ZT1lLnNsaWNlKDAsaSk7bGV0IGE9ZS5maW5kSW5kZXgobz0+by50eXBlPT09ImNvbWJpbmF0b3IiJiZvLnZhbHVlPT09Ij4iKTtyZXR1cm4gYSE9PS0xJiYoZS5zcGxpY2UoMCxhKSxlLnVuc2hpZnQoRXMuZGVmYXVsdC51bml2ZXJzYWwoKSkpLFtzLC4uLmUucmV2ZXJzZSgpXS5qb2luKCIiKS50cmltKCl9ZnVuY3Rpb24gSjIocil7cmV0dXJuIFZsLmhhcyhyKXx8Vmwuc2V0KHIsWjIudHJhbnNmb3JtU3luYyhyKSksVmwuZ2V0KHIpfWZ1bmN0aW9uIEhsKHt0YWlsd2luZENvbmZpZzpyfSl7cmV0dXJuIGU9PntsZXQgdD1uZXcgTWFwLGk9bmV3IFNldDtpZihlLndhbGtBdFJ1bGVzKCJkZWZhdWx0cyIsbj0+e2lmKG4ubm9kZXMmJm4ubm9kZXMubGVuZ3RoPjApe2kuYWRkKG4pO3JldHVybn1sZXQgcz1uLnBhcmFtczt0LmhhcyhzKXx8dC5zZXQocyxuZXcgU2V0KSx0LmdldChzKS5hZGQobi5wYXJlbnQpLG4ucmVtb3ZlKCl9KSx3ZShyLCJvcHRpbWl6ZVVuaXZlcnNhbERlZmF1bHRzIikpZm9yKGxldCBuIG9mIGkpe2xldCBzPW5ldyBNYXAsYT10LmdldChuLnBhcmFtcyk/P1tdO2ZvcihsZXQgbyBvZiBhKWZvcihsZXQgbCBvZiBKMihvLnNlbGVjdG9yKSl7bGV0IGM9bC5pbmNsdWRlcygiOi0iKXx8bC5pbmNsdWRlcygiOjotIil8fGwuaW5jbHVkZXMoIjpoYXMiKT9sOiJfX0RFRkFVTFRfXyIsZj1zLmdldChjKT8/bmV3IFNldDtzLnNldChjLGYpLGYuYWRkKGwpfWlmKHMuc2l6ZT09PTApe24ucmVtb3ZlKCk7Y29udGludWV9Zm9yKGxldFssb11vZiBzKXtsZXQgbD1lZS5ydWxlKHtzb3VyY2U6bi5zb3VyY2V9KTtsLnNlbGVjdG9ycz1bLi4ub10sbC5hcHBlbmQobi5ub2Rlcy5tYXAoYz0+Yy5jbG9uZSgpKSksbi5iZWZvcmUobCl9bi5yZW1vdmUoKX1lbHNlIGlmKGkuc2l6ZSl7bGV0IG49ZWUucnVsZSh7c2VsZWN0b3JzOlsiKiIsIjo6YmVmb3JlIiwiOjphZnRlciJdfSk7Zm9yKGxldCBhIG9mIGkpbi5hcHBlbmQoYS5ub2Rlcyksbi5wYXJlbnR8fGEuYmVmb3JlKG4pLG4uc291cmNlfHwobi5zb3VyY2U9YS5zb3VyY2UpLGEucmVtb3ZlKCk7bGV0IHM9bi5jbG9uZSh7c2VsZWN0b3JzOlsiOjpiYWNrZHJvcCJdfSk7bi5hZnRlcihzKX19fXZhciBFcyxteSxaMixWbCxneT1QKCgpPT57dSgpO090KCk7RXM9cGUoaXQoKSk7Y3QoKTtteT17aWQocil7cmV0dXJuIEVzLmRlZmF1bHQuYXR0cmlidXRlKHthdHRyaWJ1dGU6ImlkIixvcGVyYXRvcjoiPSIsdmFsdWU6ci52YWx1ZSxxdW90ZU1hcms6JyInfSl9fTtaMj0oMCxFcy5kZWZhdWx0KShyPT5yLm1hcChlPT57bGV0IHQ9ZS5zcGxpdChpPT5pLnR5cGU9PT0iY29tYmluYXRvciImJmkudmFsdWU9PT0iICIpLnBvcCgpO3JldHVybiBYMih0KX0pKSxWbD1uZXcgTWFwfSk7ZnVuY3Rpb24gV2woKXtmdW5jdGlvbiByKGUpe2xldCB0PW51bGw7ZS5lYWNoKGk9PntpZighZU8uaGFzKGkudHlwZSkpe3Q9bnVsbDtyZXR1cm59aWYodD09PW51bGwpe3Q9aTtyZXR1cm59bGV0IG49eXlbaS50eXBlXTtpLnR5cGU9PT0iYXRydWxlIiYmaS5uYW1lPT09ImZvbnQtZmFjZSI/dD1pOm4uZXZlcnkocz0+KGlbc10/PyIiKS5yZXBsYWNlKC9ccysvZywiICIpPT09KHRbc10/PyIiKS5yZXBsYWNlKC9ccysvZywiICIpKT8oaS5ub2RlcyYmdC5hcHBlbmQoaS5ub2RlcyksaS5yZW1vdmUoKSk6dD1pfSksZS5lYWNoKGk9PntpLnR5cGU9PT0iYXRydWxlIiYmcihpKX0pfXJldHVybiBlPT57cihlKX19dmFyIHl5LGVPLGJ5PVAoKCk9Pnt1KCk7eXk9e2F0cnVsZTpbIm5hbWUiLCJwYXJhbXMiXSxydWxlOlsic2VsZWN0b3IiXX0sZU89bmV3IFNldChPYmplY3Qua2V5cyh5eSkpfSk7ZnVuY3Rpb24gR2woKXtyZXR1cm4gcj0+e3Iud2Fsa1J1bGVzKGU9PntsZXQgdD1uZXcgTWFwLGk9bmV3IFNldChbXSksbj1uZXcgTWFwO2Uud2Fsa0RlY2xzKHM9PntpZihzLnBhcmVudD09PWUpe2lmKHQuaGFzKHMucHJvcCkpe2lmKHQuZ2V0KHMucHJvcCkudmFsdWU9PT1zLnZhbHVlKXtpLmFkZCh0LmdldChzLnByb3ApKSx0LnNldChzLnByb3Ascyk7cmV0dXJufW4uaGFzKHMucHJvcCl8fG4uc2V0KHMucHJvcCxuZXcgU2V0KSxuLmdldChzLnByb3ApLmFkZCh0LmdldChzLnByb3ApKSxuLmdldChzLnByb3ApLmFkZChzKX10LnNldChzLnByb3Ascyl9fSk7Zm9yKGxldCBzIG9mIGkpcy5yZW1vdmUoKTtmb3IobGV0IHMgb2Ygbi52YWx1ZXMoKSl7bGV0IGE9bmV3IE1hcDtmb3IobGV0IG8gb2Ygcyl7bGV0IGw9ck8oby52YWx1ZSk7bCE9PW51bGwmJihhLmhhcyhsKXx8YS5zZXQobCxuZXcgU2V0KSxhLmdldChsKS5hZGQobykpfWZvcihsZXQgbyBvZiBhLnZhbHVlcygpKXtsZXQgbD1BcnJheS5mcm9tKG8pLnNsaWNlKDAsLTEpO2ZvcihsZXQgYyBvZiBsKWMucmVtb3ZlKCl9fX0pfX1mdW5jdGlvbiByTyhyKXtsZXQgZT0vXi0/XGQqLj9cZCsoW1x3JV0rKT8kL2cuZXhlYyhyKTtyZXR1cm4gZT9lWzFdPz90TzpudWxsfXZhciB0Tyx3eT1QKCgpPT57dSgpO3RPPVN5bWJvbCgidW5pdGxlc3MtbnVtYmVyIil9KTtmdW5jdGlvbiBpTyhyKXtpZighci53YWxrQXRSdWxlcylyZXR1cm47bGV0IGU9bmV3IFNldDtpZihyLndhbGtBdFJ1bGVzKCJhcHBseSIsdD0+e2UuYWRkKHQucGFyZW50KX0pLGUuc2l6ZSE9PTApZm9yKGxldCB0IG9mIGUpe2xldCBpPVtdLG49W107Zm9yKGxldCBzIG9mIHQubm9kZXMpcy50eXBlPT09ImF0cnVsZSImJnMubmFtZT09PSJhcHBseSI/KG4ubGVuZ3RoPjAmJihpLnB1c2gobiksbj1bXSksaS5wdXNoKFtzXSkpOm4ucHVzaChzKTtpZihuLmxlbmd0aD4wJiZpLnB1c2gobiksaS5sZW5ndGghPT0xKXtmb3IobGV0IHMgb2ZbLi4uaV0ucmV2ZXJzZSgpKXtsZXQgYT10LmNsb25lKHtub2RlczpbXX0pO2EuYXBwZW5kKHMpLHQuYWZ0ZXIoYSl9dC5yZW1vdmUoKX19fWZ1bmN0aW9uIE9zKCl7cmV0dXJuIHI9PntpTyhyKX19dmFyIHZ5PVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBUcyhyKXtyZXR1cm4gYXN5bmMgZnVuY3Rpb24oZSx0KXtsZXR7dGFpbHdpbmREaXJlY3RpdmVzOmksYXBwbHlEaXJlY3RpdmVzOm59PU9sKGUpO09zKCkoZSx0KTtsZXQgcz1yKHt0YWlsd2luZERpcmVjdGl2ZXM6aSxhcHBseURpcmVjdGl2ZXM6bixyZWdpc3RlckRlcGVuZGVuY3koYSl7dC5tZXNzYWdlcy5wdXNoKHtwbHVnaW46InRhaWx3aW5kY3NzIixwYXJlbnQ6dC5vcHRzLmZyb20sLi4uYX0pfSxjcmVhdGVDb250ZXh0KGEsbyl7cmV0dXJuIGlsKGEsbyxlKX19KShlLHQpO2lmKHMudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yPT09Ii0iKXRocm93IG5ldyBFcnJvcigiVGhlICctJyBjaGFyYWN0ZXIgY2Fubm90IGJlIHVzZWQgYXMgYSBjdXN0b20gc2VwYXJhdG9yIGluIEpJVCBtb2RlIGR1ZSB0byBwYXJzaW5nIGFtYmlndWl0eS4gUGxlYXNlIHVzZSBhbm90aGVyIGNoYXJhY3RlciBsaWtlICdfJyBpbnN0ZWFkLiIpO1JmKHMudGFpbHdpbmRDb25maWcpLGF3YWl0IFBsKHMpKGUsdCksT3MoKShlLHQpLERsKHMpKGUsdCksY3kocykoZSx0KSxkeShzKShlLHQpLEhsKHMpKGUsdCksV2wocykoZSx0KSxHbChzKShlLHQpfX12YXIgeHk9UCgoKT0+e3UoKTtPZygpO0JnKCk7SGcoKTtweSgpO2h5KCk7Z3koKTtieSgpO3d5KCk7dnkoKTtPaSgpO2N0KCl9KTtmdW5jdGlvbiBreShyLGUpe2xldCB0PW51bGwsaT1udWxsO3JldHVybiByLndhbGtBdFJ1bGVzKCJjb25maWciLG49PntpZihpPW4uc291cmNlPy5pbnB1dC5maWxlPz9lLm9wdHMuZnJvbT8/bnVsbCxpPT09bnVsbCl0aHJvdyBuLmVycm9yKCJUaGUgYEBjb25maWdgIGRpcmVjdGl2ZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IHNldHRpbmcgYGZyb21gIGluIHlvdXIgUG9zdENTUyBjb25maWcuIik7aWYodCl0aHJvdyBuLmVycm9yKCJPbmx5IG9uZSBgQGNvbmZpZ2AgZGlyZWN0aXZlIGlzIGFsbG93ZWQgcGVyIGZpbGUuIik7bGV0IHM9bi5wYXJhbXMubWF0Y2goLyhbJyJdKSguKj8pXDEvKTtpZighcyl0aHJvdyBuLmVycm9yKCJBIHBhdGggaXMgcmVxdWlyZWQgd2hlbiB1c2luZyB0aGUgYEBjb25maWdgIGRpcmVjdGl2ZS4iKTtsZXQgYT1zWzJdO2lmKG1lLmlzQWJzb2x1dGUoYSkpdGhyb3cgbi5lcnJvcigiVGhlIGBAY29uZmlnYCBkaXJlY3RpdmUgY2Fubm90IGJlIHVzZWQgd2l0aCBhbiBhYnNvbHV0ZSBwYXRoLiIpO2lmKHQ9bWUucmVzb2x2ZShtZS5kaXJuYW1lKGkpLGEpLCFiZS5leGlzdHNTeW5jKHQpKXRocm93IG4uZXJyb3IoYFRoZSBjb25maWcgZmlsZSBhdCAiJHthfSIgZG9lcyBub3QgZXhpc3QuIE1ha2Ugc3VyZSB0aGUgcGF0aCBpcyBjb3JyZWN0IGFuZCB0aGUgZmlsZSBleGlzdHMuYCk7bi5yZW1vdmUoKX0pLHR8fG51bGx9dmFyIFN5PVAoKCk9Pnt1KCk7ZnQoKTtldCgpfSk7dmFyIEF5PXgoKFdxLFFsKT0+e3UoKTtFZygpO3h5KCk7SXQoKTtTeSgpO1FsLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJue3Bvc3Rjc3NQbHVnaW46InRhaWx3aW5kY3NzIixwbHVnaW5zOltaZS5ERUJVRyYmZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUubG9nKGAKYCksY29uc29sZS50aW1lKCJKSVQgVE9UQUwiKSx0fSxhc3luYyBmdW5jdGlvbih0LGkpe2U9a3kodCxpKT8/ZTtsZXQgbj1FbChlKTtpZih0LnR5cGU9PT0iZG9jdW1lbnQiKXtsZXQgcz10Lm5vZGVzLmZpbHRlcihhPT5hLnR5cGU9PT0icm9vdCIpO2ZvcihsZXQgYSBvZiBzKWEudHlwZT09PSJyb290IiYmYXdhaXQgVHMobikoYSxpKTtyZXR1cm59YXdhaXQgVHMobikodCxpKX0sWmUuREVCVUcmJmZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLnRpbWVFbmQoIkpJVCBUT1RBTCIpLGNvbnNvbGUubG9nKGAKYCksdH1dLmZpbHRlcihCb29sZWFuKX19O1FsLmV4cG9ydHMucG9zdGNzcz0hMH0pO3ZhciBfeT14KChHcSxDeSk9Pnt1KCk7Q3kuZXhwb3J0cz1BeSgpfSk7dmFyIFlsPXgoKFFxLEV5KT0+e3UoKTtFeS5leHBvcnRzPSgpPT5bImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTE0IiwiY2hyb21lIDExMyIsImNocm9tZSAxMDkiLCJlZGdlIDExNCIsImZpcmVmb3ggMTE0IiwiaW9zX3NhZiAxNi41IiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi4xIiwib3BlcmEgOTkiLCJzYWZhcmkgMTYuNSIsInNhbXN1bmcgMjEiXX0pO3ZhciBScz17fTtHZShScyx7YWdlbnRzOigpPT5uTyxmZWF0dXJlOigpPT5zT30pO2Z1bmN0aW9uIHNPKCl7cmV0dXJue3N0YXR1czoiY3IiLHRpdGxlOiJDU1MgRmVhdHVyZSBRdWVyaWVzIixzdGF0czp7aWU6eyI2IjoibiIsIjciOiJuIiwiOCI6Im4iLCI5IjoibiIsIjEwIjoibiIsIjExIjoibiIsIjUuNSI6Im4ifSxlZGdlOnsiMTIiOiJ5IiwiMTMiOiJ5IiwiMTQiOiJ5IiwiMTUiOiJ5IiwiMTYiOiJ5IiwiMTciOiJ5IiwiMTgiOiJ5IiwiNzkiOiJ5IiwiODAiOiJ5IiwiODEiOiJ5IiwiODMiOiJ5IiwiODQiOiJ5IiwiODUiOiJ5IiwiODYiOiJ5IiwiODciOiJ5IiwiODgiOiJ5IiwiODkiOiJ5IiwiOTAiOiJ5IiwiOTEiOiJ5IiwiOTIiOiJ5IiwiOTMiOiJ5IiwiOTQiOiJ5IiwiOTUiOiJ5IiwiOTYiOiJ5IiwiOTciOiJ5IiwiOTgiOiJ5IiwiOTkiOiJ5IiwiMTAwIjoieSIsIjEwMSI6InkiLCIxMDIiOiJ5IiwiMTAzIjoieSIsIjEwNCI6InkiLCIxMDUiOiJ5IiwiMTA2IjoieSIsIjEwNyI6InkiLCIxMDgiOiJ5IiwiMTA5IjoieSIsIjExMCI6InkiLCIxMTEiOiJ5IiwiMTEyIjoieSIsIjExMyI6InkiLCIxMTQiOiJ5In0sZmlyZWZveDp7IjIiOiJuIiwiMyI6Im4iLCI0IjoibiIsIjUiOiJuIiwiNiI6Im4iLCI3IjoibiIsIjgiOiJuIiwiOSI6Im4iLCIxMCI6Im4iLCIxMSI6Im4iLCIxMiI6Im4iLCIxMyI6Im4iLCIxNCI6Im4iLCIxNSI6Im4iLCIxNiI6Im4iLCIxNyI6Im4iLCIxOCI6Im4iLCIxOSI6Im4iLCIyMCI6Im4iLCIyMSI6Im4iLCIyMiI6InkiLCIyMyI6InkiLCIyNCI6InkiLCIyNSI6InkiLCIyNiI6InkiLCIyNyI6InkiLCIyOCI6InkiLCIyOSI6InkiLCIzMCI6InkiLCIzMSI6InkiLCIzMiI6InkiLCIzMyI6InkiLCIzNCI6InkiLCIzNSI6InkiLCIzNiI6InkiLCIzNyI6InkiLCIzOCI6InkiLCIzOSI6InkiLCI0MCI6InkiLCI0MSI6InkiLCI0MiI6InkiLCI0MyI6InkiLCI0NCI6InkiLCI0NSI6InkiLCI0NiI6InkiLCI0NyI6InkiLCI0OCI6InkiLCI0OSI6InkiLCI1MCI6InkiLCI1MSI6InkiLCI1MiI6InkiLCI1MyI6InkiLCI1NCI6InkiLCI1NSI6InkiLCI1NiI6InkiLCI1NyI6InkiLCI1OCI6InkiLCI1OSI6InkiLCI2MCI6InkiLCI2MSI6InkiLCI2MiI6InkiLCI2MyI6InkiLCI2NCI6InkiLCI2NSI6InkiLCI2NiI6InkiLCI2NyI6InkiLCI2OCI6InkiLCI2OSI6InkiLCI3MCI6InkiLCI3MSI6InkiLCI3MiI6InkiLCI3MyI6InkiLCI3NCI6InkiLCI3NSI6InkiLCI3NiI6InkiLCI3NyI6InkiLCI3OCI6InkiLCI3OSI6InkiLCI4MCI6InkiLCI4MSI6InkiLCI4MiI6InkiLCI4MyI6InkiLCI4NCI6InkiLCI4NSI6InkiLCI4NiI6InkiLCI4NyI6InkiLCI4OCI6InkiLCI4OSI6InkiLCI5MCI6InkiLCI5MSI6InkiLCI5MiI6InkiLCI5MyI6InkiLCI5NCI6InkiLCI5NSI6InkiLCI5NiI6InkiLCI5NyI6InkiLCI5OCI6InkiLCI5OSI6InkiLCIxMDAiOiJ5IiwiMTAxIjoieSIsIjEwMiI6InkiLCIxMDMiOiJ5IiwiMTA0IjoieSIsIjEwNSI6InkiLCIxMDYiOiJ5IiwiMTA3IjoieSIsIjEwOCI6InkiLCIxMDkiOiJ5IiwiMTEwIjoieSIsIjExMSI6InkiLCIxMTIiOiJ5IiwiMTEzIjoieSIsIjExNCI6InkiLCIxMTUiOiJ5IiwiMTE2IjoieSIsIjExNyI6InkiLCIzLjUiOiJuIiwiMy42IjoibiJ9LGNocm9tZTp7IjQiOiJuIiwiNSI6Im4iLCI2IjoibiIsIjciOiJuIiwiOCI6Im4iLCI5IjoibiIsIjEwIjoibiIsIjExIjoibiIsIjEyIjoibiIsIjEzIjoibiIsIjE0IjoibiIsIjE1IjoibiIsIjE2IjoibiIsIjE3IjoibiIsIjE4IjoibiIsIjE5IjoibiIsIjIwIjoibiIsIjIxIjoibiIsIjIyIjoibiIsIjIzIjoibiIsIjI0IjoibiIsIjI1IjoibiIsIjI2IjoibiIsIjI3IjoibiIsIjI4IjoieSIsIjI5IjoieSIsIjMwIjoieSIsIjMxIjoieSIsIjMyIjoieSIsIjMzIjoieSIsIjM0IjoieSIsIjM1IjoieSIsIjM2IjoieSIsIjM3IjoieSIsIjM4IjoieSIsIjM5IjoieSIsIjQwIjoieSIsIjQxIjoieSIsIjQyIjoieSIsIjQzIjoieSIsIjQ0IjoieSIsIjQ1IjoieSIsIjQ2IjoieSIsIjQ3IjoieSIsIjQ4IjoieSIsIjQ5IjoieSIsIjUwIjoieSIsIjUxIjoieSIsIjUyIjoieSIsIjUzIjoieSIsIjU0IjoieSIsIjU1IjoieSIsIjU2IjoieSIsIjU3IjoieSIsIjU4IjoieSIsIjU5IjoieSIsIjYwIjoieSIsIjYxIjoieSIsIjYyIjoieSIsIjYzIjoieSIsIjY0IjoieSIsIjY1IjoieSIsIjY2IjoieSIsIjY3IjoieSIsIjY4IjoieSIsIjY5IjoieSIsIjcwIjoieSIsIjcxIjoieSIsIjcyIjoieSIsIjczIjoieSIsIjc0IjoieSIsIjc1IjoieSIsIjc2IjoieSIsIjc3IjoieSIsIjc4IjoieSIsIjc5IjoieSIsIjgwIjoieSIsIjgxIjoieSIsIjgzIjoieSIsIjg0IjoieSIsIjg1IjoieSIsIjg2IjoieSIsIjg3IjoieSIsIjg4IjoieSIsIjg5IjoieSIsIjkwIjoieSIsIjkxIjoieSIsIjkyIjoieSIsIjkzIjoieSIsIjk0IjoieSIsIjk1IjoieSIsIjk2IjoieSIsIjk3IjoieSIsIjk4IjoieSIsIjk5IjoieSIsIjEwMCI6InkiLCIxMDEiOiJ5IiwiMTAyIjoieSIsIjEwMyI6InkiLCIxMDQiOiJ5IiwiMTA1IjoieSIsIjEwNiI6InkiLCIxMDciOiJ5IiwiMTA4IjoieSIsIjEwOSI6InkiLCIxMTAiOiJ5IiwiMTExIjoieSIsIjExMiI6InkiLCIxMTMiOiJ5IiwiMTE0IjoieSIsIjExNSI6InkiLCIxMTYiOiJ5IiwiMTE3IjoieSJ9LHNhZmFyaTp7IjQiOiJuIiwiNSI6Im4iLCI2IjoibiIsIjciOiJuIiwiOCI6Im4iLCI5IjoieSIsIjEwIjoieSIsIjExIjoieSIsIjEyIjoieSIsIjEzIjoieSIsIjE0IjoieSIsIjE1IjoieSIsIjE3IjoieSIsIjkuMSI6InkiLCIxMC4xIjoieSIsIjExLjEiOiJ5IiwiMTIuMSI6InkiLCIxMy4xIjoieSIsIjE0LjEiOiJ5IiwiMTUuMSI6InkiLCIxNS4yLTE1LjMiOiJ5IiwiMTUuNCI6InkiLCIxNS41IjoieSIsIjE1LjYiOiJ5IiwiMTYuMCI6InkiLCIxNi4xIjoieSIsIjE2LjIiOiJ5IiwiMTYuMyI6InkiLCIxNi40IjoieSIsIjE2LjUiOiJ5IiwiMTYuNiI6InkiLFRQOiJ5IiwiMy4xIjoibiIsIjMuMiI6Im4iLCI1LjEiOiJuIiwiNi4xIjoibiIsIjcuMSI6Im4ifSxvcGVyYTp7IjkiOiJuIiwiMTEiOiJuIiwiMTIiOiJuIiwiMTUiOiJ5IiwiMTYiOiJ5IiwiMTciOiJ5IiwiMTgiOiJ5IiwiMTkiOiJ5IiwiMjAiOiJ5IiwiMjEiOiJ5IiwiMjIiOiJ5IiwiMjMiOiJ5IiwiMjQiOiJ5IiwiMjUiOiJ5IiwiMjYiOiJ5IiwiMjciOiJ5IiwiMjgiOiJ5IiwiMjkiOiJ5IiwiMzAiOiJ5IiwiMzEiOiJ5IiwiMzIiOiJ5IiwiMzMiOiJ5IiwiMzQiOiJ5IiwiMzUiOiJ5IiwiMzYiOiJ5IiwiMzciOiJ5IiwiMzgiOiJ5IiwiMzkiOiJ5IiwiNDAiOiJ5IiwiNDEiOiJ5IiwiNDIiOiJ5IiwiNDMiOiJ5IiwiNDQiOiJ5IiwiNDUiOiJ5IiwiNDYiOiJ5IiwiNDciOiJ5IiwiNDgiOiJ5IiwiNDkiOiJ5IiwiNTAiOiJ5IiwiNTEiOiJ5IiwiNTIiOiJ5IiwiNTMiOiJ5IiwiNTQiOiJ5IiwiNTUiOiJ5IiwiNTYiOiJ5IiwiNTciOiJ5IiwiNTgiOiJ5IiwiNjAiOiJ5IiwiNjIiOiJ5IiwiNjMiOiJ5IiwiNjQiOiJ5IiwiNjUiOiJ5IiwiNjYiOiJ5IiwiNjciOiJ5IiwiNjgiOiJ5IiwiNjkiOiJ5IiwiNzAiOiJ5IiwiNzEiOiJ5IiwiNzIiOiJ5IiwiNzMiOiJ5IiwiNzQiOiJ5IiwiNzUiOiJ5IiwiNzYiOiJ5IiwiNzciOiJ5IiwiNzgiOiJ5IiwiNzkiOiJ5IiwiODAiOiJ5IiwiODEiOiJ5IiwiODIiOiJ5IiwiODMiOiJ5IiwiODQiOiJ5IiwiODUiOiJ5IiwiODYiOiJ5IiwiODciOiJ5IiwiODgiOiJ5IiwiODkiOiJ5IiwiOTAiOiJ5IiwiOTEiOiJ5IiwiOTIiOiJ5IiwiOTMiOiJ5IiwiOTQiOiJ5IiwiOTUiOiJ5IiwiOTYiOiJ5IiwiOTciOiJ5IiwiOTgiOiJ5IiwiOTkiOiJ5IiwiMTAwIjoieSIsIjEyLjEiOiJ5IiwiOS41LTkuNiI6Im4iLCIxMC4wLTEwLjEiOiJuIiwiMTAuNSI6Im4iLCIxMC42IjoibiIsIjExLjEiOiJuIiwiMTEuNSI6Im4iLCIxMS42IjoibiJ9LGlvc19zYWY6eyI4IjoibiIsIjE3IjoieSIsIjkuMC05LjIiOiJ5IiwiOS4zIjoieSIsIjEwLjAtMTAuMiI6InkiLCIxMC4zIjoieSIsIjExLjAtMTEuMiI6InkiLCIxMS4zLTExLjQiOiJ5IiwiMTIuMC0xMi4xIjoieSIsIjEyLjItMTIuNSI6InkiLCIxMy4wLTEzLjEiOiJ5IiwiMTMuMiI6InkiLCIxMy4zIjoieSIsIjEzLjQtMTMuNyI6InkiLCIxNC4wLTE0LjQiOiJ5IiwiMTQuNS0xNC44IjoieSIsIjE1LjAtMTUuMSI6InkiLCIxNS4yLTE1LjMiOiJ5IiwiMTUuNCI6InkiLCIxNS41IjoieSIsIjE1LjYiOiJ5IiwiMTYuMCI6InkiLCIxNi4xIjoieSIsIjE2LjIiOiJ5IiwiMTYuMyI6InkiLCIxNi40IjoieSIsIjE2LjUiOiJ5IiwiMTYuNiI6InkiLCIzLjIiOiJuIiwiNC4wLTQuMSI6Im4iLCI0LjItNC4zIjoibiIsIjUuMC01LjEiOiJuIiwiNi4wLTYuMSI6Im4iLCI3LjAtNy4xIjoibiIsIjguMS04LjQiOiJuIn0sb3BfbWluaTp7YWxsOiJ5In0sYW5kcm9pZDp7IjMiOiJuIiwiNCI6Im4iLCIxMTQiOiJ5IiwiNC40IjoieSIsIjQuNC4zLTQuNC40IjoieSIsIjIuMSI6Im4iLCIyLjIiOiJuIiwiMi4zIjoibiIsIjQuMSI6Im4iLCI0LjItNC4zIjoibiJ9LGJiOnsiNyI6Im4iLCIxMCI6Im4ifSxvcF9tb2I6eyIxMCI6Im4iLCIxMSI6Im4iLCIxMiI6Im4iLCI3MyI6InkiLCIxMS4xIjoibiIsIjExLjUiOiJuIiwiMTIuMSI6Im4ifSxhbmRfY2hyOnsiMTE0IjoieSJ9LGFuZF9mZjp7IjExNSI6InkifSxpZV9tb2I6eyIxMCI6Im4iLCIxMSI6Im4ifSxhbmRfdWM6eyIxNS41IjoieSJ9LHNhbXN1bmc6eyI0IjoieSIsIjIwIjoieSIsIjIxIjoieSIsIjUuMC01LjQiOiJ5IiwiNi4yLTYuNCI6InkiLCI3LjItNy40IjoieSIsIjguMiI6InkiLCI5LjIiOiJ5IiwiMTAuMSI6InkiLCIxMS4xLTExLjIiOiJ5IiwiMTIuMCI6InkiLCIxMy4wIjoieSIsIjE0LjAiOiJ5IiwiMTUuMCI6InkiLCIxNi4wIjoieSIsIjE3LjAiOiJ5IiwiMTguMCI6InkiLCIxOS4wIjoieSJ9LGFuZF9xcTp7IjEzLjEiOiJ5In0sYmFpZHU6eyIxMy4xOCI6InkifSxrYWlvczp7IjIuNSI6InkiLCIzLjAtMy4xIjoieSJ9fX19dmFyIG5PLFBzPVAoKCk9Pnt1KCk7bk89e2llOntwcmVmaXg6Im1zIn0sZWRnZTp7cHJlZml4OiJ3ZWJraXQiLHByZWZpeF9leGNlcHRpb25zOnsiMTIiOiJtcyIsIjEzIjoibXMiLCIxNCI6Im1zIiwiMTUiOiJtcyIsIjE2IjoibXMiLCIxNyI6Im1zIiwiMTgiOiJtcyJ9fSxmaXJlZm94OntwcmVmaXg6Im1veiJ9LGNocm9tZTp7cHJlZml4OiJ3ZWJraXQifSxzYWZhcmk6e3ByZWZpeDoid2Via2l0In0sb3BlcmE6e3ByZWZpeDoid2Via2l0IixwcmVmaXhfZXhjZXB0aW9uczp7IjkiOiJvIiwiMTEiOiJvIiwiMTIiOiJvIiwiOS41LTkuNiI6Im8iLCIxMC4wLTEwLjEiOiJvIiwiMTAuNSI6Im8iLCIxMC42IjoibyIsIjExLjEiOiJvIiwiMTEuNSI6Im8iLCIxMS42IjoibyIsIjEyLjEiOiJvIn19LGlvc19zYWY6e3ByZWZpeDoid2Via2l0In0sb3BfbWluaTp7cHJlZml4OiJvIn0sYW5kcm9pZDp7cHJlZml4OiJ3ZWJraXQifSxiYjp7cHJlZml4OiJ3ZWJraXQifSxvcF9tb2I6e3ByZWZpeDoibyIscHJlZml4X2V4Y2VwdGlvbnM6eyI3MyI6IndlYmtpdCJ9fSxhbmRfY2hyOntwcmVmaXg6IndlYmtpdCJ9LGFuZF9mZjp7cHJlZml4OiJtb3oifSxpZV9tb2I6e3ByZWZpeDoibXMifSxhbmRfdWM6e3ByZWZpeDoid2Via2l0IixwcmVmaXhfZXhjZXB0aW9uczp7IjE1LjUiOiJ3ZWJraXQifX0sc2Ftc3VuZzp7cHJlZml4OiJ3ZWJraXQifSxhbmRfcXE6e3ByZWZpeDoid2Via2l0In0sYmFpZHU6e3ByZWZpeDoid2Via2l0In0sa2Fpb3M6e3ByZWZpeDoibW96In19fSk7dmFyIE95PXgoKCk9Pnt1KCl9KTt2YXIgX2U9eCgoWHEsTHQpPT57dSgpO3ZhcntsaXN0OktsfT0kZSgpO0x0LmV4cG9ydHMuZXJyb3I9ZnVuY3Rpb24ocil7bGV0IGU9bmV3IEVycm9yKHIpO3Rocm93IGUuYXV0b3ByZWZpeGVyPSEwLGV9O0x0LmV4cG9ydHMudW5pcT1mdW5jdGlvbihyKXtyZXR1cm5bLi4ubmV3IFNldChyKV19O0x0LmV4cG9ydHMucmVtb3ZlTm90ZT1mdW5jdGlvbihyKXtyZXR1cm4gci5pbmNsdWRlcygiICIpP3Iuc3BsaXQoIiAiKVswXTpyfTtMdC5leHBvcnRzLmVzY2FwZVJlZ2V4cD1mdW5jdGlvbihyKXtyZXR1cm4gci5yZXBsYWNlKC9bJCgpKistLj9bXFxcXV57fH1dL2csIlxcJCYiKX07THQuZXhwb3J0cy5yZWdleHA9ZnVuY3Rpb24ocixlPSEwKXtyZXR1cm4gZSYmKHI9dGhpcy5lc2NhcGVSZWdleHAocikpLG5ldyBSZWdFeHAoYChefFtcXHMsKF0pKCR7cn0oJHxbXFxzKCxdKSlgLCJnaSIpfTtMdC5leHBvcnRzLmVkaXRMaXN0PWZ1bmN0aW9uKHIsZSl7bGV0IHQ9S2wuY29tbWEociksaT1lKHQsW10pO2lmKHQ9PT1pKXJldHVybiByO2xldCBuPXIubWF0Y2goLyxccyovKTtyZXR1cm4gbj1uP25bMF06IiwgIixpLmpvaW4obil9O0x0LmV4cG9ydHMuc3BsaXRTZWxlY3Rvcj1mdW5jdGlvbihyKXtyZXR1cm4gS2wuY29tbWEocikubWFwKGU9PktsLnNwYWNlKGUpLm1hcCh0PT50LnNwbGl0KC8oPz1cLnwjKS9nKSkpfX0pO3ZhciBNdD14KChacSxQeSk9Pnt1KCk7dmFyIGFPPVlsKCksVHk9KFBzKCksUnMpLmFnZW50cyxvTz1fZSgpLFJ5PWNsYXNze3N0YXRpYyBwcmVmaXhlcygpe2lmKHRoaXMucHJlZml4ZXNDYWNoZSlyZXR1cm4gdGhpcy5wcmVmaXhlc0NhY2hlO3RoaXMucHJlZml4ZXNDYWNoZT1bXTtmb3IobGV0IGUgaW4gVHkpdGhpcy5wcmVmaXhlc0NhY2hlLnB1c2goYC0ke1R5W2VdLnByZWZpeH0tYCk7cmV0dXJuIHRoaXMucHJlZml4ZXNDYWNoZT1vTy51bmlxKHRoaXMucHJlZml4ZXNDYWNoZSkuc29ydCgoZSx0KT0+dC5sZW5ndGgtZS5sZW5ndGgpLHRoaXMucHJlZml4ZXNDYWNoZX1zdGF0aWMgd2l0aFByZWZpeChlKXtyZXR1cm4gdGhpcy5wcmVmaXhlc1JlZ2V4cHx8KHRoaXMucHJlZml4ZXNSZWdleHA9bmV3IFJlZ0V4cCh0aGlzLnByZWZpeGVzKCkuam9pbigifCIpKSksdGhpcy5wcmVmaXhlc1JlZ2V4cC50ZXN0KGUpfWNvbnN0cnVjdG9yKGUsdCxpLG4pe3RoaXMuZGF0YT1lLHRoaXMub3B0aW9ucz1pfHx7fSx0aGlzLmJyb3dzZXJzbGlzdE9wdHM9bnx8e30sdGhpcy5zZWxlY3RlZD10aGlzLnBhcnNlKHQpfXBhcnNlKGUpe2xldCB0PXt9O2ZvcihsZXQgaSBpbiB0aGlzLmJyb3dzZXJzbGlzdE9wdHMpdFtpXT10aGlzLmJyb3dzZXJzbGlzdE9wdHNbaV07cmV0dXJuIHQucGF0aD10aGlzLm9wdGlvbnMuZnJvbSxhTyhlLHQpfXByZWZpeChlKXtsZXRbdCxpXT1lLnNwbGl0KCIgIiksbj10aGlzLmRhdGFbdF0scz1uLnByZWZpeF9leGNlcHRpb25zJiZuLnByZWZpeF9leGNlcHRpb25zW2ldO3JldHVybiBzfHwocz1uLnByZWZpeCksYC0ke3N9LWB9aXNTZWxlY3RlZChlKXtyZXR1cm4gdGhpcy5zZWxlY3RlZC5pbmNsdWRlcyhlKX19O1B5LmV4cG9ydHM9Unl9KTt2YXIgTmk9eCgoSnEsSXkpPT57dSgpO0l5LmV4cG9ydHM9e3ByZWZpeChyKXtsZXQgZT1yLm1hdGNoKC9eKC1cdystKS8pO3JldHVybiBlP2VbMF06IiJ9LHVucHJlZml4ZWQocil7cmV0dXJuIHIucmVwbGFjZSgvXi1cdystLywiIil9fX0pO3ZhciB3cj14KChlJCxxeSk9Pnt1KCk7dmFyIGxPPU10KCksRHk9TmkoKSx1Tz1fZSgpO2Z1bmN0aW9uIFhsKHIsZSl7bGV0IHQ9bmV3IHIuY29uc3RydWN0b3I7Zm9yKGxldCBpIG9mIE9iamVjdC5rZXlzKHJ8fHt9KSl7bGV0IG49cltpXTtpPT09InBhcmVudCImJnR5cGVvZiBuPT0ib2JqZWN0Ij9lJiYodFtpXT1lKTppPT09InNvdXJjZSJ8fGk9PT1udWxsP3RbaV09bjpBcnJheS5pc0FycmF5KG4pP3RbaV09bi5tYXAocz0+WGwocyx0KSk6aSE9PSJfYXV0b3ByZWZpeGVyUHJlZml4IiYmaSE9PSJfYXV0b3ByZWZpeGVyVmFsdWVzIiYmaSE9PSJwcm94eUNhY2hlIiYmKHR5cGVvZiBuPT0ib2JqZWN0IiYmbiE9PW51bGwmJihuPVhsKG4sdCkpLHRbaV09bil9cmV0dXJuIHR9dmFyIElzPWNsYXNze3N0YXRpYyBoYWNrKGUpe3JldHVybiB0aGlzLmhhY2tzfHwodGhpcy5oYWNrcz17fSksZS5uYW1lcy5tYXAodD0+KHRoaXMuaGFja3NbdF09ZSx0aGlzLmhhY2tzW3RdKSl9c3RhdGljIGxvYWQoZSx0LGkpe2xldCBuPXRoaXMuaGFja3MmJnRoaXMuaGFja3NbZV07cmV0dXJuIG4/bmV3IG4oZSx0LGkpOm5ldyB0aGlzKGUsdCxpKX1zdGF0aWMgY2xvbmUoZSx0KXtsZXQgaT1YbChlKTtmb3IobGV0IG4gaW4gdClpW25dPXRbbl07cmV0dXJuIGl9Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMucHJlZml4ZXM9dCx0aGlzLm5hbWU9ZSx0aGlzLmFsbD1pfXBhcmVudFByZWZpeChlKXtsZXQgdDtyZXR1cm4gdHlwZW9mIGUuX2F1dG9wcmVmaXhlclByZWZpeCE9InVuZGVmaW5lZCI/dD1lLl9hdXRvcHJlZml4ZXJQcmVmaXg6ZS50eXBlPT09ImRlY2wiJiZlLnByb3BbMF09PT0iLSI/dD1EeS5wcmVmaXgoZS5wcm9wKTplLnR5cGU9PT0icm9vdCI/dD0hMTplLnR5cGU9PT0icnVsZSImJmUuc2VsZWN0b3IuaW5jbHVkZXMoIjotIikmJi86KC1cdystKS8udGVzdChlLnNlbGVjdG9yKT90PWUuc2VsZWN0b3IubWF0Y2goLzooLVx3Ky0pLylbMV06ZS50eXBlPT09ImF0cnVsZSImJmUubmFtZVswXT09PSItIj90PUR5LnByZWZpeChlLm5hbWUpOnQ9dGhpcy5wYXJlbnRQcmVmaXgoZS5wYXJlbnQpLGxPLnByZWZpeGVzKCkuaW5jbHVkZXModCl8fCh0PSExKSxlLl9hdXRvcHJlZml4ZXJQcmVmaXg9dCxlLl9hdXRvcHJlZml4ZXJQcmVmaXh9cHJvY2VzcyhlLHQpe2lmKCF0aGlzLmNoZWNrKGUpKXJldHVybjtsZXQgaT10aGlzLnBhcmVudFByZWZpeChlKSxuPXRoaXMucHJlZml4ZXMuZmlsdGVyKGE9PiFpfHxpPT09dU8ucmVtb3ZlTm90ZShhKSkscz1bXTtmb3IobGV0IGEgb2Ygbil0aGlzLmFkZChlLGEscy5jb25jYXQoW2FdKSx0KSYmcy5wdXNoKGEpO3JldHVybiBzfWNsb25lKGUsdCl7cmV0dXJuIElzLmNsb25lKGUsdCl9fTtxeS5leHBvcnRzPUlzfSk7dmFyIGo9eCgodCQsTXkpPT57dSgpO3ZhciBmTz13cigpLGNPPU10KCksJHk9X2UoKSxMeT1jbGFzcyBleHRlbmRzIGZPe2NoZWNrKCl7cmV0dXJuITB9cHJlZml4ZWQoZSx0KXtyZXR1cm4gdCtlfW5vcm1hbGl6ZShlKXtyZXR1cm4gZX1vdGhlclByZWZpeGVzKGUsdCl7Zm9yKGxldCBpIG9mIGNPLnByZWZpeGVzKCkpaWYoaSE9PXQmJmUuaW5jbHVkZXMoaSkpcmV0dXJuITA7cmV0dXJuITF9c2V0KGUsdCl7cmV0dXJuIGUucHJvcD10aGlzLnByZWZpeGVkKGUucHJvcCx0KSxlfW5lZWRDYXNjYWRlKGUpe3JldHVybiBlLl9hdXRvcHJlZml4ZXJDYXNjYWRlfHwoZS5fYXV0b3ByZWZpeGVyQ2FzY2FkZT10aGlzLmFsbC5vcHRpb25zLmNhc2NhZGUhPT0hMSYmZS5yYXcoImJlZm9yZSIpLmluY2x1ZGVzKGAKYCkpLGUuX2F1dG9wcmVmaXhlckNhc2NhZGV9bWF4UHJlZml4ZWQoZSx0KXtpZih0Ll9hdXRvcHJlZml4ZXJNYXgpcmV0dXJuIHQuX2F1dG9wcmVmaXhlck1heDtsZXQgaT0wO2ZvcihsZXQgbiBvZiBlKW49JHkucmVtb3ZlTm90ZShuKSxuLmxlbmd0aD5pJiYoaT1uLmxlbmd0aCk7cmV0dXJuIHQuX2F1dG9wcmVmaXhlck1heD1pLHQuX2F1dG9wcmVmaXhlck1heH1jYWxjQmVmb3JlKGUsdCxpPSIiKXtsZXQgcz10aGlzLm1heFByZWZpeGVkKGUsdCktJHkucmVtb3ZlTm90ZShpKS5sZW5ndGgsYT10LnJhdygiYmVmb3JlIik7cmV0dXJuIHM+MCYmKGErPUFycmF5KHMpLmZpbGwoIiAiKS5qb2luKCIiKSksYX1yZXN0b3JlQmVmb3JlKGUpe2xldCB0PWUucmF3KCJiZWZvcmUiKS5zcGxpdChgCmApLGk9dFt0Lmxlbmd0aC0xXTt0aGlzLmFsbC5ncm91cChlKS51cChuPT57bGV0IHM9bi5yYXcoImJlZm9yZSIpLnNwbGl0KGAKYCksYT1zW3MubGVuZ3RoLTFdO2EubGVuZ3RoPGkubGVuZ3RoJiYoaT1hKX0pLHRbdC5sZW5ndGgtMV09aSxlLnJhd3MuYmVmb3JlPXQuam9pbihgCmApfWluc2VydChlLHQsaSl7bGV0IG49dGhpcy5zZXQodGhpcy5jbG9uZShlKSx0KTtpZighKCFufHxlLnBhcmVudC5zb21lKGE9PmEucHJvcD09PW4ucHJvcCYmYS52YWx1ZT09PW4udmFsdWUpKSlyZXR1cm4gdGhpcy5uZWVkQ2FzY2FkZShlKSYmKG4ucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSksZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbil9aXNBbHJlYWR5KGUsdCl7bGV0IGk9dGhpcy5hbGwuZ3JvdXAoZSkudXAobj0+bi5wcm9wPT09dCk7cmV0dXJuIGl8fChpPXRoaXMuYWxsLmdyb3VwKGUpLmRvd24obj0+bi5wcm9wPT09dCkpLGl9YWRkKGUsdCxpLG4pe2xldCBzPXRoaXMucHJlZml4ZWQoZS5wcm9wLHQpO2lmKCEodGhpcy5pc0FscmVhZHkoZSxzKXx8dGhpcy5vdGhlclByZWZpeGVzKGUudmFsdWUsdCkpKXJldHVybiB0aGlzLmluc2VydChlLHQsaSxuKX1wcm9jZXNzKGUsdCl7aWYoIXRoaXMubmVlZENhc2NhZGUoZSkpe3N1cGVyLnByb2Nlc3MoZSx0KTtyZXR1cm59bGV0IGk9c3VwZXIucHJvY2VzcyhlLHQpOyFpfHwhaS5sZW5ndGh8fCh0aGlzLnJlc3RvcmVCZWZvcmUoZSksZS5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlKSl9b2xkKGUsdCl7cmV0dXJuW3RoaXMucHJlZml4ZWQoZSx0KV19fTtNeS5leHBvcnRzPUx5fSk7dmFyIEJ5PXgoKHIkLE55KT0+e3UoKTtOeS5leHBvcnRzPWZ1bmN0aW9uIHIoZSl7cmV0dXJue211bDp0PT5uZXcgcihlKnQpLGRpdjp0PT5uZXcgcihlL3QpLHNpbXBsaWZ5OigpPT5uZXcgcihlKSx0b1N0cmluZzooKT0+ZS50b1N0cmluZygpfX19KTt2YXIgenk9eCgoaSQsankpPT57dSgpO3ZhciBwTz1CeSgpLGRPPXdyKCksWmw9X2UoKSxoTz0vKG1pbnxtYXgpLXJlc29sdXRpb25ccyo6XHMqXGQqXC4/XGQrKGRwcHh8ZHBjbXxkcGl8eCkvZ2ksbU89LyhtaW58bWF4KS1yZXNvbHV0aW9uKFxzKjpccyopKFxkKlwuP1xkKykoZHBweHxkcGNtfGRwaXx4KS9pLEZ5PWNsYXNzIGV4dGVuZHMgZE97cHJlZml4TmFtZShlLHQpe3JldHVybiBlPT09Ii1tb3otIj90KyItLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW8iOmUrdCsiLWRldmljZS1waXhlbC1yYXRpbyJ9cHJlZml4UXVlcnkoZSx0LGksbixzKXtyZXR1cm4gbj1uZXcgcE8obikscz09PSJkcGkiP249bi5kaXYoOTYpOnM9PT0iZHBjbSImJihuPW4ubXVsKDIuNTQpLmRpdig5NikpLG49bi5zaW1wbGlmeSgpLGU9PT0iLW8tIiYmKG49bi5uKyIvIituLmQpLHRoaXMucHJlZml4TmFtZShlLHQpK2krbn1jbGVhbihlKXtpZighdGhpcy5iYWQpe3RoaXMuYmFkPVtdO2ZvcihsZXQgdCBvZiB0aGlzLnByZWZpeGVzKXRoaXMuYmFkLnB1c2godGhpcy5wcmVmaXhOYW1lKHQsIm1pbiIpKSx0aGlzLmJhZC5wdXNoKHRoaXMucHJlZml4TmFtZSh0LCJtYXgiKSl9ZS5wYXJhbXM9WmwuZWRpdExpc3QoZS5wYXJhbXMsdD0+dC5maWx0ZXIoaT0+dGhpcy5iYWQuZXZlcnkobj0+IWkuaW5jbHVkZXMobikpKSl9cHJvY2VzcyhlKXtsZXQgdD10aGlzLnBhcmVudFByZWZpeChlKSxpPXQ/W3RdOnRoaXMucHJlZml4ZXM7ZS5wYXJhbXM9WmwuZWRpdExpc3QoZS5wYXJhbXMsKG4scyk9Pntmb3IobGV0IGEgb2Ygbil7aWYoIWEuaW5jbHVkZXMoIm1pbi1yZXNvbHV0aW9uIikmJiFhLmluY2x1ZGVzKCJtYXgtcmVzb2x1dGlvbiIpKXtzLnB1c2goYSk7Y29udGludWV9Zm9yKGxldCBvIG9mIGkpe2xldCBsPWEucmVwbGFjZShoTyxjPT57bGV0IGY9Yy5tYXRjaChtTyk7cmV0dXJuIHRoaXMucHJlZml4UXVlcnkobyxmWzFdLGZbMl0sZlszXSxmWzRdKX0pO3MucHVzaChsKX1zLnB1c2goYSl9cmV0dXJuIFpsLnVuaXEocyl9KX19O2p5LmV4cG9ydHM9Rnl9KTt2YXIgVnk9eCgobiQsVXkpPT57dSgpO3ZhciBKbD0iKCIuY2hhckNvZGVBdCgwKSxldT0iKSIuY2hhckNvZGVBdCgwKSxEcz0iJyIuY2hhckNvZGVBdCgwKSx0dT0nIicuY2hhckNvZGVBdCgwKSxydT0iXFwiLmNoYXJDb2RlQXQoMCksdnI9Ii8iLmNoYXJDb2RlQXQoMCksaXU9IiwiLmNoYXJDb2RlQXQoMCksbnU9IjoiLmNoYXJDb2RlQXQoMCkscXM9IioiLmNoYXJDb2RlQXQoMCksZ089InUiLmNoYXJDb2RlQXQoMCkseU89IlUiLmNoYXJDb2RlQXQoMCksYk89IisiLmNoYXJDb2RlQXQoMCksd089L15bYS1mMC05Py1dKyQvaTtVeS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Zvcih2YXIgZT1bXSx0PXIsaSxuLHMsYSxvLGwsYyxmLGQ9MCxwPXQuY2hhckNvZGVBdChkKSxoPXQubGVuZ3RoLGI9W3tub2RlczplfV0sdj0wLHksdz0iIixrPSIiLFM9IiI7ZDxoOylpZihwPD0zMil7aT1kO2RvIGkrPTEscD10LmNoYXJDb2RlQXQoaSk7d2hpbGUocDw9MzIpO2E9dC5zbGljZShkLGkpLHM9ZVtlLmxlbmd0aC0xXSxwPT09ZXUmJnY/Uz1hOnMmJnMudHlwZT09PSJkaXYiPyhzLmFmdGVyPWEscy5zb3VyY2VFbmRJbmRleCs9YS5sZW5ndGgpOnA9PT1pdXx8cD09PW51fHxwPT09dnImJnQuY2hhckNvZGVBdChpKzEpIT09cXMmJigheXx8eSYmeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZSE9PSJjYWxjIik/az1hOmUucHVzaCh7dHlwZToic3BhY2UiLHNvdXJjZUluZGV4OmQsc291cmNlRW5kSW5kZXg6aSx2YWx1ZTphfSksZD1pfWVsc2UgaWYocD09PURzfHxwPT09dHUpe2k9ZCxuPXA9PT1Ecz8iJyI6JyInLGE9e3R5cGU6InN0cmluZyIsc291cmNlSW5kZXg6ZCxxdW90ZTpufTtkbyBpZihvPSExLGk9dC5pbmRleE9mKG4saSsxKSx+aSlmb3IobD1pO3QuY2hhckNvZGVBdChsLTEpPT09cnU7KWwtPTEsbz0hbztlbHNlIHQrPW4saT10Lmxlbmd0aC0xLGEudW5jbG9zZWQ9ITA7d2hpbGUobyk7YS52YWx1ZT10LnNsaWNlKGQrMSxpKSxhLnNvdXJjZUVuZEluZGV4PWEudW5jbG9zZWQ/aTppKzEsZS5wdXNoKGEpLGQ9aSsxLHA9dC5jaGFyQ29kZUF0KGQpfWVsc2UgaWYocD09PXZyJiZ0LmNoYXJDb2RlQXQoZCsxKT09PXFzKWk9dC5pbmRleE9mKCIqLyIsZCksYT17dHlwZToiY29tbWVudCIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDppKzJ9LGk9PT0tMSYmKGEudW5jbG9zZWQ9ITAsaT10Lmxlbmd0aCxhLnNvdXJjZUVuZEluZGV4PWkpLGEudmFsdWU9dC5zbGljZShkKzIsaSksZS5wdXNoKGEpLGQ9aSsyLHA9dC5jaGFyQ29kZUF0KGQpO2Vsc2UgaWYoKHA9PT12cnx8cD09PXFzKSYmeSYmeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZT09PSJjYWxjIilhPXRbZF0sZS5wdXNoKHt0eXBlOiJ3b3JkIixzb3VyY2VJbmRleDpkLWsubGVuZ3RoLHNvdXJjZUVuZEluZGV4OmQrYS5sZW5ndGgsdmFsdWU6YX0pLGQrPTEscD10LmNoYXJDb2RlQXQoZCk7ZWxzZSBpZihwPT09dnJ8fHA9PT1pdXx8cD09PW51KWE9dFtkXSxlLnB1c2goe3R5cGU6ImRpdiIsc291cmNlSW5kZXg6ZC1rLmxlbmd0aCxzb3VyY2VFbmRJbmRleDpkK2EubGVuZ3RoLHZhbHVlOmEsYmVmb3JlOmssYWZ0ZXI6IiJ9KSxrPSIiLGQrPTEscD10LmNoYXJDb2RlQXQoZCk7ZWxzZSBpZihKbD09PXApe2k9ZDtkbyBpKz0xLHA9dC5jaGFyQ29kZUF0KGkpO3doaWxlKHA8PTMyKTtpZihmPWQsYT17dHlwZToiZnVuY3Rpb24iLHNvdXJjZUluZGV4OmQtdy5sZW5ndGgsdmFsdWU6dyxiZWZvcmU6dC5zbGljZShmKzEsaSl9LGQ9aSx3PT09InVybCImJnAhPT1EcyYmcCE9PXR1KXtpLT0xO2RvIGlmKG89ITEsaT10LmluZGV4T2YoIikiLGkrMSksfmkpZm9yKGw9aTt0LmNoYXJDb2RlQXQobC0xKT09PXJ1OylsLT0xLG89IW87ZWxzZSB0Kz0iKSIsaT10Lmxlbmd0aC0xLGEudW5jbG9zZWQ9ITA7d2hpbGUobyk7Yz1pO2RvIGMtPTEscD10LmNoYXJDb2RlQXQoYyk7d2hpbGUocDw9MzIpO2Y8Yz8oZCE9PWMrMT9hLm5vZGVzPVt7dHlwZToid29yZCIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDpjKzEsdmFsdWU6dC5zbGljZShkLGMrMSl9XTphLm5vZGVzPVtdLGEudW5jbG9zZWQmJmMrMSE9PWk/KGEuYWZ0ZXI9IiIsYS5ub2Rlcy5wdXNoKHt0eXBlOiJzcGFjZSIsc291cmNlSW5kZXg6YysxLHNvdXJjZUVuZEluZGV4OmksdmFsdWU6dC5zbGljZShjKzEsaSl9KSk6KGEuYWZ0ZXI9dC5zbGljZShjKzEsaSksYS5zb3VyY2VFbmRJbmRleD1pKSk6KGEuYWZ0ZXI9IiIsYS5ub2Rlcz1bXSksZD1pKzEsYS5zb3VyY2VFbmRJbmRleD1hLnVuY2xvc2VkP2k6ZCxwPXQuY2hhckNvZGVBdChkKSxlLnB1c2goYSl9ZWxzZSB2Kz0xLGEuYWZ0ZXI9IiIsYS5zb3VyY2VFbmRJbmRleD1kKzEsZS5wdXNoKGEpLGIucHVzaChhKSxlPWEubm9kZXM9W10seT1hO3c9IiJ9ZWxzZSBpZihldT09PXAmJnYpZCs9MSxwPXQuY2hhckNvZGVBdChkKSx5LmFmdGVyPVMseS5zb3VyY2VFbmRJbmRleCs9Uy5sZW5ndGgsUz0iIix2LT0xLGJbYi5sZW5ndGgtMV0uc291cmNlRW5kSW5kZXg9ZCxiLnBvcCgpLHk9Ylt2XSxlPXkubm9kZXM7ZWxzZXtpPWQ7ZG8gcD09PXJ1JiYoaSs9MSksaSs9MSxwPXQuY2hhckNvZGVBdChpKTt3aGlsZShpPGgmJiEocDw9MzJ8fHA9PT1Ec3x8cD09PXR1fHxwPT09aXV8fHA9PT1udXx8cD09PXZyfHxwPT09Smx8fHA9PT1xcyYmeSYmeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZT09PSJjYWxjInx8cD09PXZyJiZ5LnR5cGU9PT0iZnVuY3Rpb24iJiZ5LnZhbHVlPT09ImNhbGMifHxwPT09ZXUmJnYpKTthPXQuc2xpY2UoZCxpKSxKbD09PXA/dz1hOihnTz09PWEuY2hhckNvZGVBdCgwKXx8eU89PT1hLmNoYXJDb2RlQXQoMCkpJiZiTz09PWEuY2hhckNvZGVBdCgxKSYmd08udGVzdChhLnNsaWNlKDIpKT9lLnB1c2goe3R5cGU6InVuaWNvZGUtcmFuZ2UiLHNvdXJjZUluZGV4OmQsc291cmNlRW5kSW5kZXg6aSx2YWx1ZTphfSk6ZS5wdXNoKHt0eXBlOiJ3b3JkIixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmksdmFsdWU6YX0pLGQ9aX1mb3IoZD1iLmxlbmd0aC0xO2Q7ZC09MSliW2RdLnVuY2xvc2VkPSEwLGJbZF0uc291cmNlRW5kSW5kZXg9dC5sZW5ndGg7cmV0dXJuIGJbMF0ubm9kZXN9fSk7dmFyIFd5PXgoKHMkLEh5KT0+e3UoKTtIeS5leHBvcnRzPWZ1bmN0aW9uIHIoZSx0LGkpe3ZhciBuLHMsYSxvO2ZvcihuPTAscz1lLmxlbmd0aDtuPHM7bis9MSlhPWVbbl0saXx8KG89dChhLG4sZSkpLG8hPT0hMSYmYS50eXBlPT09ImZ1bmN0aW9uIiYmQXJyYXkuaXNBcnJheShhLm5vZGVzKSYmcihhLm5vZGVzLHQsaSksaSYmdChhLG4sZSl9fSk7dmFyIEt5PXgoKGEkLFl5KT0+e3UoKTtmdW5jdGlvbiBHeShyLGUpe3ZhciB0PXIudHlwZSxpPXIudmFsdWUsbixzO3JldHVybiBlJiYocz1lKHIpKSE9PXZvaWQgMD9zOnQ9PT0id29yZCJ8fHQ9PT0ic3BhY2UiP2k6dD09PSJzdHJpbmciPyhuPXIucXVvdGV8fCIiLG4raSsoci51bmNsb3NlZD8iIjpuKSk6dD09PSJjb21tZW50Ij8iLyoiK2krKHIudW5jbG9zZWQ/IiI6IiovIik6dD09PSJkaXYiPyhyLmJlZm9yZXx8IiIpK2krKHIuYWZ0ZXJ8fCIiKTpBcnJheS5pc0FycmF5KHIubm9kZXMpPyhuPVF5KHIubm9kZXMsZSksdCE9PSJmdW5jdGlvbiI/bjppKyIoIisoci5iZWZvcmV8fCIiKStuKyhyLmFmdGVyfHwiIikrKHIudW5jbG9zZWQ/IiI6IikiKSk6aX1mdW5jdGlvbiBReShyLGUpe3ZhciB0LGk7aWYoQXJyYXkuaXNBcnJheShyKSl7Zm9yKHQ9IiIsaT1yLmxlbmd0aC0xO35pO2ktPTEpdD1HeShyW2ldLGUpK3Q7cmV0dXJuIHR9cmV0dXJuIEd5KHIsZSl9WXkuZXhwb3J0cz1ReX0pO3ZhciBaeT14KChvJCxYeSk9Pnt1KCk7dmFyICRzPSItIi5jaGFyQ29kZUF0KDApLExzPSIrIi5jaGFyQ29kZUF0KDApLHN1PSIuIi5jaGFyQ29kZUF0KDApLHZPPSJlIi5jaGFyQ29kZUF0KDApLHhPPSJFIi5jaGFyQ29kZUF0KDApO2Z1bmN0aW9uIGtPKHIpe3ZhciBlPXIuY2hhckNvZGVBdCgwKSx0O2lmKGU9PT1Mc3x8ZT09PSRzKXtpZih0PXIuY2hhckNvZGVBdCgxKSx0Pj00OCYmdDw9NTcpcmV0dXJuITA7dmFyIGk9ci5jaGFyQ29kZUF0KDIpO3JldHVybiB0PT09c3UmJmk+PTQ4JiZpPD01N31yZXR1cm4gZT09PXN1Pyh0PXIuY2hhckNvZGVBdCgxKSx0Pj00OCYmdDw9NTcpOmU+PTQ4JiZlPD01N31YeS5leHBvcnRzPWZ1bmN0aW9uKHIpe3ZhciBlPTAsdD1yLmxlbmd0aCxpLG4scztpZih0PT09MHx8IWtPKHIpKXJldHVybiExO2ZvcihpPXIuY2hhckNvZGVBdChlKSwoaT09PUxzfHxpPT09JHMpJiZlKys7ZTx0JiYoaT1yLmNoYXJDb2RlQXQoZSksIShpPDQ4fHxpPjU3KSk7KWUrPTE7aWYoaT1yLmNoYXJDb2RlQXQoZSksbj1yLmNoYXJDb2RlQXQoZSsxKSxpPT09c3UmJm4+PTQ4JiZuPD01Nylmb3IoZSs9MjtlPHQmJihpPXIuY2hhckNvZGVBdChlKSwhKGk8NDh8fGk+NTcpKTspZSs9MTtpZihpPXIuY2hhckNvZGVBdChlKSxuPXIuY2hhckNvZGVBdChlKzEpLHM9ci5jaGFyQ29kZUF0KGUrMiksKGk9PT12T3x8aT09PXhPKSYmKG4+PTQ4JiZuPD01N3x8KG49PT1Mc3x8bj09PSRzKSYmcz49NDgmJnM8PTU3KSlmb3IoZSs9bj09PUxzfHxuPT09JHM/MzoyO2U8dCYmKGk9ci5jaGFyQ29kZUF0KGUpLCEoaTw0OHx8aT41NykpOyllKz0xO3JldHVybntudW1iZXI6ci5zbGljZSgwLGUpLHVuaXQ6ci5zbGljZShlKX19fSk7dmFyIE1zPXgoKGwkLHRiKT0+e3UoKTt2YXIgU089VnkoKSxKeT1XeSgpLGViPUt5KCk7ZnVuY3Rpb24gTnQocil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBOdD8odGhpcy5ub2Rlcz1TTyhyKSx0aGlzKTpuZXcgTnQocil9TnQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5ub2Rlcyk/ZWIodGhpcy5ub2Rlcyk6IiJ9O050LnByb3RvdHlwZS53YWxrPWZ1bmN0aW9uKHIsZSl7cmV0dXJuIEp5KHRoaXMubm9kZXMscixlKSx0aGlzfTtOdC51bml0PVp5KCk7TnQud2Fsaz1KeTtOdC5zdHJpbmdpZnk9ZWI7dGIuZXhwb3J0cz1OdH0pO3ZhciBhYj14KCh1JCxzYik9Pnt1KCk7dmFye2xpc3Q6QU99PSRlKCkscmI9TXMoKSxDTz1NdCgpLGliPU5pKCksbmI9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5wcm9wcz1bInRyYW5zaXRpb24iLCJ0cmFuc2l0aW9uLXByb3BlcnR5Il0sdGhpcy5wcmVmaXhlcz1lfWFkZChlLHQpe2xldCBpLG4scz10aGlzLnByZWZpeGVzLmFkZFtlLnByb3BdLGE9dGhpcy5ydWxlVmVuZG9yUHJlZml4ZXMoZSksbz1hfHxzJiZzLnByZWZpeGVzfHxbXSxsPXRoaXMucGFyc2UoZS52YWx1ZSksYz1sLm1hcChoPT50aGlzLmZpbmRQcm9wKGgpKSxmPVtdO2lmKGMuc29tZShoPT5oWzBdPT09Ii0iKSlyZXR1cm47Zm9yKGxldCBoIG9mIGwpe2lmKG49dGhpcy5maW5kUHJvcChoKSxuWzBdPT09Ii0iKWNvbnRpbnVlO2xldCBiPXRoaXMucHJlZml4ZXMuYWRkW25dO2lmKCEoIWJ8fCFiLnByZWZpeGVzKSlmb3IoaSBvZiBiLnByZWZpeGVzKXtpZihhJiYhYS5zb21lKHk9PmkuaW5jbHVkZXMoeSkpKWNvbnRpbnVlO2xldCB2PXRoaXMucHJlZml4ZXMucHJlZml4ZWQobixpKTt2IT09Ii1tcy10cmFuc2Zvcm0iJiYhYy5pbmNsdWRlcyh2KSYmKHRoaXMuZGlzYWJsZWQobixpKXx8Zi5wdXNoKHRoaXMuY2xvbmUobix2LGgpKSl9fWw9bC5jb25jYXQoZik7bGV0IGQ9dGhpcy5zdHJpbmdpZnkobCkscD10aGlzLnN0cmluZ2lmeSh0aGlzLmNsZWFuRnJvbVVucHJlZml4ZWQobCwiLXdlYmtpdC0iKSk7aWYoby5pbmNsdWRlcygiLXdlYmtpdC0iKSYmdGhpcy5jbG9uZUJlZm9yZShlLGAtd2Via2l0LSR7ZS5wcm9wfWAscCksdGhpcy5jbG9uZUJlZm9yZShlLGUucHJvcCxwKSxvLmluY2x1ZGVzKCItby0iKSl7bGV0IGg9dGhpcy5zdHJpbmdpZnkodGhpcy5jbGVhbkZyb21VbnByZWZpeGVkKGwsIi1vLSIpKTt0aGlzLmNsb25lQmVmb3JlKGUsYC1vLSR7ZS5wcm9wfWAsaCl9Zm9yKGkgb2YgbylpZihpIT09Ii13ZWJraXQtIiYmaSE9PSItby0iKXtsZXQgaD10aGlzLnN0cmluZ2lmeSh0aGlzLmNsZWFuT3RoZXJQcmVmaXhlcyhsLGkpKTt0aGlzLmNsb25lQmVmb3JlKGUsaStlLnByb3AsaCl9ZCE9PWUudmFsdWUmJiF0aGlzLmFscmVhZHkoZSxlLnByb3AsZCkmJih0aGlzLmNoZWNrRm9yV2FybmluZyh0LGUpLGUuY2xvbmVCZWZvcmUoKSxlLnZhbHVlPWQpfWZpbmRQcm9wKGUpe2xldCB0PWVbMF0udmFsdWU7aWYoL15cZC8udGVzdCh0KSl7Zm9yKGxldFtpLG5db2YgZS5lbnRyaWVzKCkpaWYoaSE9PTAmJm4udHlwZT09PSJ3b3JkIilyZXR1cm4gbi52YWx1ZX1yZXR1cm4gdH1hbHJlYWR5KGUsdCxpKXtyZXR1cm4gZS5wYXJlbnQuc29tZShuPT5uLnByb3A9PT10JiZuLnZhbHVlPT09aSl9Y2xvbmVCZWZvcmUoZSx0LGkpe3RoaXMuYWxyZWFkeShlLHQsaSl8fGUuY2xvbmVCZWZvcmUoe3Byb3A6dCx2YWx1ZTppfSl9Y2hlY2tGb3JXYXJuaW5nKGUsdCl7aWYodC5wcm9wIT09InRyYW5zaXRpb24tcHJvcGVydHkiKXJldHVybjtsZXQgaT0hMSxuPSExO3QucGFyZW50LmVhY2gocz0+e2lmKHMudHlwZSE9PSJkZWNsInx8cy5wcm9wLmluZGV4T2YoInRyYW5zaXRpb24tIikhPT0wKXJldHVybjtsZXQgYT1BTy5jb21tYShzLnZhbHVlKTtpZihzLnByb3A9PT0idHJhbnNpdGlvbi1wcm9wZXJ0eSIpe2EuZm9yRWFjaChvPT57bGV0IGw9dGhpcy5wcmVmaXhlcy5hZGRbb107bCYmbC5wcmVmaXhlcyYmbC5wcmVmaXhlcy5sZW5ndGg+MCYmKGk9ITApfSk7cmV0dXJufXJldHVybiBuPW58fGEubGVuZ3RoPjEsITF9KSxpJiZuJiZ0Lndhcm4oZSwiUmVwbGFjZSB0cmFuc2l0aW9uLXByb3BlcnR5IHRvIHRyYW5zaXRpb24sIGJlY2F1c2UgQXV0b3ByZWZpeGVyIGNvdWxkIG5vdCBzdXBwb3J0IGFueSBjYXNlcyBvZiB0cmFuc2l0aW9uLXByb3BlcnR5IGFuZCBvdGhlciB0cmFuc2l0aW9uLSoiKX1yZW1vdmUoZSl7bGV0IHQ9dGhpcy5wYXJzZShlLnZhbHVlKTt0PXQuZmlsdGVyKGE9PntsZXQgbz10aGlzLnByZWZpeGVzLnJlbW92ZVt0aGlzLmZpbmRQcm9wKGEpXTtyZXR1cm4hb3x8IW8ucmVtb3ZlfSk7bGV0IGk9dGhpcy5zdHJpbmdpZnkodCk7aWYoZS52YWx1ZT09PWkpcmV0dXJuO2lmKHQubGVuZ3RoPT09MCl7ZS5yZW1vdmUoKTtyZXR1cm59bGV0IG49ZS5wYXJlbnQuc29tZShhPT5hLnByb3A9PT1lLnByb3AmJmEudmFsdWU9PT1pKSxzPWUucGFyZW50LnNvbWUoYT0+YSE9PWUmJmEucHJvcD09PWUucHJvcCYmYS52YWx1ZS5sZW5ndGg+aS5sZW5ndGgpO2lmKG58fHMpe2UucmVtb3ZlKCk7cmV0dXJufWUudmFsdWU9aX1wYXJzZShlKXtsZXQgdD1yYihlKSxpPVtdLG49W107Zm9yKGxldCBzIG9mIHQubm9kZXMpbi5wdXNoKHMpLHMudHlwZT09PSJkaXYiJiZzLnZhbHVlPT09IiwiJiYoaS5wdXNoKG4pLG49W10pO3JldHVybiBpLnB1c2gobiksaS5maWx0ZXIocz0+cy5sZW5ndGg+MCl9c3RyaW5naWZ5KGUpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4iIjtsZXQgdD1bXTtmb3IobGV0IGkgb2YgZSlpW2kubGVuZ3RoLTFdLnR5cGUhPT0iZGl2IiYmaS5wdXNoKHRoaXMuZGl2KGUpKSx0PXQuY29uY2F0KGkpO3JldHVybiB0WzBdLnR5cGU9PT0iZGl2IiYmKHQ9dC5zbGljZSgxKSksdFt0Lmxlbmd0aC0xXS50eXBlPT09ImRpdiImJih0PXQuc2xpY2UoMCwtMisxfHx2b2lkIDApKSxyYi5zdHJpbmdpZnkoe25vZGVzOnR9KX1jbG9uZShlLHQsaSl7bGV0IG49W10scz0hMTtmb3IobGV0IGEgb2YgaSkhcyYmYS50eXBlPT09IndvcmQiJiZhLnZhbHVlPT09ZT8obi5wdXNoKHt0eXBlOiJ3b3JkIix2YWx1ZTp0fSkscz0hMCk6bi5wdXNoKGEpO3JldHVybiBufWRpdihlKXtmb3IobGV0IHQgb2YgZSlmb3IobGV0IGkgb2YgdClpZihpLnR5cGU9PT0iZGl2IiYmaS52YWx1ZT09PSIsIilyZXR1cm4gaTtyZXR1cm57dHlwZToiZGl2Iix2YWx1ZToiLCIsYWZ0ZXI6IiAifX1jbGVhbk90aGVyUHJlZml4ZXMoZSx0KXtyZXR1cm4gZS5maWx0ZXIoaT0+e2xldCBuPWliLnByZWZpeCh0aGlzLmZpbmRQcm9wKGkpKTtyZXR1cm4gbj09PSIifHxuPT09dH0pfWNsZWFuRnJvbVVucHJlZml4ZWQoZSx0KXtsZXQgaT1lLm1hcChzPT50aGlzLmZpbmRQcm9wKHMpKS5maWx0ZXIocz0+cy5zbGljZSgwLHQubGVuZ3RoKT09PXQpLm1hcChzPT50aGlzLnByZWZpeGVzLnVucHJlZml4ZWQocykpLG49W107Zm9yKGxldCBzIG9mIGUpe2xldCBhPXRoaXMuZmluZFByb3Aocyksbz1pYi5wcmVmaXgoYSk7IWkuaW5jbHVkZXMoYSkmJihvPT09dHx8bz09PSIiKSYmbi5wdXNoKHMpfXJldHVybiBufWRpc2FibGVkKGUsdCl7bGV0IGk9WyJvcmRlciIsImp1c3RpZnktY29udGVudCIsImFsaWduLXNlbGYiLCJhbGlnbi1jb250ZW50Il07aWYoZS5pbmNsdWRlcygiZmxleCIpfHxpLmluY2x1ZGVzKGUpKXtpZih0aGlzLnByZWZpeGVzLm9wdGlvbnMuZmxleGJveD09PSExKXJldHVybiEwO2lmKHRoaXMucHJlZml4ZXMub3B0aW9ucy5mbGV4Ym94PT09Im5vLTIwMDkiKXJldHVybiB0LmluY2x1ZGVzKCIyMDA5Iil9fXJ1bGVWZW5kb3JQcmVmaXhlcyhlKXtsZXR7cGFyZW50OnR9PWU7aWYodC50eXBlIT09InJ1bGUiKXJldHVybiExO2lmKCF0LnNlbGVjdG9yLmluY2x1ZGVzKCI6LSIpKXJldHVybiExO2xldCBpPUNPLnByZWZpeGVzKCkuZmlsdGVyKG49PnQuc2VsZWN0b3IuaW5jbHVkZXMoIjoiK24pKTtyZXR1cm4gaS5sZW5ndGg+MD9pOiExfX07c2IuZXhwb3J0cz1uYn0pO3ZhciB4cj14KChmJCxsYik9Pnt1KCk7dmFyIF9PPV9lKCksb2I9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGksbil7dGhpcy51bnByZWZpeGVkPWUsdGhpcy5wcmVmaXhlZD10LHRoaXMuc3RyaW5nPWl8fHQsdGhpcy5yZWdleHA9bnx8X08ucmVnZXhwKHQpfWNoZWNrKGUpe3JldHVybiBlLmluY2x1ZGVzKHRoaXMuc3RyaW5nKT8hIWUubWF0Y2godGhpcy5yZWdleHApOiExfX07bGIuZXhwb3J0cz1vYn0pO3ZhciBIZT14KChjJCxmYik9Pnt1KCk7dmFyIEVPPXdyKCksT089eHIoKSxUTz1OaSgpLFJPPV9lKCksdWI9Y2xhc3MgZXh0ZW5kcyBFT3tzdGF0aWMgc2F2ZShlLHQpe2xldCBpPXQucHJvcCxuPVtdO2ZvcihsZXQgcyBpbiB0Ll9hdXRvcHJlZml4ZXJWYWx1ZXMpe2xldCBhPXQuX2F1dG9wcmVmaXhlclZhbHVlc1tzXTtpZihhPT09dC52YWx1ZSljb250aW51ZTtsZXQgbyxsPVRPLnByZWZpeChpKTtpZihsPT09Ii1waWUtIiljb250aW51ZTtpZihsPT09cyl7bz10LnZhbHVlPWEsbi5wdXNoKG8pO2NvbnRpbnVlfWxldCBjPWUucHJlZml4ZWQoaSxzKSxmPXQucGFyZW50O2lmKCFmLmV2ZXJ5KGI9PmIucHJvcCE9PWMpKXtuLnB1c2gobyk7Y29udGludWV9bGV0IGQ9YS5yZXBsYWNlKC9ccysvLCIgIik7aWYoZi5zb21lKGI9PmIucHJvcD09PXQucHJvcCYmYi52YWx1ZS5yZXBsYWNlKC9ccysvLCIgIik9PT1kKSl7bi5wdXNoKG8pO2NvbnRpbnVlfWxldCBoPXRoaXMuY2xvbmUodCx7dmFsdWU6YX0pO289dC5wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsaCksbi5wdXNoKG8pfXJldHVybiBufWNoZWNrKGUpe2xldCB0PWUudmFsdWU7cmV0dXJuIHQuaW5jbHVkZXModGhpcy5uYW1lKT8hIXQubWF0Y2godGhpcy5yZWdleHAoKSk6ITF9cmVnZXhwKCl7cmV0dXJuIHRoaXMucmVnZXhwQ2FjaGV8fCh0aGlzLnJlZ2V4cENhY2hlPVJPLnJlZ2V4cCh0aGlzLm5hbWUpKX1yZXBsYWNlKGUsdCl7cmV0dXJuIGUucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLGAkMSR7dH0kMmApfXZhbHVlKGUpe3JldHVybiBlLnJhd3MudmFsdWUmJmUucmF3cy52YWx1ZS52YWx1ZT09PWUudmFsdWU/ZS5yYXdzLnZhbHVlLnJhdzplLnZhbHVlfWFkZChlLHQpe2UuX2F1dG9wcmVmaXhlclZhbHVlc3x8KGUuX2F1dG9wcmVmaXhlclZhbHVlcz17fSk7bGV0IGk9ZS5fYXV0b3ByZWZpeGVyVmFsdWVzW3RdfHx0aGlzLnZhbHVlKGUpLG47ZG8gaWYobj1pLGk9dGhpcy5yZXBsYWNlKGksdCksaT09PSExKXJldHVybjt3aGlsZShpIT09bik7ZS5fYXV0b3ByZWZpeGVyVmFsdWVzW3RdPWl9b2xkKGUpe3JldHVybiBuZXcgT08odGhpcy5uYW1lLGUrdGhpcy5uYW1lKX19O2ZiLmV4cG9ydHM9dWJ9KTt2YXIgQnQ9eCgocCQsY2IpPT57dSgpO2NiLmV4cG9ydHM9e319KTt2YXIgb3U9eCgoZCQsaGIpPT57dSgpO3ZhciBwYj1NcygpLFBPPUhlKCksSU89QnQoKS5pbnNlcnRBcmVhcyxETz0vKF58W14tXSlsaW5lYXItZ3JhZGllbnRcKFxzKih0b3B8bGVmdHxyaWdodHxib3R0b20pL2kscU89LyhefFteLV0pcmFkaWFsLWdyYWRpZW50XChccypcZCsoXHcqfCUpXHMrXGQrKFx3KnwlKVxzKiwvaSwkTz0vKCFccyopP2F1dG9wcmVmaXhlcjpccyppZ25vcmVccytuZXh0L2ksTE89LyghXHMqKT9hdXRvcHJlZml4ZXJccypncmlkOlxzKihvbnxvZmZ8KG5vLSk/YXV0b3BsYWNlKS9pLE1PPVsid2lkdGgiLCJoZWlnaHQiLCJtaW4td2lkdGgiLCJtYXgtd2lkdGgiLCJtaW4taGVpZ2h0IiwibWF4LWhlaWdodCIsImlubGluZS1zaXplIiwibWluLWlubGluZS1zaXplIiwibWF4LWlubGluZS1zaXplIiwiYmxvY2stc2l6ZSIsIm1pbi1ibG9jay1zaXplIiwibWF4LWJsb2NrLXNpemUiXTtmdW5jdGlvbiBhdShyKXtyZXR1cm4gci5wYXJlbnQuc29tZShlPT5lLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZSJ8fGUucHJvcD09PSJncmlkLXRlbXBsYXRlLWFyZWFzIil9ZnVuY3Rpb24gTk8ocil7bGV0IGU9ci5wYXJlbnQuc29tZShpPT5pLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZS1yb3dzIiksdD1yLnBhcmVudC5zb21lKGk9PmkucHJvcD09PSJncmlkLXRlbXBsYXRlLWNvbHVtbnMiKTtyZXR1cm4gZSYmdH12YXIgZGI9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5wcmVmaXhlcz1lfWFkZChlLHQpe2xldCBpPXRoaXMucHJlZml4ZXMuYWRkWyJAcmVzb2x1dGlvbiJdLG49dGhpcy5wcmVmaXhlcy5hZGRbIkBrZXlmcmFtZXMiXSxzPXRoaXMucHJlZml4ZXMuYWRkWyJAdmlld3BvcnQiXSxhPXRoaXMucHJlZml4ZXMuYWRkWyJAc3VwcG9ydHMiXTtlLndhbGtBdFJ1bGVzKGY9PntpZihmLm5hbWU9PT0ia2V5ZnJhbWVzIil7aWYoIXRoaXMuZGlzYWJsZWQoZix0KSlyZXR1cm4gbiYmbi5wcm9jZXNzKGYpfWVsc2UgaWYoZi5uYW1lPT09InZpZXdwb3J0Iil7aWYoIXRoaXMuZGlzYWJsZWQoZix0KSlyZXR1cm4gcyYmcy5wcm9jZXNzKGYpfWVsc2UgaWYoZi5uYW1lPT09InN1cHBvcnRzIil7aWYodGhpcy5wcmVmaXhlcy5vcHRpb25zLnN1cHBvcnRzIT09ITEmJiF0aGlzLmRpc2FibGVkKGYsdCkpcmV0dXJuIGEucHJvY2VzcyhmKX1lbHNlIGlmKGYubmFtZT09PSJtZWRpYSImJmYucGFyYW1zLmluY2x1ZGVzKCItcmVzb2x1dGlvbiIpJiYhdGhpcy5kaXNhYmxlZChmLHQpKXJldHVybiBpJiZpLnByb2Nlc3MoZil9KSxlLndhbGtSdWxlcyhmPT57aWYoIXRoaXMuZGlzYWJsZWQoZix0KSlyZXR1cm4gdGhpcy5wcmVmaXhlcy5hZGQuc2VsZWN0b3JzLm1hcChkPT5kLnByb2Nlc3MoZix0KSl9KTtmdW5jdGlvbiBvKGYpe3JldHVybiBmLnBhcmVudC5ub2Rlcy5zb21lKGQ9PntpZihkLnR5cGUhPT0iZGVjbCIpcmV0dXJuITE7bGV0IHA9ZC5wcm9wPT09ImRpc3BsYXkiJiYvKGlubGluZS0pP2dyaWQvLnRlc3QoZC52YWx1ZSksaD1kLnByb3Auc3RhcnRzV2l0aCgiZ3JpZC10ZW1wbGF0ZSIpLGI9L15ncmlkLShbQS16XSstKT9nYXAvLnRlc3QoZC5wcm9wKTtyZXR1cm4gcHx8aHx8Yn0pfWZ1bmN0aW9uIGwoZil7cmV0dXJuIGYucGFyZW50LnNvbWUoZD0+ZC5wcm9wPT09ImRpc3BsYXkiJiYvKGlubGluZS0pP2ZsZXgvLnRlc3QoZC52YWx1ZSkpfWxldCBjPXRoaXMuZ3JpZFN0YXR1cyhlLHQpJiZ0aGlzLnByZWZpeGVzLmFkZFsiZ3JpZC1hcmVhIl0mJnRoaXMucHJlZml4ZXMuYWRkWyJncmlkLWFyZWEiXS5wcmVmaXhlcztyZXR1cm4gZS53YWxrRGVjbHMoZj0+e2lmKHRoaXMuZGlzYWJsZWREZWNsKGYsdCkpcmV0dXJuO2xldCBkPWYucGFyZW50LHA9Zi5wcm9wLGg9Zi52YWx1ZTtpZihwPT09ImdyaWQtcm93LXNwYW4iKXt0Lndhcm4oImdyaWQtcm93LXNwYW4gaXMgbm90IHBhcnQgb2YgZmluYWwgR3JpZCBMYXlvdXQuIFVzZSBncmlkLXJvdy4iLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09ImdyaWQtY29sdW1uLXNwYW4iKXt0Lndhcm4oImdyaWQtY29sdW1uLXNwYW4gaXMgbm90IHBhcnQgb2YgZmluYWwgR3JpZCBMYXlvdXQuIFVzZSBncmlkLWNvbHVtbi4iLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09ImRpc3BsYXkiJiZoPT09ImJveCIpe3Qud2FybigiWW91IHNob3VsZCB3cml0ZSBkaXNwbGF5OiBmbGV4IGJ5IGZpbmFsIHNwZWMgaW5zdGVhZCBvZiBkaXNwbGF5OiBib3giLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09InRleHQtZW1waGFzaXMtcG9zaXRpb24iKShoPT09InVuZGVyInx8aD09PSJvdmVyIikmJnQud2FybigiWW91IHNob3VsZCB1c2UgMiB2YWx1ZXMgZm9yIHRleHQtZW1waGFzaXMtcG9zaXRpb24gRm9yIGV4YW1wbGUsIGB1bmRlciBsZWZ0YCBpbnN0ZWFkIG9mIGp1c3QgYHVuZGVyYC4iLHtub2RlOmZ9KTtlbHNlIGlmKC9eKGFsaWdufGp1c3RpZnl8cGxhY2UpLShpdGVtc3xjb250ZW50KSQvLnRlc3QocCkmJmwoZikpKGg9PT0ic3RhcnQifHxoPT09ImVuZCIpJiZ0Lndhcm4oYCR7aH0gdmFsdWUgaGFzIG1peGVkIHN1cHBvcnQsIGNvbnNpZGVyIHVzaW5nIGZsZXgtJHtofSBpbnN0ZWFkYCx7bm9kZTpmfSk7ZWxzZSBpZihwPT09InRleHQtZGVjb3JhdGlvbi1za2lwIiYmaD09PSJpbmsiKXQud2FybigiUmVwbGFjZSB0ZXh0LWRlY29yYXRpb24tc2tpcDogaW5rIHRvIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bywgYmVjYXVzZSBzcGVjIGhhZCBiZWVuIGNoYW5nZWQiLHtub2RlOmZ9KTtlbHNle2lmKGMmJnRoaXMuZ3JpZFN0YXR1cyhmLHQpKWlmKGYudmFsdWU9PT0ic3ViZ3JpZCImJnQud2FybigiSUUgZG9lcyBub3Qgc3VwcG9ydCBzdWJncmlkIix7bm9kZTpmfSksL14oYWxpZ258anVzdGlmeXxwbGFjZSktaXRlbXMkLy50ZXN0KHApJiZvKGYpKXtsZXQgdj1wLnJlcGxhY2UoIi1pdGVtcyIsIi1zZWxmIik7dC53YXJuKGBJRSBkb2VzIG5vdCBzdXBwb3J0ICR7cH0gb24gZ3JpZCBjb250YWluZXJzLiBUcnkgdXNpbmcgJHt2fSBvbiBjaGlsZCBlbGVtZW50cyBpbnN0ZWFkOiAke2YucGFyZW50LnNlbGVjdG9yfSA+ICogeyAke3Z9OiAke2YudmFsdWV9IH1gLHtub2RlOmZ9KX1lbHNlIGlmKC9eKGFsaWdufGp1c3RpZnl8cGxhY2UpLWNvbnRlbnQkLy50ZXN0KHApJiZvKGYpKXQud2FybihgSUUgZG9lcyBub3Qgc3VwcG9ydCAke2YucHJvcH0gb24gZ3JpZCBjb250YWluZXJzYCx7bm9kZTpmfSk7ZWxzZSBpZihwPT09ImRpc3BsYXkiJiZmLnZhbHVlPT09ImNvbnRlbnRzIil7dC53YXJuKCJQbGVhc2UgZG8gbm90IHVzZSBkaXNwbGF5OiBjb250ZW50czsgaWYgeW91IGhhdmUgZ3JpZCBzZXR0aW5nIGVuYWJsZWQiLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihmLnByb3A9PT0iZ3JpZC1nYXAiKXtsZXQgdj10aGlzLmdyaWRTdGF0dXMoZix0KTt2PT09ImF1dG9wbGFjZSImJiFOTyhmKSYmIWF1KGYpP3Qud2FybigiZ3JpZC1nYXAgb25seSB3b3JrcyBpZiBncmlkLXRlbXBsYXRlKC1hcmVhcykgaXMgYmVpbmcgdXNlZCBvciBib3RoIHJvd3MgYW5kIGNvbHVtbnMgaGF2ZSBiZWVuIGRlY2xhcmVkIGFuZCBjZWxscyBoYXZlIG5vdCBiZWVuIG1hbnVhbGx5IHBsYWNlZCBpbnNpZGUgdGhlIGV4cGxpY2l0IGdyaWQiLHtub2RlOmZ9KToodj09PSEwfHx2PT09Im5vLWF1dG9wbGFjZSIpJiYhYXUoZikmJnQud2FybigiZ3JpZC1nYXAgb25seSB3b3JrcyBpZiBncmlkLXRlbXBsYXRlKC1hcmVhcykgaXMgYmVpbmcgdXNlZCIse25vZGU6Zn0pfWVsc2UgaWYocD09PSJncmlkLWF1dG8tY29sdW1ucyIpe3Qud2FybigiZ3JpZC1hdXRvLWNvbHVtbnMgaXMgbm90IHN1cHBvcnRlZCBieSBJRSIse25vZGU6Zn0pO3JldHVybn1lbHNlIGlmKHA9PT0iZ3JpZC1hdXRvLXJvd3MiKXt0Lndhcm4oImdyaWQtYXV0by1yb3dzIGlzIG5vdCBzdXBwb3J0ZWQgYnkgSUUiLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09ImdyaWQtYXV0by1mbG93Iil7bGV0IHY9ZC5zb21lKHc9PncucHJvcD09PSJncmlkLXRlbXBsYXRlLXJvd3MiKSx5PWQuc29tZSh3PT53LnByb3A9PT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIik7YXUoZik/dC53YXJuKCJncmlkLWF1dG8tZmxvdyBpcyBub3Qgc3VwcG9ydGVkIGJ5IElFIix7bm9kZTpmfSk6aC5pbmNsdWRlcygiZGVuc2UiKT90Lndhcm4oImdyaWQtYXV0by1mbG93OiBkZW5zZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IElFIix7bm9kZTpmfSk6IXYmJiF5JiZ0Lndhcm4oImdyaWQtYXV0by1mbG93IHdvcmtzIG9ubHkgaWYgZ3JpZC10ZW1wbGF0ZS1yb3dzIGFuZCBncmlkLXRlbXBsYXRlLWNvbHVtbnMgYXJlIHByZXNlbnQgaW4gdGhlIHNhbWUgcnVsZSIse25vZGU6Zn0pO3JldHVybn1lbHNlIGlmKGguaW5jbHVkZXMoImF1dG8tZml0Iikpe3Qud2FybigiYXV0by1maXQgdmFsdWUgaXMgbm90IHN1cHBvcnRlZCBieSBJRSIse25vZGU6Zix3b3JkOiJhdXRvLWZpdCJ9KTtyZXR1cm59ZWxzZSBpZihoLmluY2x1ZGVzKCJhdXRvLWZpbGwiKSl7dC53YXJuKCJhdXRvLWZpbGwgdmFsdWUgaXMgbm90IHN1cHBvcnRlZCBieSBJRSIse25vZGU6Zix3b3JkOiJhdXRvLWZpbGwifSk7cmV0dXJufWVsc2UgcC5zdGFydHNXaXRoKCJncmlkLXRlbXBsYXRlIikmJmguaW5jbHVkZXMoIlsiKSYmdC53YXJuKCJBdXRvcHJlZml4ZXIgY3VycmVudGx5IGRvZXMgbm90IHN1cHBvcnQgbGluZSBuYW1lcy4gVHJ5IHVzaW5nIGdyaWQtdGVtcGxhdGUtYXJlYXMgaW5zdGVhZC4iLHtub2RlOmYsd29yZDoiWyJ9KTtpZihoLmluY2x1ZGVzKCJyYWRpYWwtZ3JhZGllbnQiKSlpZihxTy50ZXN0KGYudmFsdWUpKXQud2FybigiR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguIE5ldyBzeW50YXggaXMgbGlrZSBgY2xvc2VzdC1zaWRlIGF0IDAgMGAgaW5zdGVhZCBvZiBgMCAwLCBjbG9zZXN0LXNpZGVgLiIse25vZGU6Zn0pO2Vsc2V7bGV0IHY9cGIoaCk7Zm9yKGxldCB5IG9mIHYubm9kZXMpaWYoeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZT09PSJyYWRpYWwtZ3JhZGllbnQiKWZvcihsZXQgdyBvZiB5Lm5vZGVzKXcudHlwZT09PSJ3b3JkIiYmKHcudmFsdWU9PT0iY292ZXIiP3Qud2FybigiR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguIFJlcGxhY2UgYGNvdmVyYCB0byBgZmFydGhlc3QtY29ybmVyYC4iLHtub2RlOmZ9KTp3LnZhbHVlPT09ImNvbnRhaW4iJiZ0Lndhcm4oIkdyYWRpZW50IGhhcyBvdXRkYXRlZCBkaXJlY3Rpb24gc3ludGF4LiBSZXBsYWNlIGBjb250YWluYCB0byBgY2xvc2VzdC1zaWRlYC4iLHtub2RlOmZ9KSl9aC5pbmNsdWRlcygibGluZWFyLWdyYWRpZW50IikmJkRPLnRlc3QoaCkmJnQud2FybigiR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguIE5ldyBzeW50YXggaXMgbGlrZSBgdG8gbGVmdGAgaW5zdGVhZCBvZiBgcmlnaHRgLiIse25vZGU6Zn0pfU1PLmluY2x1ZGVzKGYucHJvcCkmJihmLnZhbHVlLmluY2x1ZGVzKCItZmlsbC1hdmFpbGFibGUiKXx8KGYudmFsdWUuaW5jbHVkZXMoImZpbGwtYXZhaWxhYmxlIik/dC53YXJuKCJSZXBsYWNlIGZpbGwtYXZhaWxhYmxlIHRvIHN0cmV0Y2gsIGJlY2F1c2Ugc3BlYyBoYWQgYmVlbiBjaGFuZ2VkIix7bm9kZTpmfSk6Zi52YWx1ZS5pbmNsdWRlcygiZmlsbCIpJiZwYihoKS5ub2Rlcy5zb21lKHk9PnkudHlwZT09PSJ3b3JkIiYmeS52YWx1ZT09PSJmaWxsIikmJnQud2FybigiUmVwbGFjZSBmaWxsIHRvIHN0cmV0Y2gsIGJlY2F1c2Ugc3BlYyBoYWQgYmVlbiBjaGFuZ2VkIix7bm9kZTpmfSkpKTtsZXQgYjtpZihmLnByb3A9PT0idHJhbnNpdGlvbiJ8fGYucHJvcD09PSJ0cmFuc2l0aW9uLXByb3BlcnR5IilyZXR1cm4gdGhpcy5wcmVmaXhlcy50cmFuc2l0aW9uLmFkZChmLHQpO2lmKGYucHJvcD09PSJhbGlnbi1zZWxmIil7aWYodGhpcy5kaXNwbGF5VHlwZShmKSE9PSJncmlkIiYmdGhpcy5wcmVmaXhlcy5vcHRpb25zLmZsZXhib3ghPT0hMSYmKGI9dGhpcy5wcmVmaXhlcy5hZGRbImFsaWduLXNlbGYiXSxiJiZiLnByZWZpeGVzJiZiLnByb2Nlc3MoZikpLHRoaXMuZ3JpZFN0YXR1cyhmLHQpIT09ITEmJihiPXRoaXMucHJlZml4ZXMuYWRkWyJncmlkLXJvdy1hbGlnbiJdLGImJmIucHJlZml4ZXMpKXJldHVybiBiLnByb2Nlc3MoZix0KX1lbHNlIGlmKGYucHJvcD09PSJqdXN0aWZ5LXNlbGYiKXtpZih0aGlzLmdyaWRTdGF0dXMoZix0KSE9PSExJiYoYj10aGlzLnByZWZpeGVzLmFkZFsiZ3JpZC1jb2x1bW4tYWxpZ24iXSxiJiZiLnByZWZpeGVzKSlyZXR1cm4gYi5wcm9jZXNzKGYsdCl9ZWxzZSBpZihmLnByb3A9PT0icGxhY2Utc2VsZiIpe2lmKGI9dGhpcy5wcmVmaXhlcy5hZGRbInBsYWNlLXNlbGYiXSxiJiZiLnByZWZpeGVzJiZ0aGlzLmdyaWRTdGF0dXMoZix0KSE9PSExKXJldHVybiBiLnByb2Nlc3MoZix0KX1lbHNlIGlmKGI9dGhpcy5wcmVmaXhlcy5hZGRbZi5wcm9wXSxiJiZiLnByZWZpeGVzKXJldHVybiBiLnByb2Nlc3MoZix0KX0pLHRoaXMuZ3JpZFN0YXR1cyhlLHQpJiZJTyhlLHRoaXMuZGlzYWJsZWQpLGUud2Fsa0RlY2xzKGY9PntpZih0aGlzLmRpc2FibGVkVmFsdWUoZix0KSlyZXR1cm47bGV0IGQ9dGhpcy5wcmVmaXhlcy51bnByZWZpeGVkKGYucHJvcCkscD10aGlzLnByZWZpeGVzLnZhbHVlcygiYWRkIixkKTtpZihBcnJheS5pc0FycmF5KHApKWZvcihsZXQgaCBvZiBwKWgucHJvY2VzcyYmaC5wcm9jZXNzKGYsdCk7UE8uc2F2ZSh0aGlzLnByZWZpeGVzLGYpfSl9cmVtb3ZlKGUsdCl7bGV0IGk9dGhpcy5wcmVmaXhlcy5yZW1vdmVbIkByZXNvbHV0aW9uIl07ZS53YWxrQXRSdWxlcygobixzKT0+e3RoaXMucHJlZml4ZXMucmVtb3ZlW2BAJHtuLm5hbWV9YF0/dGhpcy5kaXNhYmxlZChuLHQpfHxuLnBhcmVudC5yZW1vdmVDaGlsZChzKTpuLm5hbWU9PT0ibWVkaWEiJiZuLnBhcmFtcy5pbmNsdWRlcygiLXJlc29sdXRpb24iKSYmaSYmaS5jbGVhbihuKX0pO2ZvcihsZXQgbiBvZiB0aGlzLnByZWZpeGVzLnJlbW92ZS5zZWxlY3RvcnMpZS53YWxrUnVsZXMoKHMsYSk9PntuLmNoZWNrKHMpJiYodGhpcy5kaXNhYmxlZChzLHQpfHxzLnBhcmVudC5yZW1vdmVDaGlsZChhKSl9KTtyZXR1cm4gZS53YWxrRGVjbHMoKG4scyk9PntpZih0aGlzLmRpc2FibGVkKG4sdCkpcmV0dXJuO2xldCBhPW4ucGFyZW50LG89dGhpcy5wcmVmaXhlcy51bnByZWZpeGVkKG4ucHJvcCk7aWYoKG4ucHJvcD09PSJ0cmFuc2l0aW9uInx8bi5wcm9wPT09InRyYW5zaXRpb24tcHJvcGVydHkiKSYmdGhpcy5wcmVmaXhlcy50cmFuc2l0aW9uLnJlbW92ZShuKSx0aGlzLnByZWZpeGVzLnJlbW92ZVtuLnByb3BdJiZ0aGlzLnByZWZpeGVzLnJlbW92ZVtuLnByb3BdLnJlbW92ZSl7bGV0IGw9dGhpcy5wcmVmaXhlcy5ncm91cChuKS5kb3duKGM9PnRoaXMucHJlZml4ZXMubm9ybWFsaXplKGMucHJvcCk9PT1vKTtpZihvPT09ImZsZXgtZmxvdyImJihsPSEwKSxuLnByb3A9PT0iLXdlYmtpdC1ib3gtb3JpZW50Iil7bGV0IGM9eyJmbGV4LWRpcmVjdGlvbiI6ITAsImZsZXgtZmxvdyI6ITB9O2lmKCFuLnBhcmVudC5zb21lKGY9PmNbZi5wcm9wXSkpcmV0dXJufWlmKGwmJiF0aGlzLndpdGhIYWNrVmFsdWUobikpe24ucmF3KCJiZWZvcmUiKS5pbmNsdWRlcyhgCmApJiZ0aGlzLnJlZHVjZVNwYWNlcyhuKSxhLnJlbW92ZUNoaWxkKHMpO3JldHVybn19Zm9yKGxldCBsIG9mIHRoaXMucHJlZml4ZXMudmFsdWVzKCJyZW1vdmUiLG8pKXtpZighbC5jaGVja3x8IWwuY2hlY2sobi52YWx1ZSkpY29udGludWU7aWYobz1sLnVucHJlZml4ZWQsdGhpcy5wcmVmaXhlcy5ncm91cChuKS5kb3duKGY9PmYudmFsdWUuaW5jbHVkZXMobykpKXthLnJlbW92ZUNoaWxkKHMpO3JldHVybn19fSl9d2l0aEhhY2tWYWx1ZShlKXtyZXR1cm4gZS5wcm9wPT09Ii13ZWJraXQtYmFja2dyb3VuZC1jbGlwIiYmZS52YWx1ZT09PSJ0ZXh0In1kaXNhYmxlZFZhbHVlKGUsdCl7cmV0dXJuIHRoaXMuZ3JpZFN0YXR1cyhlLHQpPT09ITEmJmUudHlwZT09PSJkZWNsIiYmZS5wcm9wPT09ImRpc3BsYXkiJiZlLnZhbHVlLmluY2x1ZGVzKCJncmlkIil8fHRoaXMucHJlZml4ZXMub3B0aW9ucy5mbGV4Ym94PT09ITEmJmUudHlwZT09PSJkZWNsIiYmZS5wcm9wPT09ImRpc3BsYXkiJiZlLnZhbHVlLmluY2x1ZGVzKCJmbGV4Iil8fGUudHlwZT09PSJkZWNsIiYmZS5wcm9wPT09ImNvbnRlbnQiPyEwOnRoaXMuZGlzYWJsZWQoZSx0KX1kaXNhYmxlZERlY2woZSx0KXtpZih0aGlzLmdyaWRTdGF0dXMoZSx0KT09PSExJiZlLnR5cGU9PT0iZGVjbCImJihlLnByb3AuaW5jbHVkZXMoImdyaWQiKXx8ZS5wcm9wPT09Imp1c3RpZnktaXRlbXMiKSlyZXR1cm4hMDtpZih0aGlzLnByZWZpeGVzLm9wdGlvbnMuZmxleGJveD09PSExJiZlLnR5cGU9PT0iZGVjbCIpe2xldCBpPVsib3JkZXIiLCJqdXN0aWZ5LWNvbnRlbnQiLCJhbGlnbi1pdGVtcyIsImFsaWduLWNvbnRlbnQiXTtpZihlLnByb3AuaW5jbHVkZXMoImZsZXgiKXx8aS5pbmNsdWRlcyhlLnByb3ApKXJldHVybiEwfXJldHVybiB0aGlzLmRpc2FibGVkKGUsdCl9ZGlzYWJsZWQoZSx0KXtpZighZSlyZXR1cm4hMTtpZihlLl9hdXRvcHJlZml4ZXJEaXNhYmxlZCE9PXZvaWQgMClyZXR1cm4gZS5fYXV0b3ByZWZpeGVyRGlzYWJsZWQ7aWYoZS5wYXJlbnQpe2xldCBuPWUucHJldigpO2lmKG4mJm4udHlwZT09PSJjb21tZW50IiYmJE8udGVzdChuLnRleHQpKXJldHVybiBlLl9hdXRvcHJlZml4ZXJEaXNhYmxlZD0hMCxlLl9hdXRvcHJlZml4ZXJTZWxmRGlzYWJsZWQ9ITAsITB9bGV0IGk9bnVsbDtpZihlLm5vZGVzKXtsZXQgbjtlLmVhY2gocz0+e3MudHlwZT09PSJjb21tZW50IiYmLyghXHMqKT9hdXRvcHJlZml4ZXI6XHMqKG9mZnxvbikvaS50ZXN0KHMudGV4dCkmJih0eXBlb2YgbiE9InVuZGVmaW5lZCI/dC53YXJuKCJTZWNvbmQgQXV0b3ByZWZpeGVyIGNvbnRyb2wgY29tbWVudCB3YXMgaWdub3JlZC4gQXV0b3ByZWZpeGVyIGFwcGxpZXMgY29udHJvbCBjb21tZW50IHRvIHdob2xlIGJsb2NrLCBub3QgdG8gbmV4dCBydWxlcy4iLHtub2RlOnN9KTpuPS9vbi9pLnRlc3Qocy50ZXh0KSl9KSxuIT09dm9pZCAwJiYoaT0hbil9aWYoIWUubm9kZXN8fGk9PT1udWxsKWlmKGUucGFyZW50KXtsZXQgbj10aGlzLmRpc2FibGVkKGUucGFyZW50LHQpO2UucGFyZW50Ll9hdXRvcHJlZml4ZXJTZWxmRGlzYWJsZWQ9PT0hMD9pPSExOmk9bn1lbHNlIGk9ITE7cmV0dXJuIGUuX2F1dG9wcmVmaXhlckRpc2FibGVkPWksaX1yZWR1Y2VTcGFjZXMoZSl7bGV0IHQ9ITE7aWYodGhpcy5wcmVmaXhlcy5ncm91cChlKS51cCgoKT0+KHQ9ITAsITApKSx0KXJldHVybjtsZXQgaT1lLnJhdygiYmVmb3JlIikuc3BsaXQoYApgKSxuPWlbaS5sZW5ndGgtMV0ubGVuZ3RoLHM9ITE7dGhpcy5wcmVmaXhlcy5ncm91cChlKS5kb3duKGE9PntpPWEucmF3KCJiZWZvcmUiKS5zcGxpdChgCmApO2xldCBvPWkubGVuZ3RoLTE7aVtvXS5sZW5ndGg+biYmKHM9PT0hMSYmKHM9aVtvXS5sZW5ndGgtbiksaVtvXT1pW29dLnNsaWNlKDAsLXMpLGEucmF3cy5iZWZvcmU9aS5qb2luKGAKYCkpfSl9ZGlzcGxheVR5cGUoZSl7Zm9yKGxldCB0IG9mIGUucGFyZW50Lm5vZGVzKWlmKHQucHJvcD09PSJkaXNwbGF5Iil7aWYodC52YWx1ZS5pbmNsdWRlcygiZmxleCIpKXJldHVybiJmbGV4IjtpZih0LnZhbHVlLmluY2x1ZGVzKCJncmlkIikpcmV0dXJuImdyaWQifXJldHVybiExfWdyaWRTdGF0dXMoZSx0KXtpZighZSlyZXR1cm4hMTtpZihlLl9hdXRvcHJlZml4ZXJHcmlkU3RhdHVzIT09dm9pZCAwKXJldHVybiBlLl9hdXRvcHJlZml4ZXJHcmlkU3RhdHVzO2xldCBpPW51bGw7aWYoZS5ub2Rlcyl7bGV0IG47ZS5lYWNoKHM9PntpZihzLnR5cGU9PT0iY29tbWVudCImJkxPLnRlc3Qocy50ZXh0KSl7bGV0IGE9LzpccyphdXRvcGxhY2UvaS50ZXN0KHMudGV4dCksbz0vbm8tYXV0b3BsYWNlL2kudGVzdChzLnRleHQpO3R5cGVvZiBuIT0idW5kZWZpbmVkIj90Lndhcm4oIlNlY29uZCBBdXRvcHJlZml4ZXIgZ3JpZCBjb250cm9sIGNvbW1lbnQgd2FzIGlnbm9yZWQuIEF1dG9wcmVmaXhlciBhcHBsaWVzIGNvbnRyb2wgY29tbWVudHMgdG8gdGhlIHdob2xlIGJsb2NrLCBub3QgdG8gdGhlIG5leHQgcnVsZXMuIix7bm9kZTpzfSk6YT9uPSJhdXRvcGxhY2UiOm8/bj0hMDpuPS9vbi9pLnRlc3Qocy50ZXh0KX19KSxuIT09dm9pZCAwJiYoaT1uKX1pZihlLnR5cGU9PT0iYXRydWxlIiYmZS5uYW1lPT09InN1cHBvcnRzIil7bGV0IG49ZS5wYXJhbXM7bi5pbmNsdWRlcygiZ3JpZCIpJiZuLmluY2x1ZGVzKCJhdXRvIikmJihpPSExKX1pZighZS5ub2Rlc3x8aT09PW51bGwpaWYoZS5wYXJlbnQpe2xldCBuPXRoaXMuZ3JpZFN0YXR1cyhlLnBhcmVudCx0KTtlLnBhcmVudC5fYXV0b3ByZWZpeGVyU2VsZkRpc2FibGVkPT09ITA/aT0hMTppPW59ZWxzZSB0eXBlb2YgdGhpcy5wcmVmaXhlcy5vcHRpb25zLmdyaWQhPSJ1bmRlZmluZWQiP2k9dGhpcy5wcmVmaXhlcy5vcHRpb25zLmdyaWQ6dHlwZW9mIG0uZW52LkFVVE9QUkVGSVhFUl9HUklEIT0idW5kZWZpbmVkIj9tLmVudi5BVVRPUFJFRklYRVJfR1JJRD09PSJhdXRvcGxhY2UiP2k9ImF1dG9wbGFjZSI6aT0hMDppPSExO3JldHVybiBlLl9hdXRvcHJlZml4ZXJHcmlkU3RhdHVzPWksaX19O2hiLmV4cG9ydHM9ZGJ9KTt2YXIgZ2I9eCgoaCQsbWIpPT57dSgpO21iLmV4cG9ydHM9e0E6e0E6eyIyIjoiSyBFIEYgRyBBIEIgSkMifSxCOnsiMSI6IkMgTCBNIEggTiBEIE8gUCBRIFIgUyBUIFUgViBXIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogbiBvIHAgcSByIHMgdCB1IHYgdyB4IHkgeiBJIn0sQzp7IjEiOiIyIDMgNCA1IDYgNyA4IDkgQUIgQkIgQ0IgREIgRUIgRkIgR0IgSEIgSUIgSkIgS0IgTEIgTUIgTkIgT0IgUEIgUUIgUkIgU0IgVEIgVUIgVkIgV0IgWEIgWUIgWkIgYUIgYkIgY0IgMEIgZEIgMUIgZUIgZkIgZ0IgaEIgaUIgakIga0IgbEIgbUIgbkIgb0IgbSBwQiBxQiByQiBzQiB0QiBQIFEgUiAyQiBTIFQgVSBWIFcgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBuIG8gcCBxIHIgcyB0IHUgdiB3IHggeSB6IEkgdUIgM0IgNEIiLCIyIjoiMCAxIEtDIHpCIEogSyBFIEYgRyBBIEIgQyBMIE0gSCBOIEQgTyBrIGwgTEMgTUMifSxEOnsiMSI6IjggOSBBQiBCQiBDQiBEQiBFQiBGQiBHQiBIQiBJQiBKQiBLQiBMQiBNQiBOQiBPQiBQQiBRQiBSQiBTQiBUQiBVQiBWQiBXQiBYQiBZQiBaQiBhQiBiQiBjQiAwQiBkQiAxQiBlQiBmQiBnQiBoQiBpQiBqQiBrQiBsQiBtQiBuQiBvQiBtIHBCIHFCIHJCIHNCIHRCIFAgUSBSIFMgVCBVIFYgVyBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHogSSB1QiAzQiA0QiIsIjIiOiIwIDEgMiAzIDQgNSA2IDcgSiBLIEUgRiBHIEEgQiBDIEwgTSBIIE4gRCBPIGsgbCJ9LEU6eyIxIjoiRyBBIEIgQyBMIE0gSCBEIFJDIDZCIHZCIHdCIDdCIFNDIFRDIDhCIDlCIHhCIEFDIHlCIEJDIENDIERDIEVDIEZDIEdDIFVDIiwiMiI6IjAgSiBLIEUgRiBOQyA1QiBPQyBQQyBRQyJ9LEY6eyIxIjoiMSAyIDMgNCA1IDYgNyA4IDkgSCBOIEQgTyBrIGwgQUIgQkIgQ0IgREIgRUIgRkIgR0IgSEIgSUIgSkIgS0IgTEIgTUIgTkIgT0IgUEIgUUIgUkIgU0IgVEIgVUIgVkIgV0IgWEIgWUIgWkIgYUIgYkIgY0IgZEIgZUIgZkIgZ0IgaEIgaUIgakIga0IgbEIgbUIgbkIgb0IgbSBwQiBxQiByQiBzQiB0QiBQIFEgUiAyQiBTIFQgVSBWIFcgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiB3QiIsIjIiOiJHIEIgQyBWQyBXQyBYQyBZQyB2QiBIQyBaQyJ9LEc6eyIxIjoiRCBmQyBnQyBoQyBpQyBqQyBrQyBsQyBtQyBuQyBvQyBwQyBxQyByQyBzQyB0QyA4QiA5QiB4QiBBQyB5QiBCQyBDQyBEQyBFQyBGQyBHQyIsIjIiOiJGIDVCIGFDIElDIGJDIGNDIGRDIGVDIn0sSDp7IjEiOiJ1QyJ9LEk6eyIxIjoiSSB6QyAwQyIsIjIiOiJ6QiBKIHZDIHdDIHhDIHlDIElDIn0sSjp7IjIiOiJFIEEifSxLOnsiMSI6Im0iLCIyIjoiQSBCIEMgdkIgSEMgd0IifSxMOnsiMSI6IkkifSxNOnsiMSI6InVCIn0sTjp7IjIiOiJBIEIifSxPOnsiMSI6InhCIn0sUDp7IjEiOiJKIGsgbCAxQyAyQyAzQyA0QyA1QyA2QiA2QyA3QyA4QyA5QyBBRCB5QiBCRCBDRCBERCJ9LFE6eyIxIjoiN0IifSxSOnsiMSI6IkVEIn0sUzp7IjEiOiJGRCBHRCJ9fSxCOjQsQzoiQ1NTIEZlYXR1cmUgUXVlcmllcyJ9fSk7dmFyIHZiPXgoKG0kLHdiKT0+e3UoKTtmdW5jdGlvbiB5YihyKXtyZXR1cm4gcltyLmxlbmd0aC0xXX12YXIgYmI9e3BhcnNlKHIpe2xldCBlPVsiIl0sdD1bZV07Zm9yKGxldCBpIG9mIHIpe2lmKGk9PT0iKCIpe2U9WyIiXSx5Yih0KS5wdXNoKGUpLHQucHVzaChlKTtjb250aW51ZX1pZihpPT09IikiKXt0LnBvcCgpLGU9eWIodCksZS5wdXNoKCIiKTtjb250aW51ZX1lW2UubGVuZ3RoLTFdKz1pfXJldHVybiB0WzBdfSxzdHJpbmdpZnkocil7bGV0IGU9IiI7Zm9yKGxldCB0IG9mIHIpe2lmKHR5cGVvZiB0PT0ib2JqZWN0Iil7ZSs9YCgke2JiLnN0cmluZ2lmeSh0KX0pYDtjb250aW51ZX1lKz10fXJldHVybiBlfX07d2IuZXhwb3J0cz1iYn0pO3ZhciBDYj14KChnJCxBYik9Pnt1KCk7dmFyIEJPPWdiKCkse2ZlYXR1cmU6Rk99PShQcygpLFJzKSx7cGFyc2U6ak99PSRlKCksek89TXQoKSxsdT12YigpLFVPPUhlKCksVk89X2UoKSx4Yj1GTyhCTyksa2I9W107Zm9yKGxldCByIGluIHhiLnN0YXRzKXtsZXQgZT14Yi5zdGF0c1tyXTtmb3IobGV0IHQgaW4gZSl7bGV0IGk9ZVt0XTsveS8udGVzdChpKSYma2IucHVzaChyKyIgIit0KX19dmFyIFNiPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5QcmVmaXhlcz1lLHRoaXMuYWxsPXR9cHJlZml4ZXIoKXtpZih0aGlzLnByZWZpeGVyQ2FjaGUpcmV0dXJuIHRoaXMucHJlZml4ZXJDYWNoZTtsZXQgZT10aGlzLmFsbC5icm93c2Vycy5zZWxlY3RlZC5maWx0ZXIoaT0+a2IuaW5jbHVkZXMoaSkpLHQ9bmV3IHpPKHRoaXMuYWxsLmJyb3dzZXJzLmRhdGEsZSx0aGlzLmFsbC5vcHRpb25zKTtyZXR1cm4gdGhpcy5wcmVmaXhlckNhY2hlPW5ldyB0aGlzLlByZWZpeGVzKHRoaXMuYWxsLmRhdGEsdCx0aGlzLmFsbC5vcHRpb25zKSx0aGlzLnByZWZpeGVyQ2FjaGV9cGFyc2UoZSl7bGV0IHQ9ZS5zcGxpdCgiOiIpLGk9dFswXSxuPXRbMV07cmV0dXJuIG58fChuPSIiKSxbaS50cmltKCksbi50cmltKCldfXZpcnR1YWwoZSl7bGV0W3QsaV09dGhpcy5wYXJzZShlKSxuPWpPKCJhe30iKS5maXJzdDtyZXR1cm4gbi5hcHBlbmQoe3Byb3A6dCx2YWx1ZTppLHJhd3M6e2JlZm9yZToiIn19KSxufXByZWZpeGVkKGUpe2xldCB0PXRoaXMudmlydHVhbChlKTtpZih0aGlzLmRpc2FibGVkKHQuZmlyc3QpKXJldHVybiB0Lm5vZGVzO2xldCBpPXt3YXJuOigpPT5udWxsfSxuPXRoaXMucHJlZml4ZXIoKS5hZGRbdC5maXJzdC5wcm9wXTtuJiZuLnByb2Nlc3MmJm4ucHJvY2Vzcyh0LmZpcnN0LGkpO2ZvcihsZXQgcyBvZiB0Lm5vZGVzKXtmb3IobGV0IGEgb2YgdGhpcy5wcmVmaXhlcigpLnZhbHVlcygiYWRkIix0LmZpcnN0LnByb3ApKWEucHJvY2VzcyhzKTtVTy5zYXZlKHRoaXMuYWxsLHMpfXJldHVybiB0Lm5vZGVzfWlzTm90KGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJi9ub3RccyovaS50ZXN0KGUpfWlzT3IoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIiYmL1xzKm9yXHMqL2kudGVzdChlKX1pc1Byb3AoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZS5sZW5ndGg9PT0xJiZ0eXBlb2YgZVswXT09InN0cmluZyJ9aXNIYWNrKGUsdCl7cmV0dXJuIW5ldyBSZWdFeHAoYChcXCh8XFxzKSR7Vk8uZXNjYXBlUmVnZXhwKHQpfTpgKS50ZXN0KGUpfXRvUmVtb3ZlKGUsdCl7bGV0W2ksbl09dGhpcy5wYXJzZShlKSxzPXRoaXMuYWxsLnVucHJlZml4ZWQoaSksYT10aGlzLmFsbC5jbGVhbmVyKCk7aWYoYS5yZW1vdmVbaV0mJmEucmVtb3ZlW2ldLnJlbW92ZSYmIXRoaXMuaXNIYWNrKHQscykpcmV0dXJuITA7Zm9yKGxldCBvIG9mIGEudmFsdWVzKCJyZW1vdmUiLHMpKWlmKG8uY2hlY2sobikpcmV0dXJuITA7cmV0dXJuITF9cmVtb3ZlKGUsdCl7bGV0IGk9MDtmb3IoO2k8ZS5sZW5ndGg7KXtpZighdGhpcy5pc05vdChlW2ktMV0pJiZ0aGlzLmlzUHJvcChlW2ldKSYmdGhpcy5pc09yKGVbaSsxXSkpe2lmKHRoaXMudG9SZW1vdmUoZVtpXVswXSx0KSl7ZS5zcGxpY2UoaSwyKTtjb250aW51ZX1pKz0yO2NvbnRpbnVlfXR5cGVvZiBlW2ldPT0ib2JqZWN0IiYmKGVbaV09dGhpcy5yZW1vdmUoZVtpXSx0KSksaSs9MX1yZXR1cm4gZX1jbGVhbkJyYWNrZXRzKGUpe3JldHVybiBlLm1hcCh0PT50eXBlb2YgdCE9Im9iamVjdCI/dDp0Lmxlbmd0aD09PTEmJnR5cGVvZiB0WzBdPT0ib2JqZWN0Ij90aGlzLmNsZWFuQnJhY2tldHModFswXSk6dGhpcy5jbGVhbkJyYWNrZXRzKHQpKX1jb252ZXJ0KGUpe2xldCB0PVsiIl07Zm9yKGxldCBpIG9mIGUpdC5wdXNoKFtgJHtpLnByb3B9OiAke2kudmFsdWV9YF0pLHQucHVzaCgiIG9yICIpO3JldHVybiB0W3QubGVuZ3RoLTFdPSIiLHR9bm9ybWFsaXplKGUpe2lmKHR5cGVvZiBlIT0ib2JqZWN0IilyZXR1cm4gZTtpZihlPWUuZmlsdGVyKHQ9PnQhPT0iIiksdHlwZW9mIGVbMF09PSJzdHJpbmciKXtsZXQgdD1lWzBdLnRyaW0oKTtpZih0LmluY2x1ZGVzKCI6Iil8fHQ9PT0ic2VsZWN0b3IifHx0PT09Im5vdCBzZWxlY3RvciIpcmV0dXJuW2x1LnN0cmluZ2lmeShlKV19cmV0dXJuIGUubWFwKHQ9PnRoaXMubm9ybWFsaXplKHQpKX1hZGQoZSx0KXtyZXR1cm4gZS5tYXAoaT0+e2lmKHRoaXMuaXNQcm9wKGkpKXtsZXQgbj10aGlzLnByZWZpeGVkKGlbMF0pO3JldHVybiBuLmxlbmd0aD4xP3RoaXMuY29udmVydChuKTppfXJldHVybiB0eXBlb2YgaT09Im9iamVjdCI/dGhpcy5hZGQoaSx0KTppfSl9cHJvY2VzcyhlKXtsZXQgdD1sdS5wYXJzZShlLnBhcmFtcyk7dD10aGlzLm5vcm1hbGl6ZSh0KSx0PXRoaXMucmVtb3ZlKHQsZS5wYXJhbXMpLHQ9dGhpcy5hZGQodCxlLnBhcmFtcyksdD10aGlzLmNsZWFuQnJhY2tldHModCksZS5wYXJhbXM9bHUuc3RyaW5naWZ5KHQpfWRpc2FibGVkKGUpe2lmKCF0aGlzLmFsbC5vcHRpb25zLmdyaWQmJihlLnByb3A9PT0iZGlzcGxheSImJmUudmFsdWUuaW5jbHVkZXMoImdyaWQiKXx8ZS5wcm9wLmluY2x1ZGVzKCJncmlkIil8fGUucHJvcD09PSJqdXN0aWZ5LWl0ZW1zIikpcmV0dXJuITA7aWYodGhpcy5hbGwub3B0aW9ucy5mbGV4Ym94PT09ITEpe2lmKGUucHJvcD09PSJkaXNwbGF5IiYmZS52YWx1ZS5pbmNsdWRlcygiZmxleCIpKXJldHVybiEwO2xldCB0PVsib3JkZXIiLCJqdXN0aWZ5LWNvbnRlbnQiLCJhbGlnbi1pdGVtcyIsImFsaWduLWNvbnRlbnQiXTtpZihlLnByb3AuaW5jbHVkZXMoImZsZXgiKXx8dC5pbmNsdWRlcyhlLnByb3ApKXJldHVybiEwfXJldHVybiExfX07QWIuZXhwb3J0cz1TYn0pO3ZhciBPYj14KCh5JCxFYik9Pnt1KCk7dmFyIF9iPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5wcmVmaXg9dCx0aGlzLnByZWZpeGVkPWUucHJlZml4ZWQodGhpcy5wcmVmaXgpLHRoaXMucmVnZXhwPWUucmVnZXhwKHRoaXMucHJlZml4KSx0aGlzLnByZWZpeGVkcz1lLnBvc3NpYmxlKCkubWFwKGk9PltlLnByZWZpeGVkKGkpLGUucmVnZXhwKGkpXSksdGhpcy51bnByZWZpeGVkPWUubmFtZSx0aGlzLm5hbWVSZWdleHA9ZS5yZWdleHAoKX1pc0hhY2soZSl7bGV0IHQ9ZS5wYXJlbnQuaW5kZXgoZSkrMSxpPWUucGFyZW50Lm5vZGVzO2Zvcig7dDxpLmxlbmd0aDspe2xldCBuPWlbdF0uc2VsZWN0b3I7aWYoIW4pcmV0dXJuITA7aWYobi5pbmNsdWRlcyh0aGlzLnVucHJlZml4ZWQpJiZuLm1hdGNoKHRoaXMubmFtZVJlZ2V4cCkpcmV0dXJuITE7bGV0IHM9ITE7Zm9yKGxldFthLG9db2YgdGhpcy5wcmVmaXhlZHMpaWYobi5pbmNsdWRlcyhhKSYmbi5tYXRjaChvKSl7cz0hMDticmVha31pZighcylyZXR1cm4hMDt0Kz0xfXJldHVybiEwfWNoZWNrKGUpe3JldHVybiEoIWUuc2VsZWN0b3IuaW5jbHVkZXModGhpcy5wcmVmaXhlZCl8fCFlLnNlbGVjdG9yLm1hdGNoKHRoaXMucmVnZXhwKXx8dGhpcy5pc0hhY2soZSkpfX07RWIuZXhwb3J0cz1fYn0pO3ZhciBrcj14KChiJCxSYik9Pnt1KCk7dmFye2xpc3Q6SE99PSRlKCksV089T2IoKSxHTz13cigpLFFPPU10KCksWU89X2UoKSxUYj1jbGFzcyBleHRlbmRzIEdPe2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSk7dGhpcy5yZWdleHBDYWNoZT1uZXcgTWFwfWNoZWNrKGUpe3JldHVybiBlLnNlbGVjdG9yLmluY2x1ZGVzKHRoaXMubmFtZSk/ISFlLnNlbGVjdG9yLm1hdGNoKHRoaXMucmVnZXhwKCkpOiExfXByZWZpeGVkKGUpe3JldHVybiB0aGlzLm5hbWUucmVwbGFjZSgvXihcVyopLyxgJDEke2V9YCl9cmVnZXhwKGUpe2lmKCF0aGlzLnJlZ2V4cENhY2hlLmhhcyhlKSl7bGV0IHQ9ZT90aGlzLnByZWZpeGVkKGUpOnRoaXMubmFtZTt0aGlzLnJlZ2V4cENhY2hlLnNldChlLG5ldyBSZWdFeHAoYChefFteOiInPV0pJHtZTy5lc2NhcGVSZWdleHAodCl9YCwiZ2kiKSl9cmV0dXJuIHRoaXMucmVnZXhwQ2FjaGUuZ2V0KGUpfXBvc3NpYmxlKCl7cmV0dXJuIFFPLnByZWZpeGVzKCl9cHJlZml4ZWRzKGUpe2lmKGUuX2F1dG9wcmVmaXhlclByZWZpeGVkcyl7aWYoZS5fYXV0b3ByZWZpeGVyUHJlZml4ZWRzW3RoaXMubmFtZV0pcmV0dXJuIGUuX2F1dG9wcmVmaXhlclByZWZpeGVkc31lbHNlIGUuX2F1dG9wcmVmaXhlclByZWZpeGVkcz17fTtsZXQgdD17fTtpZihlLnNlbGVjdG9yLmluY2x1ZGVzKCIsIikpe2xldCBuPUhPLmNvbW1hKGUuc2VsZWN0b3IpLmZpbHRlcihzPT5zLmluY2x1ZGVzKHRoaXMubmFtZSkpO2ZvcihsZXQgcyBvZiB0aGlzLnBvc3NpYmxlKCkpdFtzXT1uLm1hcChhPT50aGlzLnJlcGxhY2UoYSxzKSkuam9pbigiLCAiKX1lbHNlIGZvcihsZXQgaSBvZiB0aGlzLnBvc3NpYmxlKCkpdFtpXT10aGlzLnJlcGxhY2UoZS5zZWxlY3RvcixpKTtyZXR1cm4gZS5fYXV0b3ByZWZpeGVyUHJlZml4ZWRzW3RoaXMubmFtZV09dCxlLl9hdXRvcHJlZml4ZXJQcmVmaXhlZHN9YWxyZWFkeShlLHQsaSl7bGV0IG49ZS5wYXJlbnQuaW5kZXgoZSktMTtmb3IoO24+PTA7KXtsZXQgcz1lLnBhcmVudC5ub2Rlc1tuXTtpZihzLnR5cGUhPT0icnVsZSIpcmV0dXJuITE7bGV0IGE9ITE7Zm9yKGxldCBvIGluIHRbdGhpcy5uYW1lXSl7bGV0IGw9dFt0aGlzLm5hbWVdW29dO2lmKHMuc2VsZWN0b3I9PT1sKXtpZihpPT09bylyZXR1cm4hMDthPSEwO2JyZWFrfX1pZighYSlyZXR1cm4hMTtuLT0xfXJldHVybiExfXJlcGxhY2UoZSx0KXtyZXR1cm4gZS5yZXBsYWNlKHRoaXMucmVnZXhwKCksYCQxJHt0aGlzLnByZWZpeGVkKHQpfWApfWFkZChlLHQpe2xldCBpPXRoaXMucHJlZml4ZWRzKGUpO2lmKHRoaXMuYWxyZWFkeShlLGksdCkpcmV0dXJuO2xldCBuPXRoaXMuY2xvbmUoZSx7c2VsZWN0b3I6aVt0aGlzLm5hbWVdW3RdfSk7ZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbil9b2xkKGUpe3JldHVybiBuZXcgV08odGhpcyxlKX19O1JiLmV4cG9ydHM9VGJ9KTt2YXIgRGI9eCgodyQsSWIpPT57dSgpO3ZhciBLTz13cigpLFBiPWNsYXNzIGV4dGVuZHMgS097YWRkKGUsdCl7bGV0IGk9dCtlLm5hbWU7aWYoZS5wYXJlbnQuc29tZShhPT5hLm5hbWU9PT1pJiZhLnBhcmFtcz09PWUucGFyYW1zKSlyZXR1cm47bGV0IHM9dGhpcy5jbG9uZShlLHtuYW1lOml9KTtyZXR1cm4gZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUscyl9cHJvY2VzcyhlKXtsZXQgdD10aGlzLnBhcmVudFByZWZpeChlKTtmb3IobGV0IGkgb2YgdGhpcy5wcmVmaXhlcykoIXR8fHQ9PT1pKSYmdGhpcy5hZGQoZSxpKX19O0liLmV4cG9ydHM9UGJ9KTt2YXIgJGI9eCgodiQscWIpPT57dSgpO3ZhciBYTz1rcigpLHV1PWNsYXNzIGV4dGVuZHMgWE97cHJlZml4ZWQoZSl7cmV0dXJuIGU9PT0iLXdlYmtpdC0iPyI6LXdlYmtpdC1mdWxsLXNjcmVlbiI6ZT09PSItbW96LSI/IjotbW96LWZ1bGwtc2NyZWVuIjpgOiR7ZX1mdWxsc2NyZWVuYH19O3V1Lm5hbWVzPVsiOmZ1bGxzY3JlZW4iXTtxYi5leHBvcnRzPXV1fSk7dmFyIE1iPXgoKHgkLExiKT0+e3UoKTt2YXIgWk89a3IoKSxmdT1jbGFzcyBleHRlbmRzIFpPe3Bvc3NpYmxlKCl7cmV0dXJuIHN1cGVyLnBvc3NpYmxlKCkuY29uY2F0KFsiLW1vei0gb2xkIiwiLW1zLSBvbGQiXSl9cHJlZml4ZWQoZSl7cmV0dXJuIGU9PT0iLXdlYmtpdC0iPyI6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIiOmU9PT0iLW1zLSI/Ijo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIjplPT09Ii1tcy0gb2xkIj8iOi1tcy1pbnB1dC1wbGFjZWhvbGRlciI6ZT09PSItbW96LSBvbGQiPyI6LW1vei1wbGFjZWhvbGRlciI6YDo6JHtlfXBsYWNlaG9sZGVyYH19O2Z1Lm5hbWVzPVsiOjpwbGFjZWhvbGRlciJdO0xiLmV4cG9ydHM9ZnV9KTt2YXIgQmI9eCgoayQsTmIpPT57dSgpO3ZhciBKTz1rcigpLGN1PWNsYXNzIGV4dGVuZHMgSk97cHJlZml4ZWQoZSl7cmV0dXJuIGU9PT0iLW1zLSI/IjotbXMtaW5wdXQtcGxhY2Vob2xkZXIiOmA6JHtlfXBsYWNlaG9sZGVyLXNob3duYH19O2N1Lm5hbWVzPVsiOnBsYWNlaG9sZGVyLXNob3duIl07TmIuZXhwb3J0cz1jdX0pO3ZhciBqYj14KChTJCxGYik9Pnt1KCk7dmFyIGVUPWtyKCksdFQ9X2UoKSxwdT1jbGFzcyBleHRlbmRzIGVUe2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSk7dGhpcy5wcmVmaXhlcyYmKHRoaXMucHJlZml4ZXM9dFQudW5pcSh0aGlzLnByZWZpeGVzLm1hcChuPT4iLXdlYmtpdC0iKSkpfXByZWZpeGVkKGUpe3JldHVybiBlPT09Ii13ZWJraXQtIj8iOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiI6YDo6JHtlfWZpbGUtc2VsZWN0b3ItYnV0dG9uYH19O3B1Lm5hbWVzPVsiOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiJdO0ZiLmV4cG9ydHM9cHV9KTt2YXIgUGU9eCgoQSQsemIpPT57dSgpO3piLmV4cG9ydHM9ZnVuY3Rpb24ocil7bGV0IGU7cmV0dXJuIHI9PT0iLXdlYmtpdC0gMjAwOSJ8fHI9PT0iLW1vei0iP2U9MjAwOTpyPT09Ii1tcy0iP2U9MjAxMjpyPT09Ii13ZWJraXQtIiYmKGU9ImZpbmFsIikscj09PSItd2Via2l0LSAyMDA5IiYmKHI9Ii13ZWJraXQtIiksW2Uscl19fSk7dmFyIFdiPXgoKEMkLEhiKT0+e3UoKTt2YXIgVWI9JGUoKS5saXN0LFZiPVBlKCksclQ9aigpLFNyPWNsYXNzIGV4dGVuZHMgclR7cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1WYih0KSxpPT09MjAwOT90KyJib3gtZmxleCI6c3VwZXIucHJlZml4ZWQoZSx0KX1ub3JtYWxpemUoKXtyZXR1cm4iZmxleCJ9c2V0KGUsdCl7bGV0IGk9VmIodClbMF07aWYoaT09PTIwMDkpcmV0dXJuIGUudmFsdWU9VWIuc3BhY2UoZS52YWx1ZSlbMF0sZS52YWx1ZT1Tci5vbGRWYWx1ZXNbZS52YWx1ZV18fGUudmFsdWUsc3VwZXIuc2V0KGUsdCk7aWYoaT09PTIwMTIpe2xldCBuPVViLnNwYWNlKGUudmFsdWUpO24ubGVuZ3RoPT09MyYmblsyXT09PSIwIiYmKGUudmFsdWU9bi5zbGljZSgwLDIpLmNvbmNhdCgiMHB4Iikuam9pbigiICIpKX1yZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtTci5uYW1lcz1bImZsZXgiLCJib3gtZmxleCJdO1NyLm9sZFZhbHVlcz17YXV0bzoiMSIsbm9uZToiMCJ9O0hiLmV4cG9ydHM9U3J9KTt2YXIgWWI9eCgoXyQsUWIpPT57dSgpO3ZhciBHYj1QZSgpLGlUPWooKSxkdT1jbGFzcyBleHRlbmRzIGlUe3ByZWZpeGVkKGUsdCl7bGV0IGk7cmV0dXJuW2ksdF09R2IodCksaT09PTIwMDk/dCsiYm94LW9yZGluYWwtZ3JvdXAiOmk9PT0yMDEyP3QrImZsZXgtb3JkZXIiOnN1cGVyLnByZWZpeGVkKGUsdCl9bm9ybWFsaXplKCl7cmV0dXJuIm9yZGVyIn1zZXQoZSx0KXtyZXR1cm4gR2IodClbMF09PT0yMDA5JiYvXGQvLnRlc3QoZS52YWx1ZSk/KGUudmFsdWU9KHBhcnNlSW50KGUudmFsdWUpKzEpLnRvU3RyaW5nKCksc3VwZXIuc2V0KGUsdCkpOnN1cGVyLnNldChlLHQpfX07ZHUubmFtZXM9WyJvcmRlciIsImZsZXgtb3JkZXIiLCJib3gtb3JkaW5hbC1ncm91cCJdO1FiLmV4cG9ydHM9ZHV9KTt2YXIgWGI9eCgoRSQsS2IpPT57dSgpO3ZhciBuVD1qKCksaHU9Y2xhc3MgZXh0ZW5kcyBuVHtjaGVjayhlKXtsZXQgdD1lLnZhbHVlO3JldHVybiF0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoImFscGhhKCIpJiYhdC5pbmNsdWRlcygiRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQiKSYmIXQuaW5jbHVkZXMoImRhdGE6aW1hZ2Uvc3ZnK3htbCIpfX07aHUubmFtZXM9WyJmaWx0ZXIiXTtLYi5leHBvcnRzPWh1fSk7dmFyIEpiPXgoKE8kLFpiKT0+e3UoKTt2YXIgc1Q9aigpLG11PWNsYXNzIGV4dGVuZHMgc1R7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IHM9dGhpcy5jbG9uZShlKSxhPWUucHJvcC5yZXBsYWNlKC9lbmQkLywic3RhcnQiKSxvPXQrZS5wcm9wLnJlcGxhY2UoL2VuZCQvLCJzcGFuIik7aWYoIWUucGFyZW50LnNvbWUobD0+bC5wcm9wPT09bykpe2lmKHMucHJvcD1vLGUudmFsdWUuaW5jbHVkZXMoInNwYW4iKSlzLnZhbHVlPWUudmFsdWUucmVwbGFjZSgvc3BhblxzL2ksIiIpO2Vsc2V7bGV0IGw7aWYoZS5wYXJlbnQud2Fsa0RlY2xzKGEsYz0+e2w9Y30pLGwpe2xldCBjPU51bWJlcihlLnZhbHVlKS1OdW1iZXIobC52YWx1ZSkrIiI7cy52YWx1ZT1jfWVsc2UgZS53YXJuKG4sYENhbiBub3QgcHJlZml4ICR7ZS5wcm9wfSAoJHthfSBpcyBub3QgZm91bmQpYCl9ZS5jbG9uZUJlZm9yZShzKX19fTttdS5uYW1lcz1bImdyaWQtcm93LWVuZCIsImdyaWQtY29sdW1uLWVuZCJdO1piLmV4cG9ydHM9bXV9KTt2YXIgdHc9eCgoVCQsZXcpPT57dSgpO3ZhciBhVD1qKCksZ3U9Y2xhc3MgZXh0ZW5kcyBhVHtjaGVjayhlKXtyZXR1cm4hZS52YWx1ZS5zcGxpdCgvXHMrLykuc29tZSh0PT57bGV0IGk9dC50b0xvd2VyQ2FzZSgpO3JldHVybiBpPT09InJldmVyc2UifHxpPT09ImFsdGVybmF0ZS1yZXZlcnNlIn0pfX07Z3UubmFtZXM9WyJhbmltYXRpb24iLCJhbmltYXRpb24tZGlyZWN0aW9uIl07ZXcuZXhwb3J0cz1ndX0pO3ZhciBpdz14KChSJCxydyk9Pnt1KCk7dmFyIG9UPVBlKCksbFQ9aigpLHl1PWNsYXNzIGV4dGVuZHMgbFR7aW5zZXJ0KGUsdCxpKXtsZXQgbjtpZihbbix0XT1vVCh0KSxuIT09MjAwOSlyZXR1cm4gc3VwZXIuaW5zZXJ0KGUsdCxpKTtsZXQgcz1lLnZhbHVlLnNwbGl0KC9ccysvKS5maWx0ZXIoZD0+ZCE9PSJ3cmFwIiYmZCE9PSJub3dyYXAiJiYid3JhcC1yZXZlcnNlIik7aWYocy5sZW5ndGg9PT0wfHxlLnBhcmVudC5zb21lKGQ9PmQucHJvcD09PXQrImJveC1vcmllbnQifHxkLnByb3A9PT10KyJib3gtZGlyZWN0aW9uIikpcmV0dXJuO2xldCBvPXNbMF0sbD1vLmluY2x1ZGVzKCJyb3ciKT8iaG9yaXpvbnRhbCI6InZlcnRpY2FsIixjPW8uaW5jbHVkZXMoInJldmVyc2UiKT8icmV2ZXJzZSI6Im5vcm1hbCIsZj10aGlzLmNsb25lKGUpO3JldHVybiBmLnByb3A9dCsiYm94LW9yaWVudCIsZi52YWx1ZT1sLHRoaXMubmVlZENhc2NhZGUoZSkmJihmLnJhd3MuYmVmb3JlPXRoaXMuY2FsY0JlZm9yZShpLGUsdCkpLGUucGFyZW50Lmluc2VydEJlZm9yZShlLGYpLGY9dGhpcy5jbG9uZShlKSxmLnByb3A9dCsiYm94LWRpcmVjdGlvbiIsZi52YWx1ZT1jLHRoaXMubmVlZENhc2NhZGUoZSkmJihmLnJhd3MuYmVmb3JlPXRoaXMuY2FsY0JlZm9yZShpLGUsdCkpLGUucGFyZW50Lmluc2VydEJlZm9yZShlLGYpfX07eXUubmFtZXM9WyJmbGV4LWZsb3ciLCJib3gtZGlyZWN0aW9uIiwiYm94LW9yaWVudCJdO3J3LmV4cG9ydHM9eXV9KTt2YXIgc3c9eCgoUCQsbncpPT57dSgpO3ZhciB1VD1QZSgpLGZUPWooKSxidT1jbGFzcyBleHRlbmRzIGZUe25vcm1hbGl6ZSgpe3JldHVybiJmbGV4In1wcmVmaXhlZChlLHQpe2xldCBpO3JldHVybltpLHRdPXVUKHQpLGk9PT0yMDA5P3QrImJveC1mbGV4IjppPT09MjAxMj90KyJmbGV4LXBvc2l0aXZlIjpzdXBlci5wcmVmaXhlZChlLHQpfX07YnUubmFtZXM9WyJmbGV4LWdyb3ciLCJmbGV4LXBvc2l0aXZlIl07bncuZXhwb3J0cz1idX0pO3ZhciBvdz14KChJJCxhdyk9Pnt1KCk7dmFyIGNUPVBlKCkscFQ9aigpLHd1PWNsYXNzIGV4dGVuZHMgcFR7c2V0KGUsdCl7aWYoY1QodClbMF0hPT0yMDA5KXJldHVybiBzdXBlci5zZXQoZSx0KX19O3d1Lm5hbWVzPVsiZmxleC13cmFwIl07YXcuZXhwb3J0cz13dX0pO3ZhciB1dz14KChEJCxsdyk9Pnt1KCk7dmFyIGRUPWooKSxBcj1CdCgpLHZ1PWNsYXNzIGV4dGVuZHMgZFR7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IHM9QXIucGFyc2UoZSksW2Esb109QXIudHJhbnNsYXRlKHMsMCwyKSxbbCxjXT1Bci50cmFuc2xhdGUocywxLDMpO1tbImdyaWQtcm93IixhXSxbImdyaWQtcm93LXNwYW4iLG9dLFsiZ3JpZC1jb2x1bW4iLGxdLFsiZ3JpZC1jb2x1bW4tc3BhbiIsY11dLmZvckVhY2goKFtmLGRdKT0+e0FyLmluc2VydERlY2woZSxmLGQpfSksQXIud2FyblRlbXBsYXRlU2VsZWN0b3JOb3RGb3VuZChlLG4pLEFyLndhcm5JZkdyaWRSb3dDb2x1bW5FeGlzdHMoZSxuKX19O3Z1Lm5hbWVzPVsiZ3JpZC1hcmVhIl07bHcuZXhwb3J0cz12dX0pO3ZhciBjdz14KChxJCxmdyk9Pnt1KCk7dmFyIGhUPWooKSxCaT1CdCgpLHh1PWNsYXNzIGV4dGVuZHMgaFR7aW5zZXJ0KGUsdCxpKXtpZih0IT09Ii1tcy0iKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpO2lmKGUucGFyZW50LnNvbWUoYT0+YS5wcm9wPT09Ii1tcy1ncmlkLXJvdy1hbGlnbiIpKXJldHVybjtsZXRbW24sc11dPUJpLnBhcnNlKGUpO3M/KEJpLmluc2VydERlY2woZSwiZ3JpZC1yb3ctYWxpZ24iLG4pLEJpLmluc2VydERlY2woZSwiZ3JpZC1jb2x1bW4tYWxpZ24iLHMpKTooQmkuaW5zZXJ0RGVjbChlLCJncmlkLXJvdy1hbGlnbiIsbiksQmkuaW5zZXJ0RGVjbChlLCJncmlkLWNvbHVtbi1hbGlnbiIsbikpfX07eHUubmFtZXM9WyJwbGFjZS1zZWxmIl07ZncuZXhwb3J0cz14dX0pO3ZhciBkdz14KCgkJCxwdyk9Pnt1KCk7dmFyIG1UPWooKSxrdT1jbGFzcyBleHRlbmRzIG1Ue2NoZWNrKGUpe2xldCB0PWUudmFsdWU7cmV0dXJuIXQuaW5jbHVkZXMoIi8iKXx8dC5pbmNsdWRlcygic3BhbiIpfW5vcm1hbGl6ZShlKXtyZXR1cm4gZS5yZXBsYWNlKCItc3RhcnQiLCIiKX1wcmVmaXhlZChlLHQpe2xldCBpPXN1cGVyLnByZWZpeGVkKGUsdCk7cmV0dXJuIHQ9PT0iLW1zLSImJihpPWkucmVwbGFjZSgiLXN0YXJ0IiwiIikpLGl9fTtrdS5uYW1lcz1bImdyaWQtcm93LXN0YXJ0IiwiZ3JpZC1jb2x1bW4tc3RhcnQiXTtwdy5leHBvcnRzPWt1fSk7dmFyIGd3PXgoKEwkLG13KT0+e3UoKTt2YXIgaHc9UGUoKSxnVD1qKCksQ3I9Y2xhc3MgZXh0ZW5kcyBnVHtjaGVjayhlKXtyZXR1cm4gZS5wYXJlbnQmJiFlLnBhcmVudC5zb21lKHQ9PnQucHJvcCYmdC5wcm9wLnN0YXJ0c1dpdGgoImdyaWQtIikpfXByZWZpeGVkKGUsdCl7bGV0IGk7cmV0dXJuW2ksdF09aHcodCksaT09PTIwMTI/dCsiZmxleC1pdGVtLWFsaWduIjpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZSgpe3JldHVybiJhbGlnbi1zZWxmIn1zZXQoZSx0KXtsZXQgaT1odyh0KVswXTtpZihpPT09MjAxMilyZXR1cm4gZS52YWx1ZT1Dci5vbGRWYWx1ZXNbZS52YWx1ZV18fGUudmFsdWUsc3VwZXIuc2V0KGUsdCk7aWYoaT09PSJmaW5hbCIpcmV0dXJuIHN1cGVyLnNldChlLHQpfX07Q3IubmFtZXM9WyJhbGlnbi1zZWxmIiwiZmxleC1pdGVtLWFsaWduIl07Q3Iub2xkVmFsdWVzPXsiZmxleC1lbmQiOiJlbmQiLCJmbGV4LXN0YXJ0Ijoic3RhcnQifTttdy5leHBvcnRzPUNyfSk7dmFyIGJ3PXgoKE0kLHl3KT0+e3UoKTt2YXIgeVQ9aigpLGJUPV9lKCksU3U9Y2xhc3MgZXh0ZW5kcyB5VHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpO3RoaXMucHJlZml4ZXMmJih0aGlzLnByZWZpeGVzPWJULnVuaXEodGhpcy5wcmVmaXhlcy5tYXAobj0+bj09PSItbXMtIj8iLXdlYmtpdC0iOm4pKSl9fTtTdS5uYW1lcz1bImFwcGVhcmFuY2UiXTt5dy5leHBvcnRzPVN1fSk7dmFyIHh3PXgoKE4kLHZ3KT0+e3UoKTt2YXIgd3c9UGUoKSx3VD1qKCksQXU9Y2xhc3MgZXh0ZW5kcyB3VHtub3JtYWxpemUoKXtyZXR1cm4iZmxleC1iYXNpcyJ9cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT13dyh0KSxpPT09MjAxMj90KyJmbGV4LXByZWZlcnJlZC1zaXplIjpzdXBlci5wcmVmaXhlZChlLHQpfXNldChlLHQpe2xldCBpO2lmKFtpLHRdPXd3KHQpLGk9PT0yMDEyfHxpPT09ImZpbmFsIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtBdS5uYW1lcz1bImZsZXgtYmFzaXMiLCJmbGV4LXByZWZlcnJlZC1zaXplIl07dncuZXhwb3J0cz1BdX0pO3ZhciBTdz14KChCJCxrdyk9Pnt1KCk7dmFyIHZUPWooKSxDdT1jbGFzcyBleHRlbmRzIHZUe25vcm1hbGl6ZSgpe3JldHVybiB0aGlzLm5hbWUucmVwbGFjZSgiYm94LWltYWdlIiwiYm9yZGVyIil9cHJlZml4ZWQoZSx0KXtsZXQgaT1zdXBlci5wcmVmaXhlZChlLHQpO3JldHVybiB0PT09Ii13ZWJraXQtIiYmKGk9aS5yZXBsYWNlKCJib3JkZXIiLCJib3gtaW1hZ2UiKSksaX19O0N1Lm5hbWVzPVsibWFzay1ib3JkZXIiLCJtYXNrLWJvcmRlci1zb3VyY2UiLCJtYXNrLWJvcmRlci1zbGljZSIsIm1hc2stYm9yZGVyLXdpZHRoIiwibWFzay1ib3JkZXItb3V0c2V0IiwibWFzay1ib3JkZXItcmVwZWF0IiwibWFzay1ib3gtaW1hZ2UiLCJtYXNrLWJveC1pbWFnZS1zb3VyY2UiLCJtYXNrLWJveC1pbWFnZS1zbGljZSIsIm1hc2stYm94LWltYWdlLXdpZHRoIiwibWFzay1ib3gtaW1hZ2Utb3V0c2V0IiwibWFzay1ib3gtaW1hZ2UtcmVwZWF0Il07a3cuZXhwb3J0cz1DdX0pO3ZhciBDdz14KChGJCxBdyk9Pnt1KCk7dmFyIHhUPWooKSxsdD1jbGFzcyBleHRlbmRzIHhUe2luc2VydChlLHQsaSl7bGV0IG49ZS5wcm9wPT09Im1hc2stY29tcG9zaXRlIixzO24/cz1lLnZhbHVlLnNwbGl0KCIsIik6cz1lLnZhbHVlLm1hdGNoKGx0LnJlZ2V4cCl8fFtdLHM9cy5tYXAoYz0+Yy50cmltKCkpLmZpbHRlcihjPT5jKTtsZXQgYT1zLmxlbmd0aCxvO2lmKGEmJihvPXRoaXMuY2xvbmUoZSksby52YWx1ZT1zLm1hcChjPT5sdC5vbGRWYWx1ZXNbY118fGMpLmpvaW4oIiwgIikscy5pbmNsdWRlcygiaW50ZXJzZWN0IikmJihvLnZhbHVlKz0iLCB4b3IiKSxvLnByb3A9dCsibWFzay1jb21wb3NpdGUiKSxuKXJldHVybiBhPyh0aGlzLm5lZWRDYXNjYWRlKGUpJiYoby5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlLHQpKSxlLnBhcmVudC5pbnNlcnRCZWZvcmUoZSxvKSk6dm9pZCAwO2xldCBsPXRoaXMuY2xvbmUoZSk7cmV0dXJuIGwucHJvcD10K2wucHJvcCxhJiYobC52YWx1ZT1sLnZhbHVlLnJlcGxhY2UobHQucmVnZXhwLCIiKSksdGhpcy5uZWVkQ2FzY2FkZShlKSYmKGwucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSksZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbCksYT8odGhpcy5uZWVkQ2FzY2FkZShlKSYmKG8ucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSksZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbykpOmV9fTtsdC5uYW1lcz1bIm1hc2siLCJtYXNrLWNvbXBvc2l0ZSJdO2x0Lm9sZFZhbHVlcz17YWRkOiJzb3VyY2Utb3ZlciIsc3VidHJhY3Q6InNvdXJjZS1vdXQiLGludGVyc2VjdDoic291cmNlLWluIixleGNsdWRlOiJ4b3IifTtsdC5yZWdleHA9bmV3IFJlZ0V4cChgXFxzKygke09iamVjdC5rZXlzKGx0Lm9sZFZhbHVlcykuam9pbigifCIpfSlcXGIoPyFcXCkpXFxzKig/PVssXSlgLCJpZyIpO0F3LmV4cG9ydHM9bHR9KTt2YXIgT3c9eCgoaiQsRXcpPT57dSgpO3ZhciBfdz1QZSgpLGtUPWooKSxfcj1jbGFzcyBleHRlbmRzIGtUe3ByZWZpeGVkKGUsdCl7bGV0IGk7cmV0dXJuW2ksdF09X3codCksaT09PTIwMDk/dCsiYm94LWFsaWduIjppPT09MjAxMj90KyJmbGV4LWFsaWduIjpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZSgpe3JldHVybiJhbGlnbi1pdGVtcyJ9c2V0KGUsdCl7bGV0IGk9X3codClbMF07cmV0dXJuKGk9PT0yMDA5fHxpPT09MjAxMikmJihlLnZhbHVlPV9yLm9sZFZhbHVlc1tlLnZhbHVlXXx8ZS52YWx1ZSksc3VwZXIuc2V0KGUsdCl9fTtfci5uYW1lcz1bImFsaWduLWl0ZW1zIiwiZmxleC1hbGlnbiIsImJveC1hbGlnbiJdO19yLm9sZFZhbHVlcz17ImZsZXgtZW5kIjoiZW5kIiwiZmxleC1zdGFydCI6InN0YXJ0In07RXcuZXhwb3J0cz1fcn0pO3ZhciBSdz14KCh6JCxUdyk9Pnt1KCk7dmFyIFNUPWooKSxfdT1jbGFzcyBleHRlbmRzIFNUe3NldChlLHQpe3JldHVybiB0PT09Ii1tcy0iJiZlLnZhbHVlPT09ImNvbnRhaW4iJiYoZS52YWx1ZT0iZWxlbWVudCIpLHN1cGVyLnNldChlLHQpfWluc2VydChlLHQsaSl7aWYoIShlLnZhbHVlPT09ImFsbCImJnQ9PT0iLW1zLSIpKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpfX07X3UubmFtZXM9WyJ1c2VyLXNlbGVjdCJdO1R3LmV4cG9ydHM9X3V9KTt2YXIgRHc9eCgoVSQsSXcpPT57dSgpO3ZhciBQdz1QZSgpLEFUPWooKSxFdT1jbGFzcyBleHRlbmRzIEFUe25vcm1hbGl6ZSgpe3JldHVybiJmbGV4LXNocmluayJ9cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1Qdyh0KSxpPT09MjAxMj90KyJmbGV4LW5lZ2F0aXZlIjpzdXBlci5wcmVmaXhlZChlLHQpfXNldChlLHQpe2xldCBpO2lmKFtpLHRdPVB3KHQpLGk9PT0yMDEyfHxpPT09ImZpbmFsIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtFdS5uYW1lcz1bImZsZXgtc2hyaW5rIiwiZmxleC1uZWdhdGl2ZSJdO0l3LmV4cG9ydHM9RXV9KTt2YXIgJHc9eCgoViQscXcpPT57dSgpO3ZhciBDVD1qKCksT3U9Y2xhc3MgZXh0ZW5kcyBDVHtwcmVmaXhlZChlLHQpe3JldHVybmAke3R9Y29sdW1uLSR7ZX1gfW5vcm1hbGl6ZShlKXtyZXR1cm4gZS5pbmNsdWRlcygiaW5zaWRlIik/ImJyZWFrLWluc2lkZSI6ZS5pbmNsdWRlcygiYmVmb3JlIik/ImJyZWFrLWJlZm9yZSI6ImJyZWFrLWFmdGVyIn1zZXQoZSx0KXtyZXR1cm4oZS5wcm9wPT09ImJyZWFrLWluc2lkZSImJmUudmFsdWU9PT0iYXZvaWQtY29sdW1uInx8ZS52YWx1ZT09PSJhdm9pZC1wYWdlIikmJihlLnZhbHVlPSJhdm9pZCIpLHN1cGVyLnNldChlLHQpfWluc2VydChlLHQsaSl7aWYoZS5wcm9wIT09ImJyZWFrLWluc2lkZSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7aWYoISgvcmVnaW9uL2kudGVzdChlLnZhbHVlKXx8L3BhZ2UvaS50ZXN0KGUudmFsdWUpKSlyZXR1cm4gc3VwZXIuaW5zZXJ0KGUsdCxpKX19O091Lm5hbWVzPVsiYnJlYWstaW5zaWRlIiwicGFnZS1icmVhay1pbnNpZGUiLCJjb2x1bW4tYnJlYWstaW5zaWRlIiwiYnJlYWstYmVmb3JlIiwicGFnZS1icmVhay1iZWZvcmUiLCJjb2x1bW4tYnJlYWstYmVmb3JlIiwiYnJlYWstYWZ0ZXIiLCJwYWdlLWJyZWFrLWFmdGVyIiwiY29sdW1uLWJyZWFrLWFmdGVyIl07cXcuZXhwb3J0cz1PdX0pO3ZhciBNdz14KChIJCxMdyk9Pnt1KCk7dmFyIF9UPWooKSxUdT1jbGFzcyBleHRlbmRzIF9Ue3ByZWZpeGVkKGUsdCl7cmV0dXJuIHQrInByaW50LWNvbG9yLWFkanVzdCJ9bm9ybWFsaXplKCl7cmV0dXJuImNvbG9yLWFkanVzdCJ9fTtUdS5uYW1lcz1bImNvbG9yLWFkanVzdCIsInByaW50LWNvbG9yLWFkanVzdCJdO0x3LmV4cG9ydHM9VHV9KTt2YXIgQnc9eCgoVyQsTncpPT57dSgpO3ZhciBFVD1qKCksRXI9Y2xhc3MgZXh0ZW5kcyBFVHtpbnNlcnQoZSx0LGkpe2lmKHQ9PT0iLW1zLSIpe2xldCBuPXRoaXMuc2V0KHRoaXMuY2xvbmUoZSksdCk7dGhpcy5uZWVkQ2FzY2FkZShlKSYmKG4ucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSk7bGV0IHM9Imx0ciI7cmV0dXJuIGUucGFyZW50Lm5vZGVzLmZvckVhY2goYT0+e2EucHJvcD09PSJkaXJlY3Rpb24iJiYoYS52YWx1ZT09PSJydGwifHxhLnZhbHVlPT09Imx0ciIpJiYocz1hLnZhbHVlKX0pLG4udmFsdWU9RXIubXNWYWx1ZXNbc11bZS52YWx1ZV18fGUudmFsdWUsZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbil9cmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSl9fTtFci5uYW1lcz1bIndyaXRpbmctbW9kZSJdO0VyLm1zVmFsdWVzPXtsdHI6eyJob3Jpem9udGFsLXRiIjoibHItdGIiLCJ2ZXJ0aWNhbC1ybCI6InRiLXJsIiwidmVydGljYWwtbHIiOiJ0Yi1sciJ9LHJ0bDp7Imhvcml6b250YWwtdGIiOiJybC10YiIsInZlcnRpY2FsLXJsIjoiYnQtcmwiLCJ2ZXJ0aWNhbC1sciI6ImJ0LWxyIn19O053LmV4cG9ydHM9RXJ9KTt2YXIganc9eCgoRyQsRncpPT57dSgpO3ZhciBPVD1qKCksUnU9Y2xhc3MgZXh0ZW5kcyBPVHtzZXQoZSx0KXtyZXR1cm4gZS52YWx1ZT1lLnZhbHVlLnJlcGxhY2UoL1xzK2ZpbGwoXHMpLywiJDEiKSxzdXBlci5zZXQoZSx0KX19O1J1Lm5hbWVzPVsiYm9yZGVyLWltYWdlIl07RncuZXhwb3J0cz1SdX0pO3ZhciBWdz14KChRJCxVdyk9Pnt1KCk7dmFyIHp3PVBlKCksVFQ9aigpLE9yPWNsYXNzIGV4dGVuZHMgVFR7cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT16dyh0KSxpPT09MjAxMj90KyJmbGV4LWxpbmUtcGFjayI6c3VwZXIucHJlZml4ZWQoZSx0KX1ub3JtYWxpemUoKXtyZXR1cm4iYWxpZ24tY29udGVudCJ9c2V0KGUsdCl7bGV0IGk9encodClbMF07aWYoaT09PTIwMTIpcmV0dXJuIGUudmFsdWU9T3Iub2xkVmFsdWVzW2UudmFsdWVdfHxlLnZhbHVlLHN1cGVyLnNldChlLHQpO2lmKGk9PT0iZmluYWwiKXJldHVybiBzdXBlci5zZXQoZSx0KX19O09yLm5hbWVzPVsiYWxpZ24tY29udGVudCIsImZsZXgtbGluZS1wYWNrIl07T3Iub2xkVmFsdWVzPXsiZmxleC1lbmQiOiJlbmQiLCJmbGV4LXN0YXJ0Ijoic3RhcnQiLCJzcGFjZS1iZXR3ZWVuIjoianVzdGlmeSIsInNwYWNlLWFyb3VuZCI6ImRpc3RyaWJ1dGUifTtVdy5leHBvcnRzPU9yfSk7dmFyIFd3PXgoKFkkLEh3KT0+e3UoKTt2YXIgUlQ9aigpLFdlPWNsYXNzIGV4dGVuZHMgUlR7cHJlZml4ZWQoZSx0KXtyZXR1cm4gdD09PSItbW96LSI/dCsoV2UudG9Nb3ppbGxhW2VdfHxlKTpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZShlKXtyZXR1cm4gV2UudG9Ob3JtYWxbZV18fGV9fTtXZS5uYW1lcz1bImJvcmRlci1yYWRpdXMiXTtXZS50b01vemlsbGE9e307V2UudG9Ob3JtYWw9e307Zm9yKGxldCByIG9mWyJ0b3AiLCJib3R0b20iXSlmb3IobGV0IGUgb2ZbImxlZnQiLCJyaWdodCJdKXtsZXQgdD1gYm9yZGVyLSR7cn0tJHtlfS1yYWRpdXNgLGk9YGJvcmRlci1yYWRpdXMtJHtyfSR7ZX1gO1dlLm5hbWVzLnB1c2godCksV2UubmFtZXMucHVzaChpKSxXZS50b01vemlsbGFbdF09aSxXZS50b05vcm1hbFtpXT10fUh3LmV4cG9ydHM9V2V9KTt2YXIgUXc9eCgoSyQsR3cpPT57dSgpO3ZhciBQVD1qKCksUHU9Y2xhc3MgZXh0ZW5kcyBQVHtwcmVmaXhlZChlLHQpe3JldHVybiBlLmluY2x1ZGVzKCItc3RhcnQiKT90K2UucmVwbGFjZSgiLWJsb2NrLXN0YXJ0IiwiLWJlZm9yZSIpOnQrZS5yZXBsYWNlKCItYmxvY2stZW5kIiwiLWFmdGVyIil9bm9ybWFsaXplKGUpe3JldHVybiBlLmluY2x1ZGVzKCItYmVmb3JlIik/ZS5yZXBsYWNlKCItYmVmb3JlIiwiLWJsb2NrLXN0YXJ0Iik6ZS5yZXBsYWNlKCItYWZ0ZXIiLCItYmxvY2stZW5kIil9fTtQdS5uYW1lcz1bImJvcmRlci1ibG9jay1zdGFydCIsImJvcmRlci1ibG9jay1lbmQiLCJtYXJnaW4tYmxvY2stc3RhcnQiLCJtYXJnaW4tYmxvY2stZW5kIiwicGFkZGluZy1ibG9jay1zdGFydCIsInBhZGRpbmctYmxvY2stZW5kIiwiYm9yZGVyLWJlZm9yZSIsImJvcmRlci1hZnRlciIsIm1hcmdpbi1iZWZvcmUiLCJtYXJnaW4tYWZ0ZXIiLCJwYWRkaW5nLWJlZm9yZSIsInBhZGRpbmctYWZ0ZXIiXTtHdy5leHBvcnRzPVB1fSk7dmFyIEt3PXgoKFgkLFl3KT0+e3UoKTt2YXIgSVQ9aigpLHtwYXJzZVRlbXBsYXRlOkRULHdhcm5NaXNzZWRBcmVhczpxVCxnZXRHcmlkR2FwOiRULHdhcm5HcmlkR2FwOkxULGluaGVyaXRHcmlkR2FwOk1UfT1CdCgpLEl1PWNsYXNzIGV4dGVuZHMgSVR7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7aWYoZS5wYXJlbnQuc29tZShoPT5oLnByb3A9PT0iLW1zLWdyaWQtcm93cyIpKXJldHVybjtsZXQgcz0kVChlKSxhPU1UKGUscykse3Jvd3M6byxjb2x1bW5zOmwsYXJlYXM6Y309RFQoe2RlY2w6ZSxnYXA6YXx8c30pLGY9T2JqZWN0LmtleXMoYykubGVuZ3RoPjAsZD1Cb29sZWFuKG8pLHA9Qm9vbGVhbihsKTtyZXR1cm4gTFQoe2dhcDpzLGhhc0NvbHVtbnM6cCxkZWNsOmUscmVzdWx0Om59KSxxVChjLGUsbiksKGQmJnB8fGYpJiZlLmNsb25lQmVmb3JlKHtwcm9wOiItbXMtZ3JpZC1yb3dzIix2YWx1ZTpvLHJhd3M6e319KSxwJiZlLmNsb25lQmVmb3JlKHtwcm9wOiItbXMtZ3JpZC1jb2x1bW5zIix2YWx1ZTpsLHJhd3M6e319KSxlfX07SXUubmFtZXM9WyJncmlkLXRlbXBsYXRlIl07WXcuZXhwb3J0cz1JdX0pO3ZhciBadz14KChaJCxYdyk9Pnt1KCk7dmFyIE5UPWooKSxEdT1jbGFzcyBleHRlbmRzIE5Ue3ByZWZpeGVkKGUsdCl7cmV0dXJuIHQrZS5yZXBsYWNlKCItaW5saW5lIiwiIil9bm9ybWFsaXplKGUpe3JldHVybiBlLnJlcGxhY2UoLyhtYXJnaW58cGFkZGluZ3xib3JkZXIpLShzdGFydHxlbmQpLywiJDEtaW5saW5lLSQyIil9fTtEdS5uYW1lcz1bImJvcmRlci1pbmxpbmUtc3RhcnQiLCJib3JkZXItaW5saW5lLWVuZCIsIm1hcmdpbi1pbmxpbmUtc3RhcnQiLCJtYXJnaW4taW5saW5lLWVuZCIsInBhZGRpbmctaW5saW5lLXN0YXJ0IiwicGFkZGluZy1pbmxpbmUtZW5kIiwiYm9yZGVyLXN0YXJ0IiwiYm9yZGVyLWVuZCIsIm1hcmdpbi1zdGFydCIsIm1hcmdpbi1lbmQiLCJwYWRkaW5nLXN0YXJ0IiwicGFkZGluZy1lbmQiXTtYdy5leHBvcnRzPUR1fSk7dmFyIGUwPXgoKEokLEp3KT0+e3UoKTt2YXIgQlQ9aigpLHF1PWNsYXNzIGV4dGVuZHMgQlR7Y2hlY2soZSl7cmV0dXJuIWUudmFsdWUuaW5jbHVkZXMoImZsZXgtIikmJmUudmFsdWUhPT0iYmFzZWxpbmUifXByZWZpeGVkKGUsdCl7cmV0dXJuIHQrImdyaWQtcm93LWFsaWduIn1ub3JtYWxpemUoKXtyZXR1cm4iYWxpZ24tc2VsZiJ9fTtxdS5uYW1lcz1bImdyaWQtcm93LWFsaWduIl07SncuZXhwb3J0cz1xdX0pO3ZhciByMD14KChlTCx0MCk9Pnt1KCk7dmFyIEZUPWooKSxUcj1jbGFzcyBleHRlbmRzIEZUe2tleWZyYW1lUGFyZW50cyhlKXtsZXR7cGFyZW50OnR9PWU7Zm9yKDt0Oyl7aWYodC50eXBlPT09ImF0cnVsZSImJnQubmFtZT09PSJrZXlmcmFtZXMiKXJldHVybiEwOyh7cGFyZW50OnR9PXQpfXJldHVybiExfWNvbnRhaW4zZChlKXtpZihlLnByb3A9PT0idHJhbnNmb3JtLW9yaWdpbiIpcmV0dXJuITE7Zm9yKGxldCB0IG9mIFRyLmZ1bmN0aW9uczNkKWlmKGUudmFsdWUuaW5jbHVkZXMoYCR7dH0oYCkpcmV0dXJuITA7cmV0dXJuITF9c2V0KGUsdCl7cmV0dXJuIGU9c3VwZXIuc2V0KGUsdCksdD09PSItbXMtIiYmKGUudmFsdWU9ZS52YWx1ZS5yZXBsYWNlKC9yb3RhdGV6L2dpLCJyb3RhdGUiKSksZX1pbnNlcnQoZSx0LGkpe2lmKHQ9PT0iLW1zLSIpe2lmKCF0aGlzLmNvbnRhaW4zZChlKSYmIXRoaXMua2V5ZnJhbWVQYXJlbnRzKGUpKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpfWVsc2UgaWYodD09PSItby0iKXtpZighdGhpcy5jb250YWluM2QoZSkpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSl9ZWxzZSByZXR1cm4gc3VwZXIuaW5zZXJ0KGUsdCxpKX19O1RyLm5hbWVzPVsidHJhbnNmb3JtIiwidHJhbnNmb3JtLW9yaWdpbiJdO1RyLmZ1bmN0aW9uczNkPVsibWF0cml4M2QiLCJ0cmFuc2xhdGUzZCIsInRyYW5zbGF0ZVoiLCJzY2FsZTNkIiwic2NhbGVaIiwicm90YXRlM2QiLCJyb3RhdGVYIiwicm90YXRlWSIsInBlcnNwZWN0aXZlIl07dDAuZXhwb3J0cz1Ucn0pO3ZhciBzMD14KCh0TCxuMCk9Pnt1KCk7dmFyIGkwPVBlKCksalQ9aigpLCR1PWNsYXNzIGV4dGVuZHMgalR7bm9ybWFsaXplKCl7cmV0dXJuImZsZXgtZGlyZWN0aW9uIn1pbnNlcnQoZSx0LGkpe2xldCBuO2lmKFtuLHRdPWkwKHQpLG4hPT0yMDA5KXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpO2lmKGUucGFyZW50LnNvbWUoZj0+Zi5wcm9wPT09dCsiYm94LW9yaWVudCJ8fGYucHJvcD09PXQrImJveC1kaXJlY3Rpb24iKSlyZXR1cm47bGV0IGE9ZS52YWx1ZSxvLGw7YT09PSJpbmhlcml0Inx8YT09PSJpbml0aWFsInx8YT09PSJ1bnNldCI/KG89YSxsPWEpOihvPWEuaW5jbHVkZXMoInJvdyIpPyJob3Jpem9udGFsIjoidmVydGljYWwiLGw9YS5pbmNsdWRlcygicmV2ZXJzZSIpPyJyZXZlcnNlIjoibm9ybWFsIik7bGV0IGM9dGhpcy5jbG9uZShlKTtyZXR1cm4gYy5wcm9wPXQrImJveC1vcmllbnQiLGMudmFsdWU9byx0aGlzLm5lZWRDYXNjYWRlKGUpJiYoYy5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlLHQpKSxlLnBhcmVudC5pbnNlcnRCZWZvcmUoZSxjKSxjPXRoaXMuY2xvbmUoZSksYy5wcm9wPXQrImJveC1kaXJlY3Rpb24iLGMudmFsdWU9bCx0aGlzLm5lZWRDYXNjYWRlKGUpJiYoYy5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlLHQpKSxlLnBhcmVudC5pbnNlcnRCZWZvcmUoZSxjKX1vbGQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1pMCh0KSxpPT09MjAwOT9bdCsiYm94LW9yaWVudCIsdCsiYm94LWRpcmVjdGlvbiJdOnN1cGVyLm9sZChlLHQpfX07JHUubmFtZXM9WyJmbGV4LWRpcmVjdGlvbiIsImJveC1kaXJlY3Rpb24iLCJib3gtb3JpZW50Il07bjAuZXhwb3J0cz0kdX0pO3ZhciBvMD14KChyTCxhMCk9Pnt1KCk7dmFyIHpUPWooKSxMdT1jbGFzcyBleHRlbmRzIHpUe2NoZWNrKGUpe3JldHVybiBlLnZhbHVlPT09InBpeGVsYXRlZCJ9cHJlZml4ZWQoZSx0KXtyZXR1cm4gdD09PSItbXMtIj8iLW1zLWludGVycG9sYXRpb24tbW9kZSI6c3VwZXIucHJlZml4ZWQoZSx0KX1zZXQoZSx0KXtyZXR1cm4gdCE9PSItbXMtIj9zdXBlci5zZXQoZSx0KTooZS5wcm9wPSItbXMtaW50ZXJwb2xhdGlvbi1tb2RlIixlLnZhbHVlPSJuZWFyZXN0LW5laWdoYm9yIixlKX1ub3JtYWxpemUoKXtyZXR1cm4iaW1hZ2UtcmVuZGVyaW5nIn1wcm9jZXNzKGUsdCl7cmV0dXJuIHN1cGVyLnByb2Nlc3MoZSx0KX19O0x1Lm5hbWVzPVsiaW1hZ2UtcmVuZGVyaW5nIiwiaW50ZXJwb2xhdGlvbi1tb2RlIl07YTAuZXhwb3J0cz1MdX0pO3ZhciB1MD14KChpTCxsMCk9Pnt1KCk7dmFyIFVUPWooKSxWVD1fZSgpLE11PWNsYXNzIGV4dGVuZHMgVVR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCxpKTt0aGlzLnByZWZpeGVzJiYodGhpcy5wcmVmaXhlcz1WVC51bmlxKHRoaXMucHJlZml4ZXMubWFwKG49Pm49PT0iLW1zLSI/Ii13ZWJraXQtIjpuKSkpfX07TXUubmFtZXM9WyJiYWNrZHJvcC1maWx0ZXIiXTtsMC5leHBvcnRzPU11fSk7dmFyIGMwPXgoKG5MLGYwKT0+e3UoKTt2YXIgSFQ9aigpLFdUPV9lKCksTnU9Y2xhc3MgZXh0ZW5kcyBIVHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpO3RoaXMucHJlZml4ZXMmJih0aGlzLnByZWZpeGVzPVdULnVuaXEodGhpcy5wcmVmaXhlcy5tYXAobj0+bj09PSItbXMtIj8iLXdlYmtpdC0iOm4pKSl9Y2hlY2soZSl7cmV0dXJuIGUudmFsdWUudG9Mb3dlckNhc2UoKT09PSJ0ZXh0In19O051Lm5hbWVzPVsiYmFja2dyb3VuZC1jbGlwIl07ZjAuZXhwb3J0cz1OdX0pO3ZhciBkMD14KChzTCxwMCk9Pnt1KCk7dmFyIEdUPWooKSxRVD1bIm5vbmUiLCJ1bmRlcmxpbmUiLCJvdmVybGluZSIsImxpbmUtdGhyb3VnaCIsImJsaW5rIiwiaW5oZXJpdCIsImluaXRpYWwiLCJ1bnNldCJdLEJ1PWNsYXNzIGV4dGVuZHMgR1R7Y2hlY2soZSl7cmV0dXJuIGUudmFsdWUuc3BsaXQoL1xzKy8pLnNvbWUodD0+IVFULmluY2x1ZGVzKHQpKX19O0J1Lm5hbWVzPVsidGV4dC1kZWNvcmF0aW9uIl07cDAuZXhwb3J0cz1CdX0pO3ZhciBnMD14KChhTCxtMCk9Pnt1KCk7dmFyIGgwPVBlKCksWVQ9aigpLFJyPWNsYXNzIGV4dGVuZHMgWVR7cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1oMCh0KSxpPT09MjAwOT90KyJib3gtcGFjayI6aT09PTIwMTI/dCsiZmxleC1wYWNrIjpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZSgpe3JldHVybiJqdXN0aWZ5LWNvbnRlbnQifXNldChlLHQpe2xldCBpPWgwKHQpWzBdO2lmKGk9PT0yMDA5fHxpPT09MjAxMil7bGV0IG49UnIub2xkVmFsdWVzW2UudmFsdWVdfHxlLnZhbHVlO2lmKGUudmFsdWU9bixpIT09MjAwOXx8biE9PSJkaXN0cmlidXRlIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9ZWxzZSBpZihpPT09ImZpbmFsIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtSci5uYW1lcz1bImp1c3RpZnktY29udGVudCIsImZsZXgtcGFjayIsImJveC1wYWNrIl07UnIub2xkVmFsdWVzPXsiZmxleC1lbmQiOiJlbmQiLCJmbGV4LXN0YXJ0Ijoic3RhcnQiLCJzcGFjZS1iZXR3ZWVuIjoianVzdGlmeSIsInNwYWNlLWFyb3VuZCI6ImRpc3RyaWJ1dGUifTttMC5leHBvcnRzPVJyfSk7dmFyIGIwPXgoKG9MLHkwKT0+e3UoKTt2YXIgS1Q9aigpLEZ1PWNsYXNzIGV4dGVuZHMgS1R7c2V0KGUsdCl7bGV0IGk9ZS52YWx1ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09Ii13ZWJraXQtIiYmIWkuaW5jbHVkZXMoIiAiKSYmaSE9PSJjb250YWluIiYmaSE9PSJjb3ZlciImJihlLnZhbHVlPWUudmFsdWUrIiAiK2UudmFsdWUpLHN1cGVyLnNldChlLHQpfX07RnUubmFtZXM9WyJiYWNrZ3JvdW5kLXNpemUiXTt5MC5leHBvcnRzPUZ1fSk7dmFyIHYwPXgoKGxMLHcwKT0+e3UoKTt2YXIgWFQ9aigpLGp1PUJ0KCksenU9Y2xhc3MgZXh0ZW5kcyBYVHtpbnNlcnQoZSx0LGkpe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IG49anUucGFyc2UoZSksW3MsYV09anUudHJhbnNsYXRlKG4sMCwxKTtuWzBdJiZuWzBdLmluY2x1ZGVzKCJzcGFuIikmJihhPW5bMF0uam9pbigiIikucmVwbGFjZSgvXEQvZywiIikpLFtbZS5wcm9wLHNdLFtgJHtlLnByb3B9LXNwYW5gLGFdXS5mb3JFYWNoKChbbCxjXSk9PntqdS5pbnNlcnREZWNsKGUsbCxjKX0pfX07enUubmFtZXM9WyJncmlkLXJvdyIsImdyaWQtY29sdW1uIl07dzAuZXhwb3J0cz16dX0pO3ZhciBTMD14KCh1TCxrMCk9Pnt1KCk7dmFyIFpUPWooKSx7cHJlZml4VHJhY2tQcm9wOngwLHByZWZpeFRyYWNrVmFsdWU6SlQsYXV0b3BsYWNlR3JpZEl0ZW1zOmVSLGdldEdyaWRHYXA6dFIsaW5oZXJpdEdyaWRHYXA6clJ9PUJ0KCksaVI9b3UoKSxVdT1jbGFzcyBleHRlbmRzIFpUe3ByZWZpeGVkKGUsdCl7cmV0dXJuIHQ9PT0iLW1zLSI/eDAoe3Byb3A6ZSxwcmVmaXg6dH0pOnN1cGVyLnByZWZpeGVkKGUsdCl9bm9ybWFsaXplKGUpe3JldHVybiBlLnJlcGxhY2UoL15ncmlkLShyb3dzfGNvbHVtbnMpLywiZ3JpZC10ZW1wbGF0ZS0kMSIpfWluc2VydChlLHQsaSxuKXtpZih0IT09Ii1tcy0iKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpO2xldHtwYXJlbnQ6cyxwcm9wOmEsdmFsdWU6b309ZSxsPWEuaW5jbHVkZXMoInJvd3MiKSxjPWEuaW5jbHVkZXMoImNvbHVtbnMiKSxmPXMuc29tZShrPT5rLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZSJ8fGsucHJvcD09PSJncmlkLXRlbXBsYXRlLWFyZWFzIik7aWYoZiYmbClyZXR1cm4hMTtsZXQgZD1uZXcgaVIoe29wdGlvbnM6e319KSxwPWQuZ3JpZFN0YXR1cyhzLG4pLGg9dFIoZSk7aD1yUihlLGgpfHxoO2xldCBiPWw/aC5yb3c6aC5jb2x1bW47KHA9PT0ibm8tYXV0b3BsYWNlInx8cD09PSEwKSYmIWYmJihiPW51bGwpO2xldCB2PUpUKHt2YWx1ZTpvLGdhcDpifSk7ZS5jbG9uZUJlZm9yZSh7cHJvcDp4MCh7cHJvcDphLHByZWZpeDp0fSksdmFsdWU6dn0pO2xldCB5PXMubm9kZXMuZmluZChrPT5rLnByb3A9PT0iZ3JpZC1hdXRvLWZsb3ciKSx3PSJyb3ciO2lmKHkmJiFkLmRpc2FibGVkKHksbikmJih3PXkudmFsdWUudHJpbSgpKSxwPT09ImF1dG9wbGFjZSIpe2xldCBrPXMubm9kZXMuZmluZChFPT5FLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZS1yb3dzIik7aWYoIWsmJmYpcmV0dXJuO2lmKCFrJiYhZil7ZS53YXJuKG4sIkF1dG9wbGFjZW1lbnQgZG9lcyBub3Qgd29yayB3aXRob3V0IGdyaWQtdGVtcGxhdGUtcm93cyBwcm9wZXJ0eSIpO3JldHVybn0hcy5ub2Rlcy5maW5kKEU9PkUucHJvcD09PSJncmlkLXRlbXBsYXRlLWNvbHVtbnMiKSYmIWYmJmUud2FybihuLCJBdXRvcGxhY2VtZW50IGRvZXMgbm90IHdvcmsgd2l0aG91dCBncmlkLXRlbXBsYXRlLWNvbHVtbnMgcHJvcGVydHkiKSxjJiYhZiYmZVIoZSxuLGgsdyl9fX07VXUubmFtZXM9WyJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLXJvd3MiLCJncmlkLWNvbHVtbnMiXTtrMC5leHBvcnRzPVV1fSk7dmFyIEMwPXgoKGZMLEEwKT0+e3UoKTt2YXIgblI9aigpLFZ1PWNsYXNzIGV4dGVuZHMgblJ7Y2hlY2soZSl7cmV0dXJuIWUudmFsdWUuaW5jbHVkZXMoImZsZXgtIikmJmUudmFsdWUhPT0iYmFzZWxpbmUifXByZWZpeGVkKGUsdCl7cmV0dXJuIHQrImdyaWQtY29sdW1uLWFsaWduIn1ub3JtYWxpemUoKXtyZXR1cm4ianVzdGlmeS1zZWxmIn19O1Z1Lm5hbWVzPVsiZ3JpZC1jb2x1bW4tYWxpZ24iXTtBMC5leHBvcnRzPVZ1fSk7dmFyIEUwPXgoKGNMLF8wKT0+e3UoKTt2YXIgc1I9aigpLEh1PWNsYXNzIGV4dGVuZHMgc1J7cHJlZml4ZWQoZSx0KXtyZXR1cm4gdCsic2Nyb2xsLWNoYWluaW5nIn1ub3JtYWxpemUoKXtyZXR1cm4ib3ZlcnNjcm9sbC1iZWhhdmlvciJ9c2V0KGUsdCl7cmV0dXJuIGUudmFsdWU9PT0iYXV0byI/ZS52YWx1ZT0iY2hhaW5lZCI6KGUudmFsdWU9PT0ibm9uZSJ8fGUudmFsdWU9PT0iY29udGFpbiIpJiYoZS52YWx1ZT0ibm9uZSIpLHN1cGVyLnNldChlLHQpfX07SHUubmFtZXM9WyJvdmVyc2Nyb2xsLWJlaGF2aW9yIiwic2Nyb2xsLWNoYWluaW5nIl07XzAuZXhwb3J0cz1IdX0pO3ZhciBSMD14KChwTCxUMCk9Pnt1KCk7dmFyIGFSPWooKSx7cGFyc2VHcmlkQXJlYXM6b1Isd2Fybk1pc3NlZEFyZWFzOmxSLHByZWZpeFRyYWNrUHJvcDp1UixwcmVmaXhUcmFja1ZhbHVlOk8wLGdldEdyaWRHYXA6ZlIsd2FybkdyaWRHYXA6Y1IsaW5oZXJpdEdyaWRHYXA6cFJ9PUJ0KCk7ZnVuY3Rpb24gZFIocil7cmV0dXJuIHIudHJpbSgpLnNsaWNlKDEsLTEpLnNwbGl0KC9bIiddXHMqWyInXT8vZyl9dmFyIFd1PWNsYXNzIGV4dGVuZHMgYVJ7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IHM9ITEsYT0hMSxvPWUucGFyZW50LGw9ZlIoZSk7bD1wUihlLGwpfHxsLG8ud2Fsa0RlY2xzKC8tbXMtZ3JpZC1yb3dzLyxkPT5kLnJlbW92ZSgpKSxvLndhbGtEZWNscygvZ3JpZC10ZW1wbGF0ZS0ocm93c3xjb2x1bW5zKS8sZD0+e2lmKGQucHJvcD09PSJncmlkLXRlbXBsYXRlLXJvd3MiKXthPSEwO2xldHtwcm9wOnAsdmFsdWU6aH09ZDtkLmNsb25lQmVmb3JlKHtwcm9wOnVSKHtwcm9wOnAscHJlZml4OnR9KSx2YWx1ZTpPMCh7dmFsdWU6aCxnYXA6bC5yb3d9KX0pfWVsc2Ugcz0hMH0pO2xldCBjPWRSKGUudmFsdWUpO3MmJiFhJiZsLnJvdyYmYy5sZW5ndGg+MSYmZS5jbG9uZUJlZm9yZSh7cHJvcDoiLW1zLWdyaWQtcm93cyIsdmFsdWU6TzAoe3ZhbHVlOmByZXBlYXQoJHtjLmxlbmd0aH0sIGF1dG8pYCxnYXA6bC5yb3d9KSxyYXdzOnt9fSksY1Ioe2dhcDpsLGhhc0NvbHVtbnM6cyxkZWNsOmUscmVzdWx0Om59KTtsZXQgZj1vUih7cm93czpjLGdhcDpsfSk7cmV0dXJuIGxSKGYsZSxuKSxlfX07V3UubmFtZXM9WyJncmlkLXRlbXBsYXRlLWFyZWFzIl07VDAuZXhwb3J0cz1XdX0pO3ZhciBJMD14KChkTCxQMCk9Pnt1KCk7dmFyIGhSPWooKSxHdT1jbGFzcyBleHRlbmRzIGhSe3NldChlLHQpe3JldHVybiB0PT09Ii13ZWJraXQtIiYmKGUudmFsdWU9ZS52YWx1ZS5yZXBsYWNlKC9ccyoocmlnaHR8bGVmdClccyovaSwiIikpLHN1cGVyLnNldChlLHQpfX07R3UubmFtZXM9WyJ0ZXh0LWVtcGhhc2lzLXBvc2l0aW9uIl07UDAuZXhwb3J0cz1HdX0pO3ZhciBxMD14KChoTCxEMCk9Pnt1KCk7dmFyIG1SPWooKSxRdT1jbGFzcyBleHRlbmRzIG1Se3NldChlLHQpe3JldHVybiBlLnByb3A9PT0idGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rIiYmZS52YWx1ZT09PSJhdXRvIj8oZS5wcm9wPXQrInRleHQtZGVjb3JhdGlvbi1za2lwIixlLnZhbHVlPSJpbmsiLGUpOnN1cGVyLnNldChlLHQpfX07UXUubmFtZXM9WyJ0ZXh0LWRlY29yYXRpb24tc2tpcC1pbmsiLCJ0ZXh0LWRlY29yYXRpb24tc2tpcCJdO0QwLmV4cG9ydHM9UXV9KTt2YXIgRjA9eCgobUwsQjApPT57dSgpOyJ1c2Ugc3RyaWN0IjtCMC5leHBvcnRzPXt3cmFwOiQwLGxpbWl0OkwwLHZhbGlkYXRlOk0wLHRlc3Q6WXUsY3Vycnk6Z1IsbmFtZTpOMH07ZnVuY3Rpb24gJDAocixlLHQpe3ZhciBpPWUtcjtyZXR1cm4oKHQtciklaStpKSVpK3J9ZnVuY3Rpb24gTDAocixlLHQpe3JldHVybiBNYXRoLm1heChyLE1hdGgubWluKGUsdCkpfWZ1bmN0aW9uIE0wKHIsZSx0LGksbil7aWYoIVl1KHIsZSx0LGksbikpdGhyb3cgbmV3IEVycm9yKHQrIiBpcyBvdXRzaWRlIG9mIHJhbmdlIFsiK3IrIiwiK2UrIikiKTtyZXR1cm4gdH1mdW5jdGlvbiBZdShyLGUsdCxpLG4pe3JldHVybiEodDxyfHx0PmV8fG4mJnQ9PT1lfHxpJiZ0PT09cil9ZnVuY3Rpb24gTjAocixlLHQsaSl7cmV0dXJuKHQ/IigiOiJbIikrcisiLCIrZSsoaT8iKSI6Il0iKX1mdW5jdGlvbiBnUihyLGUsdCxpKXt2YXIgbj1OMC5iaW5kKG51bGwscixlLHQsaSk7cmV0dXJue3dyYXA6JDAuYmluZChudWxsLHIsZSksbGltaXQ6TDAuYmluZChudWxsLHIsZSksdmFsaWRhdGU6ZnVuY3Rpb24ocyl7cmV0dXJuIE0wKHIsZSxzLHQsaSl9LHRlc3Q6ZnVuY3Rpb24ocyl7cmV0dXJuIFl1KHIsZSxzLHQsaSl9LHRvU3RyaW5nOm4sbmFtZTpufX19KTt2YXIgVTA9eCgoZ0wsejApPT57dSgpO3ZhciBLdT1NcygpLHlSPUYwKCksYlI9eHIoKSx3Uj1IZSgpLHZSPV9lKCksajA9L3RvcHxsZWZ0fHJpZ2h0fGJvdHRvbS9naSx3dD1jbGFzcyBleHRlbmRzIHdSe3JlcGxhY2UoZSx0KXtsZXQgaT1LdShlKTtmb3IobGV0IG4gb2YgaS5ub2RlcylpZihuLnR5cGU9PT0iZnVuY3Rpb24iJiZuLnZhbHVlPT09dGhpcy5uYW1lKWlmKG4ubm9kZXM9dGhpcy5uZXdEaXJlY3Rpb24obi5ub2Rlcyksbi5ub2Rlcz10aGlzLm5vcm1hbGl6ZShuLm5vZGVzKSx0PT09Ii13ZWJraXQtIG9sZCIpe2lmKCF0aGlzLm9sZFdlYmtpdChuKSlyZXR1cm4hMX1lbHNlIG4ubm9kZXM9dGhpcy5jb252ZXJ0RGlyZWN0aW9uKG4ubm9kZXMpLG4udmFsdWU9dCtuLnZhbHVlO3JldHVybiBpLnRvU3RyaW5nKCl9cmVwbGFjZUZpcnN0KGUsLi4udCl7cmV0dXJuIHQubWFwKG49Pm49PT0iICI/e3R5cGU6InNwYWNlIix2YWx1ZTpufTp7dHlwZToid29yZCIsdmFsdWU6bn0pLmNvbmNhdChlLnNsaWNlKDEpKX1ub3JtYWxpemVVbml0KGUsdCl7cmV0dXJuYCR7cGFyc2VGbG9hdChlKS90KjM2MH1kZWdgfW5vcm1hbGl6ZShlKXtpZighZVswXSlyZXR1cm4gZTtpZigvLT9cZCsoLlxkKyk/Z3JhZC8udGVzdChlWzBdLnZhbHVlKSllWzBdLnZhbHVlPXRoaXMubm9ybWFsaXplVW5pdChlWzBdLnZhbHVlLDQwMCk7ZWxzZSBpZigvLT9cZCsoLlxkKyk/cmFkLy50ZXN0KGVbMF0udmFsdWUpKWVbMF0udmFsdWU9dGhpcy5ub3JtYWxpemVVbml0KGVbMF0udmFsdWUsMipNYXRoLlBJKTtlbHNlIGlmKC8tP1xkKyguXGQrKT90dXJuLy50ZXN0KGVbMF0udmFsdWUpKWVbMF0udmFsdWU9dGhpcy5ub3JtYWxpemVVbml0KGVbMF0udmFsdWUsMSk7ZWxzZSBpZihlWzBdLnZhbHVlLmluY2x1ZGVzKCJkZWciKSl7bGV0IHQ9cGFyc2VGbG9hdChlWzBdLnZhbHVlKTt0PXlSLndyYXAoMCwzNjAsdCksZVswXS52YWx1ZT1gJHt0fWRlZ2B9cmV0dXJuIGVbMF0udmFsdWU9PT0iMGRlZyI/ZT10aGlzLnJlcGxhY2VGaXJzdChlLCJ0byIsIiAiLCJ0b3AiKTplWzBdLnZhbHVlPT09IjkwZGVnIj9lPXRoaXMucmVwbGFjZUZpcnN0KGUsInRvIiwiICIsInJpZ2h0Iik6ZVswXS52YWx1ZT09PSIxODBkZWciP2U9dGhpcy5yZXBsYWNlRmlyc3QoZSwidG8iLCIgIiwiYm90dG9tIik6ZVswXS52YWx1ZT09PSIyNzBkZWciJiYoZT10aGlzLnJlcGxhY2VGaXJzdChlLCJ0byIsIiAiLCJsZWZ0IikpLGV9bmV3RGlyZWN0aW9uKGUpe2lmKGVbMF0udmFsdWU9PT0idG8ifHwoajAubGFzdEluZGV4PTAsIWowLnRlc3QoZVswXS52YWx1ZSkpKXJldHVybiBlO2UudW5zaGlmdCh7dHlwZToid29yZCIsdmFsdWU6InRvIn0se3R5cGU6InNwYWNlIix2YWx1ZToiICJ9KTtmb3IobGV0IHQ9Mjt0PGUubGVuZ3RoJiZlW3RdLnR5cGUhPT0iZGl2Ijt0KyspZVt0XS50eXBlPT09IndvcmQiJiYoZVt0XS52YWx1ZT10aGlzLnJldmVydERpcmVjdGlvbihlW3RdLnZhbHVlKSk7cmV0dXJuIGV9aXNSYWRpYWwoZSl7bGV0IHQ9ImJlZm9yZSI7Zm9yKGxldCBpIG9mIGUpaWYodD09PSJiZWZvcmUiJiZpLnR5cGU9PT0ic3BhY2UiKXQ9ImF0IjtlbHNlIGlmKHQ9PT0iYXQiJiZpLnZhbHVlPT09ImF0Iil0PSJhZnRlciI7ZWxzZXtpZih0PT09ImFmdGVyIiYmaS50eXBlPT09InNwYWNlIilyZXR1cm4hMDtpZihpLnR5cGU9PT0iZGl2IilicmVhazt0PSJiZWZvcmUifXJldHVybiExfWNvbnZlcnREaXJlY3Rpb24oZSl7cmV0dXJuIGUubGVuZ3RoPjAmJihlWzBdLnZhbHVlPT09InRvIj90aGlzLmZpeERpcmVjdGlvbihlKTplWzBdLnZhbHVlLmluY2x1ZGVzKCJkZWciKT90aGlzLmZpeEFuZ2xlKGUpOnRoaXMuaXNSYWRpYWwoZSkmJnRoaXMuZml4UmFkaWFsKGUpKSxlfWZpeERpcmVjdGlvbihlKXtlLnNwbGljZSgwLDIpO2ZvcihsZXQgdCBvZiBlKXtpZih0LnR5cGU9PT0iZGl2IilicmVhazt0LnR5cGU9PT0id29yZCImJih0LnZhbHVlPXRoaXMucmV2ZXJ0RGlyZWN0aW9uKHQudmFsdWUpKX19Zml4QW5nbGUoZSl7bGV0IHQ9ZVswXS52YWx1ZTt0PXBhcnNlRmxvYXQodCksdD1NYXRoLmFicyg0NTAtdCklMzYwLHQ9dGhpcy5yb3VuZEZsb2F0KHQsMyksZVswXS52YWx1ZT1gJHt0fWRlZ2B9Zml4UmFkaWFsKGUpe2xldCB0PVtdLGk9W10sbixzLGEsbyxsO2ZvcihvPTA7bzxlLmxlbmd0aC0yO28rKylpZihuPWVbb10scz1lW28rMV0sYT1lW28rMl0sbi50eXBlPT09InNwYWNlIiYmcy52YWx1ZT09PSJhdCImJmEudHlwZT09PSJzcGFjZSIpe2w9byszO2JyZWFrfWVsc2UgdC5wdXNoKG4pO2xldCBjO2ZvcihvPWw7bzxlLmxlbmd0aDtvKyspaWYoZVtvXS50eXBlPT09ImRpdiIpe2M9ZVtvXTticmVha31lbHNlIGkucHVzaChlW29dKTtlLnNwbGljZSgwLG8sLi4uaSxjLC4uLnQpfXJldmVydERpcmVjdGlvbihlKXtyZXR1cm4gd3QuZGlyZWN0aW9uc1tlLnRvTG93ZXJDYXNlKCldfHxlfXJvdW5kRmxvYXQoZSx0KXtyZXR1cm4gcGFyc2VGbG9hdChlLnRvRml4ZWQodCkpfW9sZFdlYmtpdChlKXtsZXR7bm9kZXM6dH09ZSxpPUt1LnN0cmluZ2lmeShlLm5vZGVzKTtpZih0aGlzLm5hbWUhPT0ibGluZWFyLWdyYWRpZW50Inx8dFswXSYmdFswXS52YWx1ZS5pbmNsdWRlcygiZGVnIil8fGkuaW5jbHVkZXMoInB4Iil8fGkuaW5jbHVkZXMoIi1jb3JuZXIiKXx8aS5pbmNsdWRlcygiLXNpZGUiKSlyZXR1cm4hMTtsZXQgbj1bW11dO2ZvcihsZXQgcyBvZiB0KW5bbi5sZW5ndGgtMV0ucHVzaChzKSxzLnR5cGU9PT0iZGl2IiYmcy52YWx1ZT09PSIsIiYmbi5wdXNoKFtdKTt0aGlzLm9sZERpcmVjdGlvbihuKSx0aGlzLmNvbG9yU3RvcHMobiksZS5ub2Rlcz1bXTtmb3IobGV0IHMgb2YgbillLm5vZGVzPWUubm9kZXMuY29uY2F0KHMpO3JldHVybiBlLm5vZGVzLnVuc2hpZnQoe3R5cGU6IndvcmQiLHZhbHVlOiJsaW5lYXIifSx0aGlzLmNsb25lRGl2KGUubm9kZXMpKSxlLnZhbHVlPSItd2Via2l0LWdyYWRpZW50IiwhMH1vbGREaXJlY3Rpb24oZSl7bGV0IHQ9dGhpcy5jbG9uZURpdihlWzBdKTtpZihlWzBdWzBdLnZhbHVlIT09InRvIilyZXR1cm4gZS51bnNoaWZ0KFt7dHlwZToid29yZCIsdmFsdWU6d3Qub2xkRGlyZWN0aW9ucy5ib3R0b219LHRdKTt7bGV0IGk9W107Zm9yKGxldCBzIG9mIGVbMF0uc2xpY2UoMikpcy50eXBlPT09IndvcmQiJiZpLnB1c2gocy52YWx1ZS50b0xvd2VyQ2FzZSgpKTtpPWkuam9pbigiICIpO2xldCBuPXd0Lm9sZERpcmVjdGlvbnNbaV18fGk7cmV0dXJuIGVbMF09W3t0eXBlOiJ3b3JkIix2YWx1ZTpufSx0XSxlWzBdfX1jbG9uZURpdihlKXtmb3IobGV0IHQgb2YgZSlpZih0LnR5cGU9PT0iZGl2IiYmdC52YWx1ZT09PSIsIilyZXR1cm4gdDtyZXR1cm57dHlwZToiZGl2Iix2YWx1ZToiLCIsYWZ0ZXI6IiAifX1jb2xvclN0b3BzKGUpe2xldCB0PVtdO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbixzPWVbaV0sYTtpZihpPT09MCljb250aW51ZTtsZXQgbz1LdS5zdHJpbmdpZnkoc1swXSk7c1sxXSYmc1sxXS50eXBlPT09IndvcmQiP249c1sxXS52YWx1ZTpzWzJdJiZzWzJdLnR5cGU9PT0id29yZCImJihuPXNbMl0udmFsdWUpO2xldCBsO2k9PT0xJiYoIW58fG49PT0iMCUiKT9sPWBmcm9tKCR7b30pYDppPT09ZS5sZW5ndGgtMSYmKCFufHxuPT09IjEwMCUiKT9sPWB0bygke299KWA6bj9sPWBjb2xvci1zdG9wKCR7bn0sICR7b30pYDpsPWBjb2xvci1zdG9wKCR7b30pYDtsZXQgYz1zW3MubGVuZ3RoLTFdO2VbaV09W3t0eXBlOiJ3b3JkIix2YWx1ZTpsfV0sYy50eXBlPT09ImRpdiImJmMudmFsdWU9PT0iLCImJihhPWVbaV0ucHVzaChjKSksdC5wdXNoKGEpfXJldHVybiB0fW9sZChlKXtpZihlPT09Ii13ZWJraXQtIil7bGV0IHQ9dGhpcy5uYW1lPT09ImxpbmVhci1ncmFkaWVudCI/ImxpbmVhciI6InJhZGlhbCIsaT0iLWdyYWRpZW50IixuPXZSLnJlZ2V4cChgLXdlYmtpdC0oJHt0fS1ncmFkaWVudHxncmFkaWVudFxcKFxccyoke3R9KWAsITEpO3JldHVybiBuZXcgYlIodGhpcy5uYW1lLGUrdGhpcy5uYW1lLGksbil9ZWxzZSByZXR1cm4gc3VwZXIub2xkKGUpfWFkZChlLHQpe2xldCBpPWUucHJvcDtpZihpLmluY2x1ZGVzKCJtYXNrIikpe2lmKHQ9PT0iLXdlYmtpdC0ifHx0PT09Ii13ZWJraXQtIG9sZCIpcmV0dXJuIHN1cGVyLmFkZChlLHQpfWVsc2UgaWYoaT09PSJsaXN0LXN0eWxlInx8aT09PSJsaXN0LXN0eWxlLWltYWdlInx8aT09PSJjb250ZW50Iil7aWYodD09PSItd2Via2l0LSJ8fHQ9PT0iLXdlYmtpdC0gb2xkIilyZXR1cm4gc3VwZXIuYWRkKGUsdCl9ZWxzZSByZXR1cm4gc3VwZXIuYWRkKGUsdCl9fTt3dC5uYW1lcz1bImxpbmVhci1ncmFkaWVudCIsInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiLCJyYWRpYWwtZ3JhZGllbnQiLCJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50Il07d3QuZGlyZWN0aW9ucz17dG9wOiJib3R0b20iLGxlZnQ6InJpZ2h0Iixib3R0b206InRvcCIscmlnaHQ6ImxlZnQifTt3dC5vbGREaXJlY3Rpb25zPXt0b3A6ImxlZnQgYm90dG9tLCBsZWZ0IHRvcCIsbGVmdDoicmlnaHQgdG9wLCBsZWZ0IHRvcCIsYm90dG9tOiJsZWZ0IHRvcCwgbGVmdCBib3R0b20iLHJpZ2h0OiJsZWZ0IHRvcCwgcmlnaHQgdG9wIiwidG9wIHJpZ2h0IjoibGVmdCBib3R0b20sIHJpZ2h0IHRvcCIsInRvcCBsZWZ0IjoicmlnaHQgYm90dG9tLCBsZWZ0IHRvcCIsInJpZ2h0IHRvcCI6ImxlZnQgYm90dG9tLCByaWdodCB0b3AiLCJyaWdodCBib3R0b20iOiJsZWZ0IHRvcCwgcmlnaHQgYm90dG9tIiwiYm90dG9tIHJpZ2h0IjoibGVmdCB0b3AsIHJpZ2h0IGJvdHRvbSIsImJvdHRvbSBsZWZ0IjoicmlnaHQgdG9wLCBsZWZ0IGJvdHRvbSIsImxlZnQgdG9wIjoicmlnaHQgYm90dG9tLCBsZWZ0IHRvcCIsImxlZnQgYm90dG9tIjoicmlnaHQgdG9wLCBsZWZ0IGJvdHRvbSJ9O3owLmV4cG9ydHM9d3R9KTt2YXIgVzA9eCgoeUwsSDApPT57dSgpO3ZhciB4Uj14cigpLGtSPUhlKCk7ZnVuY3Rpb24gVjAocil7cmV0dXJuIG5ldyBSZWdFeHAoYChefFtcXHMsKF0pKCR7cn0oJHxbXFxzKSxdKSlgLCJnaSIpfXZhciBYdT1jbGFzcyBleHRlbmRzIGtSe3JlZ2V4cCgpe3JldHVybiB0aGlzLnJlZ2V4cENhY2hlfHwodGhpcy5yZWdleHBDYWNoZT1WMCh0aGlzLm5hbWUpKSx0aGlzLnJlZ2V4cENhY2hlfWlzU3RyZXRjaCgpe3JldHVybiB0aGlzLm5hbWU9PT0ic3RyZXRjaCJ8fHRoaXMubmFtZT09PSJmaWxsInx8dGhpcy5uYW1lPT09ImZpbGwtYXZhaWxhYmxlIn1yZXBsYWNlKGUsdCl7cmV0dXJuIHQ9PT0iLW1vei0iJiZ0aGlzLmlzU3RyZXRjaCgpP2UucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLCIkMS1tb3otYXZhaWxhYmxlJDMiKTp0PT09Ii13ZWJraXQtIiYmdGhpcy5pc1N0cmV0Y2goKT9lLnJlcGxhY2UodGhpcy5yZWdleHAoKSwiJDEtd2Via2l0LWZpbGwtYXZhaWxhYmxlJDMiKTpzdXBlci5yZXBsYWNlKGUsdCl9b2xkKGUpe2xldCB0PWUrdGhpcy5uYW1lO3JldHVybiB0aGlzLmlzU3RyZXRjaCgpJiYoZT09PSItbW96LSI/dD0iLW1vei1hdmFpbGFibGUiOmU9PT0iLXdlYmtpdC0iJiYodD0iLXdlYmtpdC1maWxsLWF2YWlsYWJsZSIpKSxuZXcgeFIodGhpcy5uYW1lLHQsdCxWMCh0KSl9YWRkKGUsdCl7aWYoIShlLnByb3AuaW5jbHVkZXMoImdyaWQiKSYmdCE9PSItd2Via2l0LSIpKXJldHVybiBzdXBlci5hZGQoZSx0KX19O1h1Lm5hbWVzPVsibWF4LWNvbnRlbnQiLCJtaW4tY29udGVudCIsImZpdC1jb250ZW50IiwiZmlsbCIsImZpbGwtYXZhaWxhYmxlIiwic3RyZXRjaCJdO0gwLmV4cG9ydHM9WHV9KTt2YXIgWTA9eCgoYkwsUTApPT57dSgpO3ZhciBHMD14cigpLFNSPUhlKCksWnU9Y2xhc3MgZXh0ZW5kcyBTUntyZXBsYWNlKGUsdCl7cmV0dXJuIHQ9PT0iLXdlYmtpdC0iP2UucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLCIkMS13ZWJraXQtb3B0aW1pemUtY29udHJhc3QiKTp0PT09Ii1tb3otIj9lLnJlcGxhY2UodGhpcy5yZWdleHAoKSwiJDEtbW96LWNyaXNwLWVkZ2VzIik6c3VwZXIucmVwbGFjZShlLHQpfW9sZChlKXtyZXR1cm4gZT09PSItd2Via2l0LSI/bmV3IEcwKHRoaXMubmFtZSwiLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdCIpOmU9PT0iLW1vei0iP25ldyBHMCh0aGlzLm5hbWUsIi1tb3otY3Jpc3AtZWRnZXMiKTpzdXBlci5vbGQoZSl9fTtadS5uYW1lcz1bInBpeGVsYXRlZCJdO1EwLmV4cG9ydHM9WnV9KTt2YXIgWDA9eCgod0wsSzApPT57dSgpO3ZhciBBUj1IZSgpLEp1PWNsYXNzIGV4dGVuZHMgQVJ7cmVwbGFjZShlLHQpe2xldCBpPXN1cGVyLnJlcGxhY2UoZSx0KTtyZXR1cm4gdD09PSItd2Via2l0LSImJihpPWkucmVwbGFjZSgvKCJbXiJdKyJ8J1teJ10rJykoXHMrXGQrXHcpL2dpLCJ1cmwoJDEpJDIiKSksaX19O0p1Lm5hbWVzPVsiaW1hZ2Utc2V0Il07SzAuZXhwb3J0cz1KdX0pO3ZhciBKMD14KCh2TCxaMCk9Pnt1KCk7dmFyIENSPSRlKCkubGlzdCxfUj1IZSgpLGVmPWNsYXNzIGV4dGVuZHMgX1J7cmVwbGFjZShlLHQpe3JldHVybiBDUi5zcGFjZShlKS5tYXAoaT0+e2lmKGkuc2xpY2UoMCwrdGhpcy5uYW1lLmxlbmd0aCsxKSE9PXRoaXMubmFtZSsiKCIpcmV0dXJuIGk7bGV0IG49aS5sYXN0SW5kZXhPZigiKSIpLHM9aS5zbGljZShuKzEpLGE9aS5zbGljZSh0aGlzLm5hbWUubGVuZ3RoKzEsbik7aWYodD09PSItd2Via2l0LSIpe2xldCBvPWEubWF0Y2goL1xkKi4/XGQrJT8vKTtvPyhhPWEuc2xpY2Uob1swXS5sZW5ndGgpLnRyaW0oKSxhKz1gLCAke29bMF19YCk6YSs9IiwgMC41In1yZXR1cm4gdCt0aGlzLm5hbWUrIigiK2ErIikiK3N9KS5qb2luKCIgIil9fTtlZi5uYW1lcz1bImNyb3NzLWZhZGUiXTtaMC5leHBvcnRzPWVmfSk7dmFyIHR2PXgoKHhMLGV2KT0+e3UoKTt2YXIgRVI9UGUoKSxPUj14cigpLFRSPUhlKCksdGY9Y2xhc3MgZXh0ZW5kcyBUUntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCk7ZT09PSJkaXNwbGF5LWZsZXgiJiYodGhpcy5uYW1lPSJmbGV4Iil9Y2hlY2soZSl7cmV0dXJuIGUucHJvcD09PSJkaXNwbGF5IiYmZS52YWx1ZT09PXRoaXMubmFtZX1wcmVmaXhlZChlKXtsZXQgdCxpO3JldHVyblt0LGVdPUVSKGUpLHQ9PT0yMDA5P3RoaXMubmFtZT09PSJmbGV4Ij9pPSJib3giOmk9ImlubGluZS1ib3giOnQ9PT0yMDEyP3RoaXMubmFtZT09PSJmbGV4Ij9pPSJmbGV4Ym94IjppPSJpbmxpbmUtZmxleGJveCI6dD09PSJmaW5hbCImJihpPXRoaXMubmFtZSksZStpfXJlcGxhY2UoZSx0KXtyZXR1cm4gdGhpcy5wcmVmaXhlZCh0KX1vbGQoZSl7bGV0IHQ9dGhpcy5wcmVmaXhlZChlKTtpZighIXQpcmV0dXJuIG5ldyBPUih0aGlzLm5hbWUsdCl9fTt0Zi5uYW1lcz1bImRpc3BsYXktZmxleCIsImlubGluZS1mbGV4Il07ZXYuZXhwb3J0cz10Zn0pO3ZhciBpdj14KChrTCxydik9Pnt1KCk7dmFyIFJSPUhlKCkscmY9Y2xhc3MgZXh0ZW5kcyBSUntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCk7ZT09PSJkaXNwbGF5LWdyaWQiJiYodGhpcy5uYW1lPSJncmlkIil9Y2hlY2soZSl7cmV0dXJuIGUucHJvcD09PSJkaXNwbGF5IiYmZS52YWx1ZT09PXRoaXMubmFtZX19O3JmLm5hbWVzPVsiZGlzcGxheS1ncmlkIiwiaW5saW5lLWdyaWQiXTtydi5leHBvcnRzPXJmfSk7dmFyIHN2PXgoKFNMLG52KT0+e3UoKTt2YXIgUFI9SGUoKSxuZj1jbGFzcyBleHRlbmRzIFBSe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KTtlPT09ImZpbHRlci1mdW5jdGlvbiImJih0aGlzLm5hbWU9ImZpbHRlciIpfX07bmYubmFtZXM9WyJmaWx0ZXIiLCJmaWx0ZXItZnVuY3Rpb24iXTtudi5leHBvcnRzPW5mfSk7dmFyIHV2PXgoKEFMLGx2KT0+e3UoKTt2YXIgYXY9TmkoKSx6PWooKSxvdj16eSgpLElSPWFiKCksRFI9b3UoKSxxUj1DYigpLHNmPU10KCksUHI9a3IoKSwkUj1EYigpLHV0PUhlKCksSXI9X2UoKSxMUj0kYigpLE1SPU1iKCksTlI9QmIoKSxCUj1qYigpLEZSPVdiKCksalI9WWIoKSx6Uj1YYigpLFVSPUpiKCksVlI9dHcoKSxIUj1pdygpLFdSPXN3KCksR1I9b3coKSxRUj11dygpLFlSPWN3KCksS1I9ZHcoKSxYUj1ndygpLFpSPWJ3KCksSlI9eHcoKSxlNT1TdygpLHQ1PUN3KCkscjU9T3coKSxpNT1SdygpLG41PUR3KCksczU9JHcoKSxhNT1NdygpLG81PUJ3KCksbDU9ancoKSx1NT1WdygpLGY1PVd3KCksYzU9UXcoKSxwNT1LdygpLGQ1PVp3KCksaDU9ZTAoKSxtNT1yMCgpLGc1PXMwKCkseTU9bzAoKSxiNT11MCgpLHc1PWMwKCksdjU9ZDAoKSx4NT1nMCgpLGs1PWIwKCksUzU9djAoKSxBNT1TMCgpLEM1PUMwKCksXzU9RTAoKSxFNT1SMCgpLE81PUkwKCksVDU9cTAoKSxSNT1VMCgpLFA1PVcwKCksSTU9WTAoKSxENT1YMCgpLHE1PUowKCksJDU9dHYoKSxMNT1pdigpLE01PXN2KCk7UHIuaGFjayhMUik7UHIuaGFjayhNUik7UHIuaGFjayhOUik7UHIuaGFjayhCUik7ei5oYWNrKEZSKTt6LmhhY2soalIpO3ouaGFjayh6Uik7ei5oYWNrKFVSKTt6LmhhY2soVlIpO3ouaGFjayhIUik7ei5oYWNrKFdSKTt6LmhhY2soR1IpO3ouaGFjayhRUik7ei5oYWNrKFlSKTt6LmhhY2soS1IpO3ouaGFjayhYUik7ei5oYWNrKFpSKTt6LmhhY2soSlIpO3ouaGFjayhlNSk7ei5oYWNrKHQ1KTt6LmhhY2socjUpO3ouaGFjayhpNSk7ei5oYWNrKG41KTt6LmhhY2soczUpO3ouaGFjayhhNSk7ei5oYWNrKG81KTt6LmhhY2sobDUpO3ouaGFjayh1NSk7ei5oYWNrKGY1KTt6LmhhY2soYzUpO3ouaGFjayhwNSk7ei5oYWNrKGQ1KTt6LmhhY2soaDUpO3ouaGFjayhtNSk7ei5oYWNrKGc1KTt6LmhhY2soeTUpO3ouaGFjayhiNSk7ei5oYWNrKHc1KTt6LmhhY2sodjUpO3ouaGFjayh4NSk7ei5oYWNrKGs1KTt6LmhhY2soUzUpO3ouaGFjayhBNSk7ei5oYWNrKEM1KTt6LmhhY2soXzUpO3ouaGFjayhFNSk7ei5oYWNrKE81KTt6LmhhY2soVDUpO3V0LmhhY2soUjUpO3V0LmhhY2soUDUpO3V0LmhhY2soSTUpO3V0LmhhY2soRDUpO3V0LmhhY2socTUpO3V0LmhhY2soJDUpO3V0LmhhY2soTDUpO3V0LmhhY2soTTUpO3ZhciBhZj1uZXcgTWFwLEZpPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxpPXt9KXt0aGlzLmRhdGE9ZSx0aGlzLmJyb3dzZXJzPXQsdGhpcy5vcHRpb25zPWksW3RoaXMuYWRkLHRoaXMucmVtb3ZlXT10aGlzLnByZXByb2Nlc3ModGhpcy5zZWxlY3QodGhpcy5kYXRhKSksdGhpcy50cmFuc2l0aW9uPW5ldyBJUih0aGlzKSx0aGlzLnByb2Nlc3Nvcj1uZXcgRFIodGhpcyl9Y2xlYW5lcigpe2lmKHRoaXMuY2xlYW5lckNhY2hlKXJldHVybiB0aGlzLmNsZWFuZXJDYWNoZTtpZih0aGlzLmJyb3dzZXJzLnNlbGVjdGVkLmxlbmd0aCl7bGV0IGU9bmV3IHNmKHRoaXMuYnJvd3NlcnMuZGF0YSxbXSk7dGhpcy5jbGVhbmVyQ2FjaGU9bmV3IEZpKHRoaXMuZGF0YSxlLHRoaXMub3B0aW9ucyl9ZWxzZSByZXR1cm4gdGhpcztyZXR1cm4gdGhpcy5jbGVhbmVyQ2FjaGV9c2VsZWN0KGUpe2xldCB0PXthZGQ6e30scmVtb3ZlOnt9fTtmb3IobGV0IGkgaW4gZSl7bGV0IG49ZVtpXSxzPW4uYnJvd3NlcnMubWFwKGw9PntsZXQgYz1sLnNwbGl0KCIgIik7cmV0dXJue2Jyb3dzZXI6YCR7Y1swXX0gJHtjWzFdfWAsbm90ZTpjWzJdfX0pLGE9cy5maWx0ZXIobD0+bC5ub3RlKS5tYXAobD0+YCR7dGhpcy5icm93c2Vycy5wcmVmaXgobC5icm93c2VyKX0gJHtsLm5vdGV9YCk7YT1Jci51bmlxKGEpLHM9cy5maWx0ZXIobD0+dGhpcy5icm93c2Vycy5pc1NlbGVjdGVkKGwuYnJvd3NlcikpLm1hcChsPT57bGV0IGM9dGhpcy5icm93c2Vycy5wcmVmaXgobC5icm93c2VyKTtyZXR1cm4gbC5ub3RlP2Ake2N9ICR7bC5ub3RlfWA6Y30pLHM9dGhpcy5zb3J0KElyLnVuaXEocykpLHRoaXMub3B0aW9ucy5mbGV4Ym94PT09Im5vLTIwMDkiJiYocz1zLmZpbHRlcihsPT4hbC5pbmNsdWRlcygiMjAwOSIpKSk7bGV0IG89bi5icm93c2Vycy5tYXAobD0+dGhpcy5icm93c2Vycy5wcmVmaXgobCkpO24ubWlzdGFrZXMmJihvPW8uY29uY2F0KG4ubWlzdGFrZXMpKSxvPW8uY29uY2F0KGEpLG89SXIudW5pcShvKSxzLmxlbmd0aD8odC5hZGRbaV09cyxzLmxlbmd0aDxvLmxlbmd0aCYmKHQucmVtb3ZlW2ldPW8uZmlsdGVyKGw9PiFzLmluY2x1ZGVzKGwpKSkpOnQucmVtb3ZlW2ldPW99cmV0dXJuIHR9c29ydChlKXtyZXR1cm4gZS5zb3J0KCh0LGkpPT57bGV0IG49SXIucmVtb3ZlTm90ZSh0KS5sZW5ndGgscz1Jci5yZW1vdmVOb3RlKGkpLmxlbmd0aDtyZXR1cm4gbj09PXM/aS5sZW5ndGgtdC5sZW5ndGg6cy1ufSl9cHJlcHJvY2VzcyhlKXtsZXQgdD17c2VsZWN0b3JzOltdLCJAc3VwcG9ydHMiOm5ldyBxUihGaSx0aGlzKX07Zm9yKGxldCBuIGluIGUuYWRkKXtsZXQgcz1lLmFkZFtuXTtpZihuPT09IkBrZXlmcmFtZXMifHxuPT09IkB2aWV3cG9ydCIpdFtuXT1uZXcgJFIobixzLHRoaXMpO2Vsc2UgaWYobj09PSJAcmVzb2x1dGlvbiIpdFtuXT1uZXcgb3YobixzLHRoaXMpO2Vsc2UgaWYodGhpcy5kYXRhW25dLnNlbGVjdG9yKXQuc2VsZWN0b3JzLnB1c2goUHIubG9hZChuLHMsdGhpcykpO2Vsc2V7bGV0IGE9dGhpcy5kYXRhW25dLnByb3BzO2lmKGEpe2xldCBvPXV0LmxvYWQobixzLHRoaXMpO2ZvcihsZXQgbCBvZiBhKXRbbF18fCh0W2xdPXt2YWx1ZXM6W119KSx0W2xdLnZhbHVlcy5wdXNoKG8pfWVsc2V7bGV0IG89dFtuXSYmdFtuXS52YWx1ZXN8fFtdO3Rbbl09ei5sb2FkKG4scyx0aGlzKSx0W25dLnZhbHVlcz1vfX19bGV0IGk9e3NlbGVjdG9yczpbXX07Zm9yKGxldCBuIGluIGUucmVtb3ZlKXtsZXQgcz1lLnJlbW92ZVtuXTtpZih0aGlzLmRhdGFbbl0uc2VsZWN0b3Ipe2xldCBhPVByLmxvYWQobixzKTtmb3IobGV0IG8gb2YgcylpLnNlbGVjdG9ycy5wdXNoKGEub2xkKG8pKX1lbHNlIGlmKG49PT0iQGtleWZyYW1lcyJ8fG49PT0iQHZpZXdwb3J0Iilmb3IobGV0IGEgb2Ygcyl7bGV0IG89YEAke2F9JHtuLnNsaWNlKDEpfWA7aVtvXT17cmVtb3ZlOiEwfX1lbHNlIGlmKG49PT0iQHJlc29sdXRpb24iKWlbbl09bmV3IG92KG4scyx0aGlzKTtlbHNle2xldCBhPXRoaXMuZGF0YVtuXS5wcm9wcztpZihhKXtsZXQgbz11dC5sb2FkKG4sW10sdGhpcyk7Zm9yKGxldCBsIG9mIHMpe2xldCBjPW8ub2xkKGwpO2lmKGMpZm9yKGxldCBmIG9mIGEpaVtmXXx8KGlbZl09e30pLGlbZl0udmFsdWVzfHwoaVtmXS52YWx1ZXM9W10pLGlbZl0udmFsdWVzLnB1c2goYyl9fWVsc2UgZm9yKGxldCBvIG9mIHMpe2xldCBsPXRoaXMuZGVjbChuKS5vbGQobixvKTtpZihuPT09ImFsaWduLXNlbGYiKXtsZXQgYz10W25dJiZ0W25dLnByZWZpeGVzO2lmKGMpe2lmKG89PT0iLXdlYmtpdC0gMjAwOSImJmMuaW5jbHVkZXMoIi13ZWJraXQtIikpY29udGludWU7aWYobz09PSItd2Via2l0LSImJmMuaW5jbHVkZXMoIi13ZWJraXQtIDIwMDkiKSljb250aW51ZX19Zm9yKGxldCBjIG9mIGwpaVtjXXx8KGlbY109e30pLGlbY10ucmVtb3ZlPSEwfX19cmV0dXJuW3QsaV19ZGVjbChlKXtyZXR1cm4gYWYuaGFzKGUpfHxhZi5zZXQoZSx6LmxvYWQoZSkpLGFmLmdldChlKX11bnByZWZpeGVkKGUpe2xldCB0PXRoaXMubm9ybWFsaXplKGF2LnVucHJlZml4ZWQoZSkpO3JldHVybiB0PT09ImZsZXgtZGlyZWN0aW9uIiYmKHQ9ImZsZXgtZmxvdyIpLHR9bm9ybWFsaXplKGUpe3JldHVybiB0aGlzLmRlY2woZSkubm9ybWFsaXplKGUpfXByZWZpeGVkKGUsdCl7cmV0dXJuIGU9YXYudW5wcmVmaXhlZChlKSx0aGlzLmRlY2woZSkucHJlZml4ZWQoZSx0KX12YWx1ZXMoZSx0KXtsZXQgaT10aGlzW2VdLG49aVsiKiJdJiZpWyIqIl0udmFsdWVzLHM9aVt0XSYmaVt0XS52YWx1ZXM7cmV0dXJuIG4mJnM/SXIudW5pcShuLmNvbmNhdChzKSk6bnx8c3x8W119Z3JvdXAoZSl7bGV0IHQ9ZS5wYXJlbnQsaT10LmluZGV4KGUpLHtsZW5ndGg6bn09dC5ub2RlcyxzPXRoaXMudW5wcmVmaXhlZChlLnByb3ApLGE9KG8sbCk9Pntmb3IoaSs9bztpPj0wJiZpPG47KXtsZXQgYz10Lm5vZGVzW2ldO2lmKGMudHlwZT09PSJkZWNsIil7aWYobz09PS0xJiZjLnByb3A9PT1zJiYhc2Yud2l0aFByZWZpeChjLnZhbHVlKXx8dGhpcy51bnByZWZpeGVkKGMucHJvcCkhPT1zKWJyZWFrO2lmKGwoYyk9PT0hMClyZXR1cm4hMDtpZihvPT09MSYmYy5wcm9wPT09cyYmIXNmLndpdGhQcmVmaXgoYy52YWx1ZSkpYnJlYWt9aSs9b31yZXR1cm4hMX07cmV0dXJue3VwKG8pe3JldHVybiBhKC0xLG8pfSxkb3duKG8pe3JldHVybiBhKDEsbyl9fX19O2x2LmV4cG9ydHM9Rml9KTt2YXIgY3Y9eCgoQ0wsZnYpPT57dSgpO2Z2LmV4cG9ydHM9eyJiYWNrZHJvcC1maWx0ZXIiOntmZWF0dXJlOiJjc3MtYmFja2Ryb3AtZmlsdGVyIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSIsInNhZmFyaSAxNi41Il19LGVsZW1lbnQ6e3Byb3BzOlsiYmFja2dyb3VuZCIsImJhY2tncm91bmQtaW1hZ2UiLCJib3JkZXItaW1hZ2UiLCJtYXNrIiwibGlzdC1zdHlsZSIsImxpc3Qtc3R5bGUtaW1hZ2UiLCJjb250ZW50IiwibWFzay1pbWFnZSJdLGZlYXR1cmU6ImNzcy1lbGVtZW50LWZ1bmN0aW9uIixicm93c2VyczpbImZpcmVmb3ggMTE0Il19LCJ1c2VyLXNlbGVjdCI6e21pc3Rha2VzOlsiLWtodG1sLSJdLGZlYXR1cmU6InVzZXItc2VsZWN0LW5vbmUiLGJyb3dzZXJzOlsiaW9zX3NhZiAxNi4xIiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi41Iiwic2FmYXJpIDE2LjUiXX0sImJhY2tncm91bmQtY2xpcCI6e2ZlYXR1cmU6ImJhY2tncm91bmQtY2xpcC10ZXh0Iixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSxoeXBoZW5zOntmZWF0dXJlOiJjc3MtaHlwaGVucyIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiLCJzYWZhcmkgMTYuNSJdfSxmaWxsOntwcm9wczpbIndpZHRoIiwibWluLXdpZHRoIiwibWF4LXdpZHRoIiwiaGVpZ2h0IiwibWluLWhlaWdodCIsIm1heC1oZWlnaHQiLCJpbmxpbmUtc2l6ZSIsIm1pbi1pbmxpbmUtc2l6ZSIsIm1heC1pbmxpbmUtc2l6ZSIsImJsb2NrLXNpemUiLCJtaW4tYmxvY2stc2l6ZSIsIm1heC1ibG9jay1zaXplIiwiZ3JpZCIsImdyaWQtdGVtcGxhdGUiLCJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLWF1dG8tY29sdW1ucyIsImdyaWQtYXV0by1yb3dzIl0sZmVhdHVyZToiaW50cmluc2ljLXdpZHRoIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwiZmlsbC1hdmFpbGFibGUiOntwcm9wczpbIndpZHRoIiwibWluLXdpZHRoIiwibWF4LXdpZHRoIiwiaGVpZ2h0IiwibWluLWhlaWdodCIsIm1heC1oZWlnaHQiLCJpbmxpbmUtc2l6ZSIsIm1pbi1pbmxpbmUtc2l6ZSIsIm1heC1pbmxpbmUtc2l6ZSIsImJsb2NrLXNpemUiLCJtaW4tYmxvY2stc2l6ZSIsIm1heC1ibG9jay1zaXplIiwiZ3JpZCIsImdyaWQtdGVtcGxhdGUiLCJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLWF1dG8tY29sdW1ucyIsImdyaWQtYXV0by1yb3dzIl0sZmVhdHVyZToiaW50cmluc2ljLXdpZHRoIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSxzdHJldGNoOntwcm9wczpbIndpZHRoIiwibWluLXdpZHRoIiwibWF4LXdpZHRoIiwiaGVpZ2h0IiwibWluLWhlaWdodCIsIm1heC1oZWlnaHQiLCJpbmxpbmUtc2l6ZSIsIm1pbi1pbmxpbmUtc2l6ZSIsIm1heC1pbmxpbmUtc2l6ZSIsImJsb2NrLXNpemUiLCJtaW4tYmxvY2stc2l6ZSIsIm1heC1ibG9jay1zaXplIiwiZ3JpZCIsImdyaWQtdGVtcGxhdGUiLCJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLWF1dG8tY29sdW1ucyIsImdyaWQtYXV0by1yb3dzIl0sZmVhdHVyZToiaW50cmluc2ljLXdpZHRoIixicm93c2VyczpbImZpcmVmb3ggMTE0Il19LCJmaXQtY29udGVudCI6e3Byb3BzOlsid2lkdGgiLCJtaW4td2lkdGgiLCJtYXgtd2lkdGgiLCJoZWlnaHQiLCJtaW4taGVpZ2h0IiwibWF4LWhlaWdodCIsImlubGluZS1zaXplIiwibWluLWlubGluZS1zaXplIiwibWF4LWlubGluZS1zaXplIiwiYmxvY2stc2l6ZSIsIm1pbi1ibG9jay1zaXplIiwibWF4LWJsb2NrLXNpemUiLCJncmlkIiwiZ3JpZC10ZW1wbGF0ZSIsImdyaWQtdGVtcGxhdGUtcm93cyIsImdyaWQtdGVtcGxhdGUtY29sdW1ucyIsImdyaWQtYXV0by1jb2x1bW5zIiwiZ3JpZC1hdXRvLXJvd3MiXSxmZWF0dXJlOiJpbnRyaW5zaWMtd2lkdGgiLGJyb3dzZXJzOlsiZmlyZWZveCAxMTQiXX0sInRleHQtZGVjb3JhdGlvbi1zdHlsZSI6e2ZlYXR1cmU6InRleHQtZGVjb3JhdGlvbiIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiXX0sInRleHQtZGVjb3JhdGlvbi1jb2xvciI6e2ZlYXR1cmU6InRleHQtZGVjb3JhdGlvbiIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiXX0sInRleHQtZGVjb3JhdGlvbi1saW5lIjp7ZmVhdHVyZToidGV4dC1kZWNvcmF0aW9uIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSJdfSwidGV4dC1kZWNvcmF0aW9uIjp7ZmVhdHVyZToidGV4dC1kZWNvcmF0aW9uIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSJdfSwidGV4dC1kZWNvcmF0aW9uLXNraXAiOntmZWF0dXJlOiJ0ZXh0LWRlY29yYXRpb24iLGJyb3dzZXJzOlsiaW9zX3NhZiAxNi4xIiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi41Il19LCJ0ZXh0LWRlY29yYXRpb24tc2tpcC1pbmsiOntmZWF0dXJlOiJ0ZXh0LWRlY29yYXRpb24iLGJyb3dzZXJzOlsiaW9zX3NhZiAxNi4xIiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi41Il19LCJ0ZXh0LXNpemUtYWRqdXN0Ijp7ZmVhdHVyZToidGV4dC1zaXplLWFkanVzdCIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiXX0sIm1hc2stY2xpcCI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stY29tcG9zaXRlIjp7ZmVhdHVyZToiY3NzLW1hc2tzIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwibWFzay1pbWFnZSI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stb3JpZ2luIjp7ZmVhdHVyZToiY3NzLW1hc2tzIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwibWFzay1yZXBlYXQiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLWJvcmRlci1yZXBlYXQiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLWJvcmRlci1zb3VyY2UiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LG1hc2s6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stcG9zaXRpb24iOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLXNpemUiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLWJvcmRlciI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stYm9yZGVyLW91dHNldCI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stYm9yZGVyLXdpZHRoIjp7ZmVhdHVyZToiY3NzLW1hc2tzIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwibWFzay1ib3JkZXItc2xpY2UiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJjbGlwLXBhdGgiOntmZWF0dXJlOiJjc3MtY2xpcC1wYXRoIixicm93c2VyczpbInNhbXN1bmcgMjEiXX0sImJveC1kZWNvcmF0aW9uLWJyZWFrIjp7ZmVhdHVyZToiY3NzLWJveGRlY29yYXRpb25icmVhayIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiLCJvcGVyYSA5OSIsInNhZmFyaSAxNi41Iiwic2Ftc3VuZyAyMSJdfSxhcHBlYXJhbmNlOntmZWF0dXJlOiJjc3MtYXBwZWFyYW5jZSIsYnJvd3NlcnM6WyJzYW1zdW5nIDIxIl19LCJpbWFnZS1zZXQiOntwcm9wczpbImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kLWltYWdlIiwiYm9yZGVyLWltYWdlIiwiY3Vyc29yIiwibWFzayIsIm1hc2staW1hZ2UiLCJsaXN0LXN0eWxlIiwibGlzdC1zdHlsZS1pbWFnZSIsImNvbnRlbnQiXSxmZWF0dXJlOiJjc3MtaW1hZ2Utc2V0Iixicm93c2VyczpbImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsInNhbXN1bmcgMjEiXX0sImNyb3NzLWZhZGUiOntwcm9wczpbImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kLWltYWdlIiwiYm9yZGVyLWltYWdlIiwibWFzayIsImxpc3Qtc3R5bGUiLCJsaXN0LXN0eWxlLWltYWdlIiwiY29udGVudCIsIm1hc2staW1hZ2UiXSxmZWF0dXJlOiJjc3MtY3Jvc3MtZmFkZSIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0saXNvbGF0ZTp7cHJvcHM6WyJ1bmljb2RlLWJpZGkiXSxmZWF0dXJlOiJjc3MtdW5pY29kZS1iaWRpIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSIsInNhZmFyaSAxNi41Il19LCJjb2xvci1hZGp1c3QiOntmZWF0dXJlOiJjc3MtY29sb3ItYWRqdXN0Iixicm93c2VyczpbImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiXX19fSk7dmFyIGR2PXgoKF9MLHB2KT0+e3UoKTtwdi5leHBvcnRzPXt9fSk7dmFyIHl2PXgoKEVMLGd2KT0+e3UoKTt2YXIgTjU9WWwoKSx7YWdlbnRzOkI1fT0oUHMoKSxScyksb2Y9T3koKSxGNT1NdCgpLGo1PXV2KCksejU9Y3YoKSxVNT1kdigpLGh2PXticm93c2VyczpCNSxwcmVmaXhlczp6NX0sbXY9YAogIFJlcGxhY2UgQXV0b3ByZWZpeGVyIFxgYnJvd3NlcnNcYCBvcHRpb24gdG8gQnJvd3NlcnNsaXN0IGNvbmZpZy4KICBVc2UgXGBicm93c2Vyc2xpc3RcYCBrZXkgaW4gXGBwYWNrYWdlLmpzb25cYCBvciBcYC5icm93c2Vyc2xpc3RyY1xgIGZpbGUuCgogIFVzaW5nIFxgYnJvd3NlcnNcYCBvcHRpb24gY2FuIGNhdXNlIGVycm9ycy4gQnJvd3NlcnNsaXN0IGNvbmZpZyBjYW4KICBiZSB1c2VkIGZvciBCYWJlbCwgQXV0b3ByZWZpeGVyLCBwb3N0Y3NzLW5vcm1hbGl6ZSBhbmQgb3RoZXIgdG9vbHMuCgogIElmIHlvdSByZWFsbHkgbmVlZCB0byB1c2Ugb3B0aW9uLCByZW5hbWUgaXQgdG8gXGBvdmVycmlkZUJyb3dzZXJzbGlzdFxgLgoKICBMZWFybiBtb3JlIGF0OgogIGh0dHBzOi8vZ2l0aHViLmNvbS9icm93c2Vyc2xpc3QvYnJvd3NlcnNsaXN0I3JlYWRtZQogIGh0dHBzOi8vdHdpdHRlci5jb20vYnJvd3NlcnNsaXN0CgpgO2Z1bmN0aW9uIFY1KHIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KHIpPT09IltvYmplY3QgT2JqZWN0XSJ9dmFyIGxmPW5ldyBNYXA7ZnVuY3Rpb24gSDUocixlKXtlLmJyb3dzZXJzLnNlbGVjdGVkLmxlbmd0aCE9PTAmJihlLmFkZC5zZWxlY3RvcnMubGVuZ3RoPjB8fE9iamVjdC5rZXlzKGUuYWRkKS5sZW5ndGg+Mnx8ci53YXJuKGBBdXRvcHJlZml4ZXIgdGFyZ2V0IGJyb3dzZXJzIGRvIG5vdCBuZWVkIGFueSBwcmVmaXhlcy5Zb3UgZG8gbm90IG5lZWQgQXV0b3ByZWZpeGVyIGFueW1vcmUuCkNoZWNrIHlvdXIgQnJvd3NlcnNsaXN0IGNvbmZpZyB0byBiZSBzdXJlIHRoYXQgeW91ciB0YXJnZXRzIGFyZSBzZXQgdXAgY29ycmVjdGx5LgoKICBMZWFybiBtb3JlIGF0OgogIGh0dHBzOi8vZ2l0aHViLmNvbS9wb3N0Y3NzL2F1dG9wcmVmaXhlciNyZWFkbWUKICBodHRwczovL2dpdGh1Yi5jb20vYnJvd3NlcnNsaXN0L2Jyb3dzZXJzbGlzdCNyZWFkbWUKCmApKX1ndi5leHBvcnRzPURyO2Z1bmN0aW9uIERyKC4uLnIpe2xldCBlO2lmKHIubGVuZ3RoPT09MSYmVjUoclswXSk/KGU9clswXSxyPXZvaWQgMCk6ci5sZW5ndGg9PT0wfHxyLmxlbmd0aD09PTEmJiFyWzBdP3I9dm9pZCAwOnIubGVuZ3RoPD0yJiYoQXJyYXkuaXNBcnJheShyWzBdKXx8IXJbMF0pPyhlPXJbMV0scj1yWzBdKTp0eXBlb2YgcltyLmxlbmd0aC0xXT09Im9iamVjdCImJihlPXIucG9wKCkpLGV8fChlPXt9KSxlLmJyb3dzZXIpdGhyb3cgbmV3IEVycm9yKCJDaGFuZ2UgYGJyb3dzZXJgIG9wdGlvbiB0byBgb3ZlcnJpZGVCcm93c2Vyc2xpc3RgIGluIEF1dG9wcmVmaXhlciIpO2lmKGUuYnJvd3NlcnNsaXN0KXRocm93IG5ldyBFcnJvcigiQ2hhbmdlIGBicm93c2Vyc2xpc3RgIG9wdGlvbiB0byBgb3ZlcnJpZGVCcm93c2Vyc2xpc3RgIGluIEF1dG9wcmVmaXhlciIpO2Uub3ZlcnJpZGVCcm93c2Vyc2xpc3Q/cj1lLm92ZXJyaWRlQnJvd3NlcnNsaXN0OmUuYnJvd3NlcnMmJih0eXBlb2YgY29uc29sZSE9InVuZGVmaW5lZCImJmNvbnNvbGUud2FybiYmKG9mLnJlZD9jb25zb2xlLndhcm4ob2YucmVkKG12LnJlcGxhY2UoL2BbXmBdK2AvZyxuPT5vZi55ZWxsb3cobi5zbGljZSgxLC0xKSkpKSk6Y29uc29sZS53YXJuKG12KSkscj1lLmJyb3dzZXJzKTtsZXQgdD17aWdub3JlVW5rbm93blZlcnNpb25zOmUuaWdub3JlVW5rbm93blZlcnNpb25zLHN0YXRzOmUuc3RhdHMsZW52OmUuZW52fTtmdW5jdGlvbiBpKG4pe2xldCBzPWh2LGE9bmV3IEY1KHMuYnJvd3NlcnMscixuLHQpLG89YS5zZWxlY3RlZC5qb2luKCIsICIpK0pTT04uc3RyaW5naWZ5KGUpO3JldHVybiBsZi5oYXMobyl8fGxmLnNldChvLG5ldyBqNShzLnByZWZpeGVzLGEsZSkpLGxmLmdldChvKX1yZXR1cm57cG9zdGNzc1BsdWdpbjoiYXV0b3ByZWZpeGVyIixwcmVwYXJlKG4pe2xldCBzPWkoe2Zyb206bi5vcHRzLmZyb20sZW52OmUuZW52fSk7cmV0dXJue09uY2VFeGl0KGEpe0g1KG4scyksZS5yZW1vdmUhPT0hMSYmcy5wcm9jZXNzb3IucmVtb3ZlKGEsbiksZS5hZGQhPT0hMSYmcy5wcm9jZXNzb3IuYWRkKGEsbil9fX0saW5mbyhuKXtyZXR1cm4gbj1ufHx7fSxuLmZyb209bi5mcm9tfHxtLmN3ZCgpLFU1KGkobikpfSxvcHRpb25zOmUsYnJvd3NlcnM6cn19RHIucG9zdGNzcz0hMDtEci5kYXRhPWh2O0RyLmRlZmF1bHRzPU41LmRlZmF1bHRzO0RyLmluZm89KCk9PkRyKCkuaW5mbygpfSk7dmFyIGJ2PXt9O0dlKGJ2LHtkZWZhdWx0OigpPT5XNX0pO3ZhciBXNSx3dj1QKCgpPT57dSgpO1c1PVtdfSk7dmFyIHh2PXt9O0dlKHh2LHtkZWZhdWx0OigpPT5HNX0pO3ZhciB2dixHNSxrdj1QKCgpPT57dSgpO1hpKCk7dnY9cGUocm4oKSksRzU9U3QodnYuZGVmYXVsdC50aGVtZSl9KTt2YXIgQXY9e307R2UoQXYse2RlZmF1bHQ6KCk9PlE1fSk7dmFyIFN2LFE1LEN2PVAoKCk9Pnt1KCk7WGkoKTtTdj1wZShybigpKSxRNT1TdChTdi5kZWZhdWx0KX0pO3UoKTsidXNlIHN0cmljdCI7dmFyIFk1PXZ0KF95KCkpLEs1PXZ0KCRlKCkpLFg1PXZ0KHl2KCkpLFo1PXZ0KCh3digpLGJ2KSksSjU9dnQoKGt2KCkseHYpKSxlUD12dCgoQ3YoKSxBdikpLHRQPXZ0KChWcygpLF9mKSksclA9dnQoKGFsKCksc2wpKSxpUD12dCgoc2EoKSxzYykpO2Z1bmN0aW9uIHZ0KHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1jb25zb2xlLndhcm4oImNkbi50YWlsd2luZGNzcy5jb20gc2hvdWxkIG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uIFRvIHVzZSBUYWlsd2luZCBDU1MgaW4gcHJvZHVjdGlvbiwgaW5zdGFsbCBpdCBhcyBhIFBvc3RDU1MgcGx1Z2luIG9yIHVzZSB0aGUgVGFpbHdpbmQgQ0xJOiBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2luc3RhbGxhdGlvbiIpO3ZhciBOcz0idGFpbHdpbmQiLHVmPSJ0ZXh0L3RhaWx3aW5kY3NzIixfdj0iL3RlbXBsYXRlLmh0bWwiLFl0LEV2PSEwLE92PTAsZmY9bmV3IFNldCxjZixUdj0iIixSdj0ocj0hMSk9Pih7Z2V0KGUsdCl7cmV0dXJuKCFyfHx0PT09ImNvbmZpZyIpJiZ0eXBlb2YgZVt0XT09Im9iamVjdCImJmVbdF0hPT1udWxsP25ldyBQcm94eShlW3RdLFJ2KCkpOmVbdF19LHNldChlLHQsaSl7cmV0dXJuIGVbdF09aSwoIXJ8fHQ9PT0iY29uZmlnIikmJnBmKCEwKSwhMH19KTt3aW5kb3dbTnNdPW5ldyBQcm94eSh7Y29uZmlnOnt9LGRlZmF1bHRUaGVtZTpKNS5kZWZhdWx0LGRlZmF1bHRDb25maWc6ZVAuZGVmYXVsdCxjb2xvcnM6dFAuZGVmYXVsdCxwbHVnaW46clAuZGVmYXVsdCxyZXNvbHZlQ29uZmlnOmlQLmRlZmF1bHR9LFJ2KCEwKSk7ZnVuY3Rpb24gUHYocil7Y2Yub2JzZXJ2ZShyLHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbInR5cGUiXSxjaGFyYWN0ZXJEYXRhOiEwLHN1YnRyZWU6ITAsY2hpbGRMaXN0OiEwfSl9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoYXN5bmMgcj0+e2xldCBlPSExO2lmKCFjZil7Y2Y9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoYXN5bmMoKT0+YXdhaXQgcGYoITApKTtmb3IobGV0IHQgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc3R5bGVbdHlwZT0iJHt1Zn0iXWApKVB2KHQpfWZvcihsZXQgdCBvZiByKWZvcihsZXQgaSBvZiB0LmFkZGVkTm9kZXMpaS5ub2RlVHlwZT09PTEmJmkudGFnTmFtZT09PSJTVFlMRSImJmkuZ2V0QXR0cmlidXRlKCJ0eXBlIik9PT11ZiYmKFB2KGkpLGU9ITApO2F3YWl0IHBmKGUpfSkub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQse2F0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOlsiY2xhc3MiXSxjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pO2FzeW5jIGZ1bmN0aW9uIHBmKHI9ITEpe3ImJihPdisrLGZmLmNsZWFyKCkpO2xldCBlPSIiO2ZvcihsZXQgaSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGBzdHlsZVt0eXBlPSIke3VmfSJdYCkpZSs9aS50ZXh0Q29udGVudDtsZXQgdD1uZXcgU2V0O2ZvcihsZXQgaSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbY2xhc3NdIikpZm9yKGxldCBuIG9mIGkuY2xhc3NMaXN0KWZmLmhhcyhuKXx8dC5hZGQobik7aWYoZG9jdW1lbnQuYm9keSYmKEV2fHx0LnNpemU+MHx8ZSE9PVR2fHwhWXR8fCFZdC5pc0Nvbm5lY3RlZCkpe2ZvcihsZXQgbiBvZiB0KWZmLmFkZChuKTtFdj0hMSxUdj1lLHNlbGZbX3ZdPUFycmF5LmZyb20odCkuam9pbigiICIpO2xldHtjc3M6aX09YXdhaXQoMCxLNS5kZWZhdWx0KShbKDAsWTUuZGVmYXVsdCkoey4uLndpbmRvd1tOc10uY29uZmlnLF9oYXNoOk92LGNvbnRlbnQ6e2ZpbGVzOltfdl0sZXh0cmFjdDp7aHRtbDpuPT5uLnNwbGl0KCIgIil9fSxwbHVnaW5zOlsuLi5aNS5kZWZhdWx0LC4uLkFycmF5LmlzQXJyYXkod2luZG93W05zXS5jb25maWcucGx1Z2lucyk/d2luZG93W05zXS5jb25maWcucGx1Z2luczpbXV19KSwoMCxYNS5kZWZhdWx0KSh7cmVtb3ZlOiExfSldKS5wcm9jZXNzKGBAdGFpbHdpbmQgYmFzZTtAdGFpbHdpbmQgY29tcG9uZW50cztAdGFpbHdpbmQgdXRpbGl0aWVzOyR7ZX1gKTsoIVl0fHwhWXQuaXNDb25uZWN0ZWQpJiYoWXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxkb2N1bWVudC5oZWFkLmFwcGVuZChZdCkpLFl0LnRleHRDb250ZW50PWl9fX0pKCk7Ci8qIQogKiBmaWxsLXJhbmdlIDxodHRwczovL2dpdGh1Yi5jb20vam9uc2NobGlua2VydC9maWxsLXJhbmdlPgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTQtcHJlc2VudCwgSm9uIFNjaGxpbmtlcnQuCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KICovCi8qIQogKiBpcy1udW1iZXIgPGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zY2hsaW5rZXJ0L2lzLW51bWJlcj4KICoKICogQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEpvbiBTY2hsaW5rZXJ0LgogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuCiAqLwovKiEKICogdG8tcmVnZXgtcmFuZ2UgPGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb21hdGNoL3RvLXJlZ2V4LXJhbmdlPgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTUtcHJlc2VudCwgSm9uIFNjaGxpbmtlcnQuCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KICovCi8qISBodHRwczovL210aHMuYmUvY3NzZXNjIHYzLjAuMCBieSBAbWF0aGlhcyAqLwo="}},"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/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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.464Z","timestamp":1785120763464,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: 34f29d6029b91b348d598e652fbc27df\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-07-27T05:14:11.3544Z","times_seen":17556491,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.978Z","timestamp":1785120761978,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 4401168\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 02:52:41 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=tlyy1yLghmg%2BC4%2BtSboVfKMVnB0jgtTZj2J89Hc%2BEPZ8PWIRuWia10wOTJ4ItW%2BE97Pk4Rxo4Y3mKZytnHUiQCjbxnUPweIEwvCmO7Wf4xZIuZ3q0EOxjb5GwuxT\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a6bea0daa-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":"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"]}],"data":{"size":30684,"size_decoded":9883,"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-07-27T05:24:59.816149Z","times_seen":1478,"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":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/7278.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.264Z","timestamp":1785120762264,"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=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\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: Sun, 26 Jul 2026 04:17:17 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ff1cba08edcc514d5676fdfe1fc32ccc\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 81326\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: vo40QSpMvrnz9EVCyuCrrojEX0vyVTdd6aoCKrAaZnmkTvoFjiG1MA==\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":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-07-27T05:24:59.949351Z","times_seen":799,"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":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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.100Z","timestamp":1785120763100,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: c7d8fb3d527bddb4a7a32434591fea02\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-07-27T05:26:55.705137Z","times_seen":218,"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":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/api/v1/coins/bitcoin/chart?days=7","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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:43.354Z","timestamp":1785120763354,"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/coins/bitcoin/chart?days=7 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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _ga_V84XP8WGXY=GS2.1.s1785120762$o1$g1$t1785120763$j59$l0$h0; _ga=GA1.1.874283178.1785120762\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: 371\r\ncache-control: public, max-age=300, 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 02:52:43 GMT\r\netag: W/\"LwcB5li3fUjQzn1eHNUcl4Pucuo=\"\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/coins/[id]/chart\r\nx-vercel-cache: STALE\r\nx-vercel-id: arn1::iad1::9dktg-1785120763373-bc36d5f46a13\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=Psn%2Bw9lMchiCWGfoRm%2F4Q0KQQwAjbeeDJV4AZDhCuUXZVK7E70tV8exsIbrwgCyvphA7wUzjdenfxkqvvFhfaF6F06uMVPBAdxZA5VYUzSD84G%2F%2F40%2BJgnMlyYeg\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2185982fc490daa-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":"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"]}],"data":{"size":17426,"size_decoded":8147,"mime_type":"application/json","magic":"JSON text data","md5":"02ac66d14d54d6a0c1a3be13e8cf6959","sha1":"2f0701e658b77d48d0ce7d5e1cd51c9783ee72ea","sha256":"cd7c8be183540074a2a1d515c1ef87bdede5f59da67753b5a6ee290fae51d492","sha512":"28a90b4b05279e57f792a5c8a9e8ab2204f03910ed5a6958ac2cc74d87a3ba610e3d68cec3d0e5546f05cc6abfff3499355dbb3c7bdcc1f7cd77fe9a3d9f10e9","ssdeep":"384:o87LqlnBwzL7RsNUPPkGXANJ5PyUnm0Ub8mASc:t78BwndzX6JU4m0U3g","tlshash":"d37273d877b116ea75ab5fa509d438ecc8bb347badf724c8918ab6fc1432ed4100d909","first_seen":"2026-07-27T02:53:32.36057Z","last_seen":"2026-07-27T02:53:32.36057Z","times_seen":1,"resource_available":false,"data":"eyJkYXRhIjp7InByaWNlcyI6W1sxNzg0NTE1ODAxNTg1LDY0OTA2LjI1NDkxMjA5NzM4NV0sWzE3ODQ1MTk0MDE0ODIsNjQ4MTQuMzgzMjAyMjczNDddLFsxNzg0NTIzMDA1ODcyLDY0NjY4LjcxMDk1ODEwMDI0NF0sWzE3ODQ1MjY2MDE1NzAsNjQxMzkuNTU2NTA4OTEyM10sWzE3ODQ1MzAyMDExMzcsNjM3MjYuNDIxOTEzNTQxMzRdLFsxNzg0NTMzODAwODU3LDY0MTM0LjM3ODk5MTc1Njk3NF0sWzE3ODQ1Mzc0MDE3NDQsNjM5NzIuODcwNjAwNzk3NjldLFsxNzg0NTQxMDAwODI3LDY0MjA1LjE1Mzk5OTM2NTg5XSxbMTc4NDU0NDYwMTAxMyw2NDI3NS4wNjYzODYwNTMyOTVdLFsxNzg0NTQ4MjAyNTE0LDY0OTAyLjE2NTM3ODc1MjEyXSxbMTc4NDU1MTgwMTE5NCw2NDYzMC45NDAwNzg1OTk2MV0sWzE3ODQ1NTU0MDA4MjUsNjQ1MzguNDc2MTAxNzkyMjVdLFsxNzg0NTU5MDAxODg4LDY0NDAzLjE1NjQ0OTA4NTI1NF0sWzE3ODQ1NjI2MDA4MDUsNjUyNzQuNjA3ODgxNzEwMDA2XSxbMTc4NDU2NjIwMTMzNiw2NTM5Mi43Nzk2MzgwODk4OTRdLFsxNzg0NTY5ODAxNDE5LDY1MzYwLjg3NzMzMDM5MDg2XSxbMTc4NDU3MzQwMjUwMiw2NTI1OS4zNjgxODgzMDQ1MV0sWzE3ODQ1NzcwMDA5MDIsNjUwODAuNzY1MzI1NzA0ODVdLFsxNzg0NTgwNjAwOTY1LDY1MzA4LjcxOTA0MDMzMzA0Nl0sWzE3ODQ1ODQyMDExOTUsNjUyODcuMTIyNTQ0NjQ5NTVdLFsxNzg0NTg3ODAxNTI1LDY1MTAzLjA0ODc5NjY5NjI5XSxbMTc4NDU5MTQwMDkxOCw2NTIxMi41NTMwOTE3NzYwNV0sWzE3ODQ1OTUwMDEzODcsNjU0NzkuNjA3MDA2NDQ2ODFdLFsxNzg0NTk4NjAxNTA0LDY1Mjc5LjYzNTM2MzU4NjgzNl0sWzE3ODQ2MDIyMDI4MjMsNjUyNzYuMjY3NDM3OTY1OTY2XSxbMTc4NDYwNTgwMzkyMiw2NTQ1My40MzEwNjY3OTA5XSxbMTc4NDYwOTQwMTc4NCw2NTQ4Ny43NjI0NzgyMTM3NjVdLFsxNzg0NjEzMDAxNDM0LDY1ODIyLjE1ODMyNDE1NDcyXSxbMTc4NDYxNjYwMTU1NSw2NTg0MC4yNTMzMjQyNjI1XSxbMTc4NDYyMDIwMjA0OSw2NjA5NS4zNDAwMzMwMjI0OF0sWzE3ODQ2MjM4MDE2MTAsNjYyNjQuMTQzNTg1Mjg1ODddLFsxNzg0NjI3NDAxOTgyLDY2MjY0LjY5MDI2MzI2MTQ3XSxbMTc4NDYzMTAwMDc5Miw2NjMwMS41NzU4NDA1NzQ3OF0sWzE3ODQ2MzQ2MDA4NzksNjYzMDQuMzY1MjE0NjgzOTZdLFsxNzg0NjM4MjAzMTQzLDY2NDc1LjAxNDA2MTEwNjRdLFsxNzg0NjQxODAxMjk3LDY2NDcxLjIxOTI1MTM5NjgzXSxbMTc4NDY0NTQwMDgzNyw2Njc5OC42MzM3Mzg1NjE2XSxbMTc4NDY0OTAwNDQ4NSw2NjYxMy44ODgxOTU5ODYzNV0sWzE3ODQ2NTI2MDM0NDcsNjY0NzYuNDIzMTE0OTA1MTJdLFsxNzg0NjU2MjAxMTIwLDY2MjAwLjk2OTQzNzAzMTldLFsxNzg0NjU5ODAxNTMzLDY2MjY4LjMwOTU1MDk3NzldLFsxNzg0NjYzNDAzMjQ4LDY2NDY0LjcwODc2Mzc2MjA0XSxbMTc4NDY2NzAwMzMzNyw2NjQxNS45OTk1OTk5NjExNF0sWzE3ODQ2NzA2MDM0NjAsNjYzMjQuMzE5OTc2MzY5MTRdLFsxNzg0Njc0MjAxNzQ1LDY2MjIyLjcwMjM1NTcxNzQ1XSxbMTc4NDY3NzgwMDkwOSw2NjM5My40NTYxNDQ1ODgyOV0sWzE3ODQ2ODE0MDE0MTksNjY2NzQuMTU0ODA0NDk0OTNdLFsxNzg0Njg1MDAyNTEyLDY2NDQxLjI0NTQ2Mjc3NDg4XSxbMTc4NDY4ODYwMDk2NSw2NjMxMi42NzQ3MDQ0NzgwNV0sWzE3ODQ2OTIyMDI1MTUsNjYzMTEuOTU1NjkwMzEzNTVdLFsxNzg0Njk1ODAyNjc2LDY2MzIzLjk0NzIzNjY0NDczXSxbMTc4NDY5OTQwMTUzNSw2NTk3NS41MDA1NzYwNzEzXSxbMTc4NDcwMzAwNDE5Nyw2NTg3Mi42MzYyNTYxMjM1Nl0sWzE3ODQ3MDY2MDE3NDQsNjU3NjguMDU1MzU1NTg2N10sWzE3ODQ3MTAyMDExODksNjU5MjMuMDc0NTM1MzU3NThdLFsxNzg0NzEzODAzMDM0LDY1ODQ2Ljc1MTcyNjg0MTc3XSxbMTc4NDcxNzQwMTc0Miw2NjAzOS40NTQ5OTg2NTcxMl0sWzE3ODQ3MjEwMDExMTMsNjYwMDMuMDU3OTc4NTUwMjldLFsxNzg0NzI0NjAyODM4LDY1NzcwLjQ0NTQwNjY5Mjk1XSxbMTc4NDcyODIwMTI5Niw2NTg1OS45MTQzOTE0NDQxMV0sWzE3ODQ3MzE4MDE1NTcsNjU2ODAuNzczOTk0MjEyMV0sWzE3ODQ3MzU0MDEwNjYsNjU5NjUuOTkwNDMxNTE5MzFdLFsxNzg0NzM5MDAxOTY2LDY2MTgyLjEwNzgxNjI5OTU1XSxbMTc4NDc0MjYwMjYwOSw2NjE4Ni4xNzUwNzExMzY3OF0sWzE3ODQ3NDYyMDMzODMsNjU4MTMuMTkxMDg5MzA4MDNdLFsxNzg0NzQ5ODAxMDAwLDY1ODU1LjI2Mzg3MzgzMTVdLFsxNzg0NzUzNDAzMzIwLDY1ODc1LjE0OTg5Nzg4MDY2XSxbMTc4NDc1NzAwMTE5MSw2NjA4Ny4wNDkxNDc4ODk0M10sWzE3ODQ3NjA2MDMwMTMsNjU5NTcuMzMxMDczNjkxMjVdLFsxNzg0NzY0MjA0MTMxLDY1OTg4LjI2NDc3NTE3NTYyXSxbMTc4NDc2NzgwNDE4NSw2NjE1NS4zNDY1MTc4OTYxOV0sWzE3ODQ3NzE0MDA4NzUsNjU3ODcuMjgxNzQxODczNzJdLFsxNzg0Nzc1MDAxNDYyLDY1NzQ2LjE2MTMyNTM5ODM0XSxbMTc4NDc3ODYwMTA0Niw2NTYzOC4zMTAxMjczNDIwNV0sWzE3ODQ3ODIyMDA3OTksNjU2MTUuOTQ0MTg0ODYyMjFdLFsxNzg0Nzg1ODAxNDQxLDY1NzEwLjYwNjY0ODI3ODI2XSxbMTc4NDc4OTQwNDIyNyw2NTc2MC41ODQ5MTQ5MzMzN10sWzE3ODQ3OTMwMDA3MzgsNjUzODcuNTk2MDQzNTIyMDU1XSxbMTc4NDc5NjYwMTY5OCw2NTYwNi4yMTU1MTk1ODYxXSxbMTc4NDgwMDIwMDkwNCw2NTY3Mi4xMjE4MTUxNjcyMV0sWzE3ODQ4MDM4MDI5NDIsNjU3NDQuNDQ0MjkyMTY3M10sWzE3ODQ4MDc0MDI2MjcsNjU1MjQuMjIxMDMzOTY2MzNdLFsxNzg0ODExMDAyNDgyLDY1MDcyLjcwMDc2MDI3OTQyXSxbMTc4NDgxNDYwMDkxNCw2NDg2OC4xNjcwNDk5MDk0NF0sWzE3ODQ4MTgyMDA3NzMsNjQ5NTEuMTQ1NDA2NDU2OTVdLFsxNzg0ODIxODA0NDE5LDY0ODQ1LjMyNDkzMzA4NzkzXSxbMTc4NDgyNTQwMDc5Myw2NDcxMC45MDExMTM4NzQ2OV0sWzE3ODQ4MjkwMDIyODEsNjQ3OTEuMDQ2NTQwNTg1MzddLFsxNzg0ODMyNjAzMDg3LDY0ODA3LjQ0NzIyOTU1NDEzXSxbMTc4NDgzNjIwMjA4MCw2NDY4NS42MDYzNTI4ODE1NF0sWzE3ODQ4Mzk4MDM4NzQsNjUwNzEuNTU1NDk1ODU0MzhdLFsxNzg0ODQzNDAxMzk1LDY1MDc4LjkzMjU0OTYyMDEzNV0sWzE3ODQ4NDcwMDA5NTUsNjUxNDguNzc1OTUzNzgzMjJdLFsxNzg0ODUwNjAxNjg3LDY1MTA0LjI4MzQ1NTI1NDA1XSxbMTc4NDg1NDIwMTU2Nyw2NDg2Ni42MDQ5MjYyMDRdLFsxNzg0ODU3ODAxNTkwLDY1MDczLjE1MjYzMzU1MDQ3XSxbMTc4NDg2MTQwMTM4Myw2NDk1Ny4wMzY2NzExMDc1OV0sWzE3ODQ4NjUwMDIyNTMsNjUzODkuNzEzMjk3ODkwODhdLFsxNzg0ODY4NjAwODQzLDY1MjkzLjY1NTA3NzQyODEzXSxbMTc4NDg3MjIwMTg3MCw2NTI2My43NTI1NDIzMDczXSxbMTc4NDg3NTgwMzM4Myw2NTQzMy43Nzk3MjAzNTQ5XSxbMTc4NDg3OTQwMTAwMSw2NTM1My45MjMyMDk0MzYzM10sWzE3ODQ4ODMwMDEwMzksNjUzODUuMzQ4OTA5NjQ1NjI1XSxbMTc4NDg4NjYwMTUxMyw2NTA0MC43MTY2NzgwOTkxNTRdLFsxNzg0ODkwMjAwNzkzLDY0OTkxLjU2NTc0OTQxNjcyNF0sWzE3ODQ4OTM4MDE1MDAsNjQ4MjcuMDA5MzQ2NzEwNTRdLFsxNzg0ODk3NDAwOTcyLDY0ODE4LjkyNDk1MjIwOTIzXSxbMTc4NDkwMTAwMjM0NCw2NDM1NS43MjgxNjE3NDE3Nl0sWzE3ODQ5MDQ2MDE0MjMsNjM3MTIuMzI4ODk1NDI3MThdLFsxNzg0OTA4MjAxMjAwLDY0MDg0LjQwMDUzOTUzNzQyXSxbMTc4NDkxMTgwMzM4Miw2Mzg1My45NDg2NDM5ODM0Ml0sWzE3ODQ5MTU0MDA4MDYsNjQxMDguMjg3NDExODA5NjQ0XSxbMTc4NDkxOTAwMTMwNSw2NDE2Mi4zODE0ODY0MjA1ODVdLFsxNzg0OTIyNjAxMjY0LDY0MTY4LjQ1MjU3NDU4MjU3XSxbMTc4NDkyNjIwMDg1Niw2NDEwMS41NDA0ODU1MDAwNzRdLFsxNzg0OTI5ODAwOTE5LDY0MDgwLjQwMjg3NTgwODgyXSxbMTc4NDkzMzQwMjQ3Niw2NDExNC41NDQ3NzYxMzE5MTZdLFsxNzg0OTM3MDAxNjAyLDY0MTA1LjMyODAyODMwMTkyXSxbMTc4NDk0MDYwMDkzNCw2NDAzOS4yNzI5MDczNDI5XSxbMTc4NDk0NDIwMjAxNyw2NDA4MS4xMTAwMjg0NTAxMV0sWzE3ODQ5NDc4MDIwNjUsNjM5ODMuNjMxMjg0MDM1NzM1XSxbMTc4NDk1MTQwMTE2MSw2NDAyOS44NDM1NTc4NDM1M10sWzE3ODQ5NTUwMDM1MzIsNjQxMjUuNTk4NDE1MTYxNDVdLFsxNzg0OTU4NjAxMzcxLDYzOTc1Ljg4MTcyNDc4NDc3XSxbMTc4NDk2MjIwMDc4OCw2MzkyMi4xNDY0NTk2OTI2Ml0sWzE3ODQ5NjU4MDEzNjksNjM5NzEuNTA1ODAwNjMyMDFdLFsxNzg0OTY5NDAxNTgyLDYzODkzLjg5NjgzNTUyOTIxXSxbMTc4NDk3MzAwMDg2NSw2Mzg4Ni42ODQ2NDYzNjQ3NF0sWzE3ODQ5NzY2MDEwNTgsNjM5NTguNDY0NzE5NzkyMV0sWzE3ODQ5ODAyMDA4NTUsNjM5OTQuMDI1MDUzOTQxMzI1XSxbMTc4NDk4MzgwMTAxMSw2NDA0Mi40MDc1NzEzMTQ4NV0sWzE3ODQ5ODc0MDM4MDAsNjQxNjMuNTI4MjI3ODgzMDFdLFsxNzg0OTkxMDAyNDUxLDY0MTI1LjY2NDA3MjY3NDkyXSxbMTc4NDk5NDYwMzM1OCw2NDE0OS41NjI4ODA3ODk4N10sWzE3ODQ5OTgyMDA4MTYsNjQxNzAuMTg0NTc3NTk5NDQ0XSxbMTc4NTAwMTgwMzE1NSw2NDIzMS44MzQ4MDQwOTIxMzRdLFsxNzg1MDA1NDAxMzY2LDY0MzUyLjUzNDYzNDA3NzY0XSxbMTc4NTAwOTAwMzIzMiw2NDMzNC43MzMxNjQyNDAwNDZdLFsxNzg1MDEyNjAxMDE0LDY0MjU5LjQ2MjU2ODAxODUwNV0sWzE3ODUwMTYyMDEyNTUsNjQzMjkuNzQxMDQ2MjUwOTJdLFsxNzg1MDE5ODAxMjAxLDY0MzIxLjY2NzIwODAxNDIzXSxbMTc4NTAyMzQwMDg0Nyw2NDMyOC40ODczOTQxODc2MV0sWzE3ODUwMjcwMDA5NjksNjQzNjUuOTY1NjM0ODIwNTVdLFsxNzg1MDMwNjAxNjgwLDY0NDA4LjYxNzk1MzQ1NjJdLFsxNzg1MDM0MjAyMTE0LDY0Mzg2LjIwNDI3OTQ5NTI5NF0sWzE3ODUwMzc4MDE0MzcsNjQ0ODguMjc5MTAyMzI0NTRdLFsxNzg1MDQxNDAxMDM0LDY0NDk1LjM3NDkxNzU4MTA3XSxbMTc4NTA0NTAwMjQ3MSw2NDQwNC4zMzU1MTIzNDEwMV0sWzE3ODUwNDg2MDExMTQsNjQzNDIuMDM2NDYxMjMzNjJdLFsxNzg1MDUyMjAxODI2LDY0Mjk3LjczNTg0ODI3MjgxNl0sWzE3ODUwNTU4MDA5MTAsNjQzODcuMzExOTA2MTMwMzJdLFsxNzg1MDU5NDAyMjM3LDY0NDkzLjQ0NjQxNzE3Nzk4XSxbMTc4NTA2MzAwMzA5MSw2NDQ4Ni4yNzc0MzMzMzA4MjZdLFsxNzg1MDY2NjAxMjg1LDY0NDUxLjYyMjgxNzc3NjYzXSxbMTc4NTA3MDIwMDgxMyw2NDQwOC41OTI2MjkxNTAzN10sWzE3ODUwNzM4MDE3NzksNjQ0OTYuNzI4NzAyMzc3MTM1XSxbMTc4NTA3NzQwMjcxMyw2NDY4NC4wODc3MzIyMDUxOF0sWzE3ODUwODEwMDA5NzQsNjQ3MjcuNTUwNDE3Njk5NzhdLFsxNzg1MDg0NjAwOTc2LDY0NzU2LjY4NzcxMDgwNjYyXSxbMTc4NTA4ODIwMzEwNSw2NDYzMC43NjcwMjQ1NTQ1NF0sWzE3ODUwOTE4MDI4ODksNjQ2NTguMzk4MDA2MzM2NjRdLFsxNzg1MDk1NDAwODIxLDY0NjUxLjMwNDEwMzQ2NjhdLFsxNzg1MDk5MDAxNTMzLDY0NjEwLjI3NDEyMDQ1XSxbMTc4NTEwMjYwNDE2Nyw2NDc2Ny40ODQwNDExODYxNF0sWzE3ODUxMDYyMDA5MDksNjUzNTUuNDU3MjQ4NzY3MjFdLFsxNzg1MTA5ODAxMzAwLDY1MzQxLjU2NDk1MzIwNTE1XSxbMTc4NTExMzQwMTU4NCw2NTA5Ni4zNjQ1ODg2NTMxN10sWzE3ODUxMTcwMDEwNjIsNjUwODUuOTM5MDEyMTQ0NzM2XV0sIm1hcmtldF9jYXBzIjpbWzE3ODQ1MTU4MDE1ODUsMTMwMTkzODczMDE1NS41NjNdLFsxNzg0NTE5NDAxNDgyLDEzMDAwOTYyODY4MzEuMjAxNF0sWzE3ODQ1MjMwMDU4NzIsMTI5NzE3NTUxMDY2MC44MzNdLFsxNzg0NTI2NjAxNTcwLDEyODY1NjMxMTMzNTYuOTc4NV0sWzE3ODQ1MzAyMDExMzcsMTI3ODI3NzcxODU3Ny42ODhdLFsxNzg0NTMzODAwODU3LDEyODY0NjI0NjUyNDguMjE1M10sWzE3ODQ1Mzc0MDE3NDQsMTI4MzIyMzM2Njk2Mi40ODE0XSxbMTc4NDU0MTAwMDgyNywxMjg3ODgzOTI4ODkwLjg3ODRdLFsxNzg0NTQ0NjAxMDEzLDEyODkyODc5MDA0MzIuMDAxXSxbMTc4NDU0ODIwMjUxNCwxMzAxODY4NjQxMjAyLjQ2Nl0sWzE3ODQ1NTE4MDExOTQsMTI5NjQyOTE4MzI3NS4yNjZdLFsxNzg0NTU1NDAwODI1LDEyOTQ1NzYwNjU4OTQuODA0N10sWzE3ODQ1NTkwMDE4ODgsMTI5MTg2MzY4ODA1MC4wNzg2XSxbMTc4NDU2MjYwMDgwNSwxMzA5MzQ1OTcwNDgzLjUzNjRdLFsxNzg0NTY2MjAxMzM2LDEzMTE3MTc2MjQ5MzQuNDQzOF0sWzE3ODQ1Njk4MDE0MTksMTMxMTA3ODc0MDQzNi4xMV0sWzE3ODQ1NzM0MDI1MDIsMTMwOTA0NDU4Mzk4Mi4yMjhdLFsxNzg0NTc3MDAwOTAyLDEzMDU0NjI5NDY0NDAuOTE4XSxbMTc4NDU4MDYwMDk2NSwxMzEwMDM2NzM4NDUwLjcwNjNdLFsxNzg0NTg0MjAxMTk1LDEzMDk2MDM5MjMwNDMuMDE2OF0sWzE3ODQ1ODc4MDE1MjUsMTMwNTkxMjAxNjU3OS4zOTY3XSxbMTc4NDU5MTQwMDkxOCwxMzA4MTA5NTU4MTc2Ljg1NTJdLFsxNzg0NTk1MDAxMzg3LDEzMTM0NjcyODg3NTEuMTg0OF0sWzE3ODQ1OTg2MDE1MDQsMTMwOTQ1NjYwODg4OC45MDc1XSxbMTc4NDYwMjIwMjgyMywxMzA5Mzg5MDUxMDI4Ljk3MjRdLFsxNzg0NjA1ODAzOTIyLDEzMTI5NDQ4Mzg5NzcuMDI0NF0sWzE3ODQ2MDk0MDE3ODQsMTMxMzYzNDE1NTIyMy42MjIzXSxbMTc4NDYxMzAwMTQzNCwxMzIwMzQzMzI2ODMwLjI3NTZdLFsxNzg0NjE2NjAxNTU1LDEzMjA3MDgzNDAwNjMuMzI1N10sWzE3ODQ2MjAyMDIwNDksMTMyNTgyNTk4OTk0My4wNDc2XSxbMTc4NDYyMzgwMTYxMCwxMzI5MjEyOTMxNzk3LjYxNzJdLFsxNzg0NjI3NDAxOTgyLDEzMjkyMjQ2OTI5NTYuMzM2NF0sWzE3ODQ2MzEwMDA3OTIsMTMyOTk2NTQ1NDUxMi40MjAyXSxbMTc4NDYzNDYwMDg3OSwxMzMwMDIyMjAzMTUxLjcwOTddLFsxNzg0NjM4MjAzMTQzLDEzMzM0NDY3Njk4NTYuOTA3N10sWzE3ODQ2NDE4MDEyOTcsMTMzMzM3MTkxMTMyNS42MTk0XSxbMTc4NDY0NTQwMDgzNywxMzM5OTQwMDQ2MDI0Ljg2NjVdLFsxNzg0NjQ5MDA0NDg1LDEzMzYyMzY0OTQwNjcuNDM4XSxbMTc4NDY1MjYwMzQ0NywxMzMzNDc5ODIwODg4LjA1MjJdLFsxNzg0NjU2MjAxMTIwLDEzMjc5NTYwMjkzODguMjExMl0sWzE3ODQ2NTk4MDE1MzMsMTMyOTMwNjgzNjA0Ny4wMDY4XSxbMTc4NDY2MzQwMzI0OCwxMzMzMjQ4NTU5NTg3Ljg0OTZdLFsxNzg0NjY3MDAzMzM3LDEzMzIyNzI3NDAyMTUuNDE0Nl0sWzE3ODQ2NzA2MDM0NjAsMTMzMDQzNTM0OTUzOC43NzZdLFsxNzg0Njc0MjAxNzQ1LDEzMjgzOTc4MDc3MDcuNzM5XSxbMTc4NDY3NzgwMDkwOSwxMzMxODI0NzEyMjIxLjk0OF0sWzE3ODQ2ODE0MDE0MTksMTMzNzQ1Njg3NTcxNi4yNDY2XSxbMTc4NDY4NTAwMjUxMiwxMzMyNzg2MjAyNzUxLjIzMzZdLFsxNzg0Njg4NjAwOTY1LDEzMzAyMDgzODIwMDguOTM2XSxbMTc4NDY5MjIwMjUxNSwxMzMwMTk0MzU2NzE1LjM3NTVdLFsxNzg0Njk1ODAyNjc2LDEzMzA0MzU5NjQwNzIuOTI3Ml0sWzE3ODQ2OTk0MDE1MzUsMTMyMzQ0NzI5NzQ0NC44MDQ3XSxbMTc4NDcwMzAwNDE5NywxMzIxMzg0MjY3NTQ0Ljc4MTddLFsxNzg0NzA2NjAxNzQ0LDEzMTkyODc0NjAwMTYuNDYyNl0sWzE3ODQ3MTAyMDExODksMTMyMjM5NzQ5Mzc5NS4zNTk2XSxbMTc4NDcxMzgwMzAzNCwxMzIwODY3NzMxNzgzLjcyMV0sWzE3ODQ3MTc0MDE3NDIsMTMyNDczMzkwMDc3OC4wMzIyXSxbMTc4NDcyMTAwMTExMywxMzI0MDA0MzgwMjYzLjgxODRdLFsxNzg0NzI0NjAyODM4LDEzMTkzMzg4ODk1NTguMjQ1XSxbMTc4NDcyODIwMTI5NiwxMzIxMTM0NDA1NjEyLjQ4NjhdLFsxNzg0NzMxODAxNTU3LDEzMTc1NDE5NDIyMzQuMzldLFsxNzg0NzM1NDAxMDY2LDEzMjMyNjQ1NzQ4NTguMTkxMl0sWzE3ODQ3MzkwMDE5NjYsMTMyNzYwMTAzNzY1MS4zNDY0XSxbMTc4NDc0MjYwMjYwOSwxMzI3Njg0MjgwNjk3LjUxNzZdLFsxNzg0NzQ2MjAzMzgzLDEzMjAyMDM3Mjg0NzAuNzIyXSxbMTc4NDc0OTgwMTAwMCwxMzIxMDQ4MzYxNDAxLjA3NTddLFsxNzg0NzUzNDAzMzIwLDEzMjE0NDgwNjMwNTkuNTQ3Nl0sWzE3ODQ3NTcwMDExOTEsMTMyNTY5OTMzMjg1My41NTA1XSxbMTc4NDc2MDYwMzAxMywxMzIzMDk5NTEwMjgyLjQwMjNdLFsxNzg0NzY0MjA0MTMxLDEzMjM3MjEwMjgwMjMuNzI1XSxbMTc4NDc2NzgwNDE4NSwxMzI3MDczNTM4Nzc5Ljc5MDNdLFsxNzg0NzcxNDAwODc1LDEzMTk2OTE2MjE3ODMuNjMzOF0sWzE3ODQ3NzUwMDE0NjIsMTMxODg2NzMzODcyNS44Nzc0XSxbMTc4NDc3ODYwMTA0NiwxMzE2NzA0Njk4MDY5LjQxMTldLFsxNzg0NzgyMjAwNzk5LDEzMTYyNTc2Nzc1OTQuNzczMl0sWzE3ODQ3ODU4MDE0NDEsMTMxODE1Nzc5MjA1Mi4zNjc3XSxbMTc4NDc4OTQwNDIyNywxMzE5MTYwMzU4MzgwLjQ2OTVdLFsxNzg0NzkzMDAwNzM4LDEzMTE2Nzk4MTkxNTIuMzcxNl0sWzE3ODQ3OTY2MDE2OTgsMTMxNjA2NjM5MTA2My42NDc1XSxbMTc4NDgwMDIwMDkwNCwxMzE3Mzg5NTI3ODQwLjgwMTNdLFsxNzg0ODAzODAyOTQyLDEzMTg4NDE1MDc1NzguNjM1NV0sWzE3ODQ4MDc0MDI2MjcsMTMxNDQyNDQ1NzYxNC4zMl0sWzE3ODQ4MTEwMDI0ODIsMTMwNTM2NzQ4NzQyOS4zMTE1XSxbMTc4NDgxNDYwMDkxNCwxMzAxMjY1NzQ1MDU5Ljc0NDRdLFsxNzg0ODE4MjAwNzczLDEzMDI5MzIxMjI3MTcuNzE3NV0sWzE3ODQ4MjE4MDQ0MTksMTMwMDgxMDE4NzIyMi43MzA1XSxbMTc4NDgyNTQwMDc5MywxMjk4MTE1MjM2Mjk3LjA3N10sWzE3ODQ4MjkwMDIyODEsMTI5OTcyNDU5MTM2NS43Nzc2XSxbMTc4NDgzMjYwMzA4NywxMzAwMDU0MTc2NTUzLjY4ODJdLFsxNzg0ODM2MjAyMDgwLDEyOTc2MTE4MjgyMDcuODI3XSxbMTc4NDgzOTgwMzg3NCwxMzA1MzU1MTE5OTI4LjE1NF0sWzE3ODQ4NDM0MDEzOTUsMTMwNTUwNDUzNzU5OC40NTg1XSxbMTc4NDg0NzAwMDk1NSwxMzA2OTA2NTk2MjE2LjcxNTZdLFsxNzg0ODUwNjAxNjg3LDEzMDYwMTQ5MDc5MjQuNDU2XSxbMTc4NDg1NDIwMTU2NywxMzAxMjQ3OTY1NzMwLjI2NTFdLFsxNzg0ODU3ODAxNTkwLDEzMDUzOTMwMTU1NzguMDA3M10sWzE3ODQ4NjE0MDEzODMsMTMwMzA2NjE1MjEwNS4yMjM0XSxbMTc4NDg2NTAwMjI1MywxMzExNzQ3NjYyNjM0LjA5NDddLFsxNzg0ODY4NjAwODQzLDEzMDk4MjE5MzEyMjAuMzM1Ml0sWzE3ODQ4NzIyMDE4NzAsMTMwOTIyMzcwMzY2Ni4yMTMxXSxbMTc4NDg3NTgwMzM4MywxMzEyNjM2NTYyODI4LjY5XSxbMTc4NDg3OTQwMTAwMSwxMzExMDM2NDI4NDg2LjEzNjVdLFsxNzg0ODgzMDAxMDM5LDEzMTE2Njc0MzQxNjEuNzE4OF0sWzE3ODQ4ODY2MDE1MTMsMTMwNDc1NTk5NjExNC44MjZdLFsxNzg0ODkwMjAwNzkzLDEzMDM3NzE4MTg2MTEuMjg3NF0sWzE3ODQ4OTM4MDE1MDAsMTMwMDQ3MjEzOTUzMi4xMTddLFsxNzg0ODk3NDAwOTcyLDEzMDAzMTExMjgwMzkuOTYwMl0sWzE3ODQ5MDEwMDIzNDQsMTI5MTAyMDExOTMwOS43ODY5XSxbMTc4NDkwNDYwMTQyMywxMjc4MTEzNDcwMjg2LjE5MzhdLFsxNzg0OTA4MjAxMjAwLDEyODU1Nzg1MTA2NjMuMTAzM10sWzE3ODQ5MTE4MDMzODIsMTI4MDk1NjY5NTQ3Mi45MjAyXSxbMTc4NDkxNTQwMDgwNiwxMjg2MDYwMDcwMjYzLjMxMDVdLFsxNzg0OTE5MDAxMzA1LDEyODcxNDYyNjQzNTIuMjg5Nl0sWzE3ODQ5MjI2MDEyNjQsMTI4NzI2OTY1OTIxOC4zMDI1XSxbMTc4NDkyNjIwMDg1NiwxMjg1OTI4Mzc1Njc2LjE0MTRdLFsxNzg0OTI5ODAwOTE5LDEyODU1MDU0OTE2OTkuNDg2XSxbMTc4NDkzMzQwMjQ3NiwxMjg2MTkxNDMyMDgzLjE4MzhdLFsxNzg0OTM3MDAxNjAyLDEyODYwMDcxMTMzNTUuMjQ4NV0sWzE3ODQ5NDA2MDA5MzQsMTI4NDY4MzQwMDYxMC4xODIxXSxbMTc4NDk0NDIwMjAxNywxMjg1NTIzMTM4MTQxLjk4NDFdLFsxNzg0OTQ3ODAyMDY1LDEyODM1NjkyMjg4MjUuOTEyNl0sWzE3ODQ5NTE0MDExNjEsMTI4NDQ5Njg2NDg5OC4xMzUzXSxbMTc4NDk1NTAwMzUzMiwxMjg2NDE5MDEyNzYzLjQ2OF0sWzE3ODQ5NTg2MDEzNzEsMTI4MzQxNjMyNDcyOC4wMDM3XSxbMTc4NDk2MjIwMDc4OCwxMjgyMzM5MTc1Nzg3LjAxXSxbMTc4NDk2NTgwMTM2OSwxMjgzMzMxMzU0MzIyLjM4Nl0sWzE3ODQ5Njk0MDE1ODIsMTI4MTc3NTIwODg0MS45NjRdLFsxNzg0OTczMDAwODY1LDEyODE2MzIzNzc4NTcuODM5XSxbMTc4NDk3NjYwMTA1OCwxMjgzMDcyOTM1MzMxLjU0OThdLFsxNzg0OTgwMjAwODU1LDEyODM3ODcwODAzMzIuMjY5M10sWzE3ODQ5ODM4MDEwMTEsMTI4NDc2MDExNzg1MC4zODMzXSxbMTc4NDk4NzQwMzgwMCwxMjg3MTkwOTU2MTMyLjM4MzhdLFsxNzg0OTkxMDAyNDUxLDEyODY0MzI5NjI2NjkuOTQwN10sWzE3ODQ5OTQ2MDMzNTgsMTI4NjkxMzc0Njc4Ny43MDYzXSxbMTc4NDk5ODIwMDgxNiwxMjg3MzI4NDY4MzgxLjEyNF0sWzE3ODUwMDE4MDMxNTUsMTI4ODU2NjI3MTI3MS40ODc1XSxbMTc4NTAwNTQwMTM2NiwxMjkwOTg5MDY3ODAxLjE1ODRdLFsxNzg1MDA5MDAzMjMyLDEyOTA2MzMyOTk5ODMuODQ4OV0sWzE3ODUwMTI2MDEwMTQsMTI4OTEyMzkyMjUxMi44NzI2XSxbMTc4NTAxNjIwMTI1NSwxMjkwNTM1NDAzNTQyLjU0NzZdLFsxNzg1MDE5ODAxMjAxLDEyOTAzNzQwMTExMDEuNzgzN10sWzE3ODUwMjM0MDA4NDcsMTI5MDUxMTg2MTkxOS43NTU0XSxbMTc4NTAyNzAwMDk2OSwxMjkxMjYzNzIzNDM2LjQ3ODVdLFsxNzg1MDMwNjAxNjgwLDEyOTIxMjA5OTM4MDEuMzc4N10sWzE3ODUwMzQyMDIxMTQsMTI5MTY3Mjc2MjcyNS45NTg3XSxbMTc4NTAzNzgwMTQzNywxMjkzNzIyMTMxNDM0LjI1NTZdLFsxNzg1MDQxNDAxMDM0LDEyOTM4NjQ4NzAwNjEuMTg5Ml0sWzE3ODUwNDUwMDI0NzEsMTI5MjA0MTEzNjQ0Ny4yNzc4XSxbMTc4NTA0ODYwMTExNCwxMjkwNzkyOTM4ODE0LjMwMzddLFsxNzg1MDUyMjAxODI2LDEyODk5MDYwMDU3MjYuNTQwM10sWzE3ODUwNTU4MDA5MTAsMTI5MTcwMzk5NzQxMC44NTI1XSxbMTc4NTA1OTQwMjIzNywxMjkzODM0MDQ5OTIyLjczNDFdLFsxNzg1MDYzMDAzMDkxLDEyOTM2OTA4MDk4NjUuOTkyXSxbMTc4NTA2NjYwMTI4NSwxMjkyOTk2ODExMjIzLjQzMTJdLFsxNzg1MDcwMjAwODEzLDEyOTIxMzQ1OTEyNDQuNTE1OV0sWzE3ODUwNzM4MDE3NzksMTI5MzkwNDU0MTE4OS4zNl0sWzE3ODUwNzc0MDI3MTMsMTI5NzY2MzQ0ODM0OC41NDddLFsxNzg1MDgxMDAwOTc0LDEyOTg1MzY4MDE0NTMuNjE2N10sWzE3ODUwODQ2MDA5NzYsMTI5OTEyMjc2NjE3OS4xMTgyXSxbMTc4NTA4ODIwMzEwNSwxMjk2NTk3NzU5MDkzLjYwOTldLFsxNzg1MDkxODAyODg5LDEyOTcxNTI1MzM5MDMuODczM10sWzE3ODUwOTU0MDA4MjEsMTI5NzAxMTgzNDk2Ny4zMTQ3XSxbMTc4NTA5OTAwMTUzMywxMjk2MTg5Mjg3MzAwLjk5M10sWzE3ODUxMDI2MDQxNjcsMTI5OTM0NDQwOTcwNC40MTVdLFsxNzg1MTA2MjAwOTA5LDEzMTExNDE5Njg4MjAuMzM2N10sWzE3ODUxMDk4MDEzMDAsMTMxMDg2NDcwMzE4NS41MzQ0XSxbMTc4NTExMzQwMTU4NCwxMzA1OTQ2NTM2NjExLjg2MDZdLFsxNzg1MTE3MDAxMDYyLDEzMDU3Mzg2MTgwMDguMTYyOF1dLCJ0b3RhbF92b2x1bWVzIjpbWzE3ODQ1MTU4MDE1ODUsMTYwNDIyNDU0MTkuNTg1ODI5XSxbMTc4NDUxOTQwMTQ4MiwxNTkxODQ2NDUyMi41OTA4MTZdLFsxNzg0NTIzMDA1ODcyLDE2MTY2NDM4NzkzLjI0MzQ5XSxbMTc4NDUyNjYwMTU3MCwxNzMwNTcxMjcwNi43NTI1OV0sWzE3ODQ1MzAyMDExMzcsMTc5ODkzNjIwMzIuODY4Mzc0XSxbMTc4NDUzMzgwMDg1NywxODY4OTU4NzMxMS41Mzg4MzddLFsxNzg0NTM3NDAxNzQ0LDIxMzU4MzM4OTA4LjQ4ODA1XSxbMTc4NDU0MTAwMDgyNywyMTcxMDIwODMwOS4yMzkxNjZdLFsxNzg0NTQ0NjAxMDEzLDIxOTc0MDA3MjQyLjg4NjQ5XSxbMTc4NDU0ODIwMjUxNCwyMjU3NTU0ODA1MC41NTE1M10sWzE3ODQ1NTE4MDExOTQsMjMxOTIzNDYwOTguMzk2NDldLFsxNzg0NTU1NDAwODI1LDIzNzA4NjQ5Mzc2Ljk2NjU0XSxbMTc4NDU1OTAwMTg4OCwyNDcxMzY3Mzc1My41OTc1NF0sWzE3ODQ1NjI2MDA4MDUsMjY4MjQzNjE0NDguNjcyODddLFsxNzg0NTY2MjAxMzM2LDI4NTMyNzU0MDI1LjM4NTAzXSxbMTc4NDU2OTgwMTQxOSwyODkzMzA4NTI0MC40OTkzODZdLFsxNzg0NTczNDAyNTAyLDI5NDY0MjE2MDIwLjQyMzU4OF0sWzE3ODQ1NzcwMDA5MDIsMzA1NjgxNzM1NjQuOTEzODg3XSxbMTc4NDU4MDYwMDk2NSwzMTM5NTE0OTEyMy44MTk4NjZdLFsxNzg0NTg0MjAxMTk1LDMxMzQ5NDAxNjEwLjU0NzJdLFsxNzg0NTg3ODAxNTI1LDMwOTQxMDU3NDQyLjMwMjIyXSxbMTc4NDU5MTQwMDkxOCwzMDk0NDgyMzY4MC4zMjQ5NDRdLFsxNzg0NTk1MDAxMzg3LDMwNjQ5NTc3NDE1LjE2NDI0Nl0sWzE3ODQ1OTg2MDE1MDQsMzA2OTU0MDAyODguMDk1MzddLFsxNzg0NjAyMjAyODIzLDMwNjcyOTY5ODk5LjkzNDQ4XSxbMTc4NDYwNTgwMzkyMiwzMDk0ODkyNzA4MC41Mzc0ODNdLFsxNzg0NjA5NDAxNzg0LDMxMzgyOTQzMTkyLjg5Njc0NF0sWzE3ODQ2MTMwMDE0MzQsMzA2ODkxMDI2MDAuMjAwMDU4XSxbMTc4NDYxNjYwMTU1NSwzMDgwMTUzOTU4NS4wNDk5MV0sWzE3ODQ2MjAyMDIwNDksMzE0MjQ0OTY5MDAuNDUwNl0sWzE3ODQ2MjM4MDE2MTAsMjk5OTA4Mjg1NzQuMDY3MjhdLFsxNzg0NjI3NDAxOTgyLDI5ODQwNDEwMDYwLjIxNjI5M10sWzE3ODQ2MzEwMDA3OTIsMzA1NDI2Mjc1OTUuOTE0NTQzXSxbMTc4NDYzNDYwMDg3OSwzMDU2MTI4OTM5Mi4xODY0MDVdLFsxNzg0NjM4MjAzMTQzLDI5ODcxMzM3Mzg1Ljg2MTI2M10sWzE3ODQ2NDE4MDEyOTcsMzAxNDc4MTUxNjMuOTA3ODhdLFsxNzg0NjQ1NDAwODM3LDMxNTgzNDMzNzA2LjQ3MTU2NV0sWzE3ODQ2NDkwMDQ0ODUsMzA2NzUxODIxNjMuNDg5OTMzXSxbMTc4NDY1MjYwMzQ0NywyOTU4OTcyODI3Ny4yMTE0MDNdLFsxNzg0NjU2MjAxMTIwLDI5NzgyNjI2MDQ4LjQ2NTA1N10sWzE3ODQ2NTk4MDE1MzMsMjk2MTkwMDk5NDMuODA5MjRdLFsxNzg0NjYzNDAzMjQ4LDI5Mjc3Mjg4NDM4LjMwMzU2Nl0sWzE3ODQ2NjcwMDMzMzcsMjk0ODAyOTcwNzEuMTgwMzddLFsxNzg0NjcwNjAzNDYwLDI5NzA3NTUyOTkyLjkxOTg2XSxbMTc4NDY3NDIwMTc0NSwyOTY1MTQ5MjI5Mi40NjI3N10sWzE3ODQ2Nzc4MDA5MDksMjk4NjMyMjcyNzcuNjYzNDQ1XSxbMTc4NDY4MTQwMTQxOSwzMDAwMzIzNjMwNC4xOTI4MzddLFsxNzg0Njg1MDAyNTEyLDMwNTk5MjQ1OTI2LjAxNDY2NF0sWzE3ODQ2ODg2MDA5NjUsMzA4MzMyODg2MzAuODM3NzhdLFsxNzg0NjkyMjAyNTE1LDMwNDgzMTE1MzQ3Ljg0ODUwN10sWzE3ODQ2OTU4MDI2NzYsMzA4ODU1NjYyNTIuNDA3MTc3XSxbMTc4NDY5OTQwMTUzNSwzMDAzMDc4NDk3Mi44MjE4MV0sWzE3ODQ3MDMwMDQxOTcsMzA5NTkxMjkzODkuNDc3NDA2XSxbMTc4NDcwNjYwMTc0NCwzMTAzOTgxOTMyNy42MTI0MjNdLFsxNzg0NzEwMjAxMTg5LDMxMDM0NDY3NjAyLjYwNDI4XSxbMTc4NDcxMzgwMzAzNCwzMjQ3NDA2MDk3MS4yNDUxODZdLFsxNzg0NzE3NDAxNzQyLDMyNzYwMDQyMTIxLjQ1NTY0N10sWzE3ODQ3MjEwMDExMTMsMzI3MjYzMDg2ODcuNjk4MzM4XSxbMTc4NDcyNDYwMjgzOCwzMTg2ODU2NDIxNS41NTgzOF0sWzE3ODQ3MjgyMDEyOTYsMzE4MzczMzAwODUuMDUyNzI3XSxbMTc4NDczMTgwMTU1NywzMDcyMTE2OTM2NS4yNjM4Nl0sWzE3ODQ3MzU0MDEwNjYsMzAzNDYwMzI0MzYuNjIzMl0sWzE3ODQ3MzkwMDE5NjYsMzAxNzYxNzQyMzYuMTg3Mjk4XSxbMTc4NDc0MjYwMjYwOSwzMDAyODAzODg1OC45OTE3MzRdLFsxNzg0NzQ2MjAzMzgzLDI4OTQyNjQ5NjA0LjQwMDY4NF0sWzE3ODQ3NDk4MDEwMDAsMjg1MzQ0MDE3NTQuMzIxNjFdLFsxNzg0NzUzNDAzMzIwLDI4NzU1MzA5MTM5LjA4NDg4NV0sWzE3ODQ3NTcwMDExOTEsMjg1MDY2OTgxMjUuMDI0ODFdLFsxNzg0NzYwNjAzMDEzLDI4MTAwMzk3NDk1LjAwODU4M10sWzE3ODQ3NjQyMDQxMzEsMjgyODg5MjQ4NjkuNDIyNTQ2XSxbMTc4NDc2NzgwNDE4NSwyNzk1ODA3NjM1Ni4yMDEzMTNdLFsxNzg0NzcxNDAwODc1LDI4MjI2NDEyODUzLjE4NTZdLFsxNzg0Nzc1MDAxNDYyLDI4MTI3NTE1NTM2Ljk5NzIwOF0sWzE3ODQ3Nzg2MDEwNDYsMjgxMDM3NzY2OTYuOTg4MTYzXSxbMTc4NDc4MjIwMDc5OSwyNzg0MzY4ODU3NS4xODYwM10sWzE3ODQ3ODU4MDE0NDEsMjcyMzgxODgwMzUuMDYxNzJdLFsxNzg0Nzg5NDA0MjI3LDI2NDAzNjk2MzI0LjkxODY4Ml0sWzE3ODQ3OTMwMDA3MzgsMjU2MjI5NzI1OTMuMDM0MTg0XSxbMTc4NDc5NjYwMTY5OCwyNDE4NzgxMjk1MS43MTMwNl0sWzE3ODQ4MDAyMDA5MDQsMjI4ODE0MTAyMTMuMDAxNjZdLFsxNzg0ODAzODAyOTQyLDIyMjkzMTk1MDQyLjE3NjFdLFsxNzg0ODA3NDAyNjI3LDIxNTQ1MTUxMzk2LjEwMTUzNl0sWzE3ODQ4MTEwMDI0ODIsMjE5NzQ2MDk0ODkuNTA5MjQzXSxbMTc4NDgxNDYwMDkxNCwyMTY3MDI1Nzg5NC41MzIzNV0sWzE3ODQ4MTgyMDA3NzMsMjI0OTExOTM3MzEuNTg1NTldLFsxNzg0ODIxODA0NDE5LDIzMDU0MzU0MTQzLjYyNDM1XSxbMTc4NDgyNTQwMDc5MywyMzIzOTUwMDc0MC4xMTU3OF0sWzE3ODQ4MjkwMDIyODEsMjMzODA0ODQwMjQuMTU2NDVdLFsxNzg0ODMyNjAzMDg3LDIzNDE1NDE3MzIzLjE3ODgzXSxbMTc4NDgzNjIwMjA4MCwyMzY1ODk1MjU1My43MTczNDZdLFsxNzg0ODM5ODAzODc0LDIzOTMxNjcxNTEyLjcyODk2Ml0sWzE3ODQ4NDM0MDEzOTUsMjQxMjg3MDIxNjcuMTc2NzU0XSxbMTc4NDg0NzAwMDk1NSwyNDQzNzc3MjU1My41NzU5NjZdLFsxNzg0ODUwNjAxNjg3LDI0NDc4NjE3Njk3LjI4OTA5N10sWzE3ODQ4NTQyMDE1NjcsMjQwNTE4MzUyMTUuNzYxNjkyXSxbMTc4NDg1NzgwMTU5MCwyMzQ1ODA2NjE3MC4xNzU4NV0sWzE3ODQ4NjE0MDEzODMsMjMzMDUyMTM3ODguODQ5OTM3XSxbMTc4NDg2NTAwMjI1MywyMzM1NTI1NjYyMi45MTQ3MDddLFsxNzg0ODY4NjAwODQzLDIzMjEwNzE3ODMzLjQ5NDc0N10sWzE3ODQ4NzIyMDE4NzAsMjMzNzY4ODU4OTYuNzg2NTc1XSxbMTc4NDg3NTgwMzM4MywyMzg5NTE3MzIyNS45NTg5OV0sWzE3ODQ4Nzk0MDEwMDEsMjQ1Mjg3MDg2MDguMDI1NjJdLFsxNzg0ODgzMDAxMDM5LDI0NTUyODM3MzA1LjQ1MjcwNV0sWzE3ODQ4ODY2MDE1MTMsMjQ0Njc1NDQxNDcuMjQzMzhdLFsxNzg0ODkwMjAwNzkzLDI0OTIxMDQzNzc3LjYzMDA5Nl0sWzE3ODQ4OTM4MDE1MDAsMjUyNzE1OTcxMTkuMzkxNTZdLFsxNzg0ODk3NDAwOTcyLDI0NjYyNjQ4MTg0LjEyMjAzXSxbMTc4NDkwMTAwMjM0NCwyNTM0MzcxOTk4My42ODgyMzJdLFsxNzg0OTA0NjAxNDIzLDI2Mzc5MTQxMjAxLjE5NTA3XSxbMTc4NDkwODIwMTIwMCwyNzAxNzcxNzk1MC4xNzY0M10sWzE3ODQ5MTE4MDMzODIsMjY4Nzc3ODgyMTIuMTI2NzU1XSxbMTc4NDkxNTQwMDgwNiwyNjgzMDM4NDUzMi44Njc3MThdLFsxNzg0OTE5MDAxMzA1LDI2NjEzMTE0MDYxLjU3NDM1Ml0sWzE3ODQ5MjI2MDEyNjQsMjY0NjgyNTI2MTIuMDYxOTZdLFsxNzg0OTI2MjAwODU2LDI2MzE0MDk2MzYxLjExNTcxXSxbMTc4NDkyOTgwMDkxOSwyNjI5MTMxMTMyOS45MDA5MjVdLFsxNzg0OTMzNDAyNDc2LDI2MzMxNjgxMjg0Ljk3MTM3NV0sWzE3ODQ5MzcwMDE2MDIsMjU5MTI4MjkzMzUuMzA0ODZdLFsxNzg0OTQwNjAwOTM0LDI1Nzc0MzkzMzQ1LjIzNzM2XSxbMTc4NDk0NDIwMjAxNywyNTU4NjY3NzkxNi45NTQ0NV0sWzE3ODQ5NDc4MDIwNjUsMjUzODU2NzE1MTEuMjM2NDVdLFsxNzg0OTUxNDAxMTYxLDI1MjU4MDQ2NTY1LjQ1MjQwOF0sWzE3ODQ5NTUwMDM1MzIsMjQ3NTk4MDEyMDguMjY3MDAyXSxbMTc4NDk1ODYwMTM3MSwyNDY0NTE0NTk4NS4xMzI2OThdLFsxNzg0OTYyMjAwNzg4LDI0MTM0NDY2NDk1Ljc3NDk1XSxbMTc4NDk2NTgwMTM2OSwyMzAxNTUwNjg3MS42ODAzNzhdLFsxNzg0OTY5NDAxNTgyLDIyNzExNzMyNjc1Ljg5MzY5Ml0sWzE3ODQ5NzMwMDA4NjUsMjI3MzE3MjIxMTMuODc5ODJdLFsxNzg0OTc2NjAxMDU4LDIzMDUwMTY5NTU0Ljk0NTE0XSxbMTc4NDk4MDIwMDg1NSwyMzE1MDA5Njc1Ny40NzEyN10sWzE3ODQ5ODM4MDEwMTEsMjI1ODA2MjIzNjEuNDQ2ODddLFsxNzg0OTg3NDAzODAwLDIwNjEyMTM3NTg5LjMwMjg0NV0sWzE3ODQ5OTEwMDI0NTEsMTgwNDczNzk5MzEuMzMxMjM0XSxbMTc4NDk5NDYwMzM1OCwxNTk2NTYzNzExMC4yNzQ4NjZdLFsxNzg0OTk4MjAwODE2LDE1MTY3Mjc0NTA1LjE5MjYzNl0sWzE3ODUwMDE4MDMxNTUsMTQ3NTc4Njk3NTguMjUwNTZdLFsxNzg1MDA1NDAxMzY2LDE0NzU2ODEwNDgzLjg5NTExMV0sWzE3ODUwMDkwMDMyMzIsMTQzMDY5NzU3MTguODAxMDM1XSxbMTc4NTAxMjYwMTAxNCwxNDI0MDk2NTI2My43MDE2OTZdLFsxNzg1MDE2MjAxMjU1LDEzODg1ODc5NjM3LjcyMjU4NF0sWzE3ODUwMTk4MDEyMDEsMTM1NzQzODU4NzQuNDQxMzgzXSxbMTc4NTAyMzQwMDg0NywxMzkwNDI0MDc3My42MTQ3Nl0sWzE3ODUwMjcwMDA5NjksMTMzNTkxMTk4MzguMzZdLFsxNzg1MDMwNjAxNjgwLDEzNjIyMTQ0MzAwLjI5NDY1M10sWzE3ODUwMzQyMDIxMTQsMTM1NjUzNTAxMDAuNzEzMTMzXSxbMTc4NTAzNzgwMTQzNywxMzM2MjA4Njc3OC4yMDk5MzRdLFsxNzg1MDQxNDAxMDM0LDEzNDcxMDk5Nzk3LjkzMzc0M10sWzE3ODUwNDUwMDI0NzEsMTM2NjAxNjcyNjEuOTg0MzEyXSxbMTc4NTA0ODYwMTExNCwxMzY4MTU0NjU3NC42NTgxMl0sWzE3ODUwNTIyMDE4MjYsMTM1NjY2MDI4MTEuMjQ2MjEyXSxbMTc4NTA1NTgwMDkxMCwxMzM0MzE5NDE0My42OTE4NDddLFsxNzg1MDU5NDAyMjM3LDEyMTUxNDY0ODczLjgwOTgzNF0sWzE3ODUwNjMwMDMwOTEsMTE1MzEzMDI3MzYuMjczMDgzXSxbMTc4NTA2NjYwMTI4NSwxMTM0OTkzMDQ3NS4wOTUyODJdLFsxNzg1MDcwMjAwODEzLDExNTYxMjU5OTQ4LjA0MTQ1Nl0sWzE3ODUwNzM4MDE3NzksMTE2NTU5MDk1MzQuMjM3MDM0XSxbMTc4NTA3NzQwMjcxMywxMTg4NDQ4NTk1NC42MjgyNzddLFsxNzg1MDgxMDAwOTc0LDEyMDk3ODAzNjMwLjE4NzE3XSxbMTc4NTA4NDYwMDk3NiwxMjQ1Mjc0NTcxNC4wOTA1MTVdLFsxNzg1MDg4MjAzMTA1LDEyNjE0NDc1NzQwLjM1MjczXSxbMTc4NTA5MTgwMjg4OSwxMjQyNTU3OTc3MS41NjMyNTFdLFsxNzg1MDk1NDAwODIxLDEyNTMxNDQ1MzQ1Ljc5ODk4M10sWzE3ODUwOTkwMDE1MzMsMTI0MjYzNTg5NTcuMjk4MDA2XSxbMTc4NTEwMjYwNDE2NywxMjU1ODU3MTIzNS4wOTI0NzhdLFsxNzg1MTA2MjAwOTA5LDEzNjE4NjkxMTg0LjE1NTkxXSxbMTc4NTEwOTgwMTMwMCwxNDIzMDgyODA2My40ODAyMTddLFsxNzg1MTEzNDAxNTg0LDE0Njk0NzYxNjI4LjQxMzE5NV0sWzE3ODUxMTcwMDEwNjIsMTUxNjYyMTMzMzEuNDEwNzI4XV19LCJlcnJvciI6bnVsbH0="}},"time_used":54,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":54,"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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.539Z","timestamp":1785120763539,"http_version":"HTTP/2","security_state":"","security_info":null,"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/market-overview/?locale=en\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 02:52:43 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: fa5cf6277c012ccc909b09e39555ef8f\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/79207.6a62fc803d3d07898936.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.765Z","timestamp":1785120763765,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/79207.6a62fc803d3d07898936.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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/825.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.142Z","timestamp":1785120762142,"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=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\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: 69133\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: pdwbDxCW1zflZKz5sDkwk5PceS1w5tcP1CENBXCVKEavQay8EkfoKw==\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":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-07-27T05:24:59.850477Z","times_seen":1434,"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":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.153Z","timestamp":1785120762153,"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=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\ncontent-type: image/png\r\ncontent-length: 2699\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:33:52 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 03:34:00 GMT\r\ncache-control: max-age=86400\r\netag: \"739797800c1ad83ba9a3cdddb9824693\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 83931\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: MMNdvFx5R8dx3sYzMfcHW9n-236WsOpn9IJ_SAW4kI55VQnzX9Q7DQ==\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":2699,"size_decoded":3225,"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-07-27T05:24:59.819217Z","times_seen":2841,"resource_available":false,"data":"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"}},"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.097Z","timestamp":1785120763097,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: eb538704fac211bff78c805c7caa11cd\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-27T05:26:55.665781Z","times_seen":217,"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":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/69352.33011f244b92ea0b642c.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.469Z","timestamp":1785120763469,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/69352.33011f244b92ea0b642c.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/ticker-tape/?locale=en\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 02:52:43 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-1251\"\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:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 031d039cbd3202d10d0ea3bbdc022078\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/80706.a5913aa6ad62d9dbf031.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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.522Z","timestamp":1785120763522,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/80706.a5913aa6ad62d9dbf031.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/market-overview/?locale=en\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 02:52:43 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-1be6\"\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: 94c994dfbcd5cb380fd459bba3ee964d\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/storage/app/public/photos/N0MyW0Ugb6iLCsGDc3ieo7CmB2ihBtAcL2vXJdXu.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.984Z","timestamp":1785120760984,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /storage/app/public/photos/N0MyW0Ugb6iLCsGDc3ieo7CmB2ihBtAcL2vXJdXu.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 15 Feb 2026 10:44:35 GMT\r\naccept-ranges: bytes\r\ncontent-length: 4748\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":4748,"size_decoded":5159,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 294x100, components 3","md5":"40c7bb961ba9cda85fe7b8ac27b80a3d","sha1":"4535d186407ac7cff1126d4cc1235d786cfd6e55","sha256":"92e3a6658a29ab9343e9438606e48a5bb7e2bf4b0aaa3cc4f54dfba1d0e5d4b2","sha512":"aa18bb24a08e0ad76b145fa847b6421f68ac1c500fbb2152d79d5e9a59aa3d79a9189afeae0554653a5315a4a8f17cf245adeeac261984640a4bccdaaa853948","ssdeep":"96:RhXyNpKjgOnsVHqsjUMoR5a3nFvihXhQDHiPScLs3n4kK/+U:LiIPs+I3pihXhiH1349B","tlshash":"61a13b853726f58fdb1e02b6267619b0b5b0ce0c13936a3290d4d1a921a5cbc5b8d772","first_seen":"2026-07-27T02:47:36.059782Z","last_seen":"2026-07-27T02:53:32.365058Z","times_seen":2,"resource_available":false,"data":"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"}},"time_used":89,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":89,"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":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/temp/custom/img/bnb.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.010Z","timestamp":1785120761010,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/img/bnb.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 9524\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":9524,"size_decoded":9934,"mime_type":"image/png","magic":"PNG image data, 130 x 112, 8-bit/color RGBA, non-interlaced","md5":"0dd61a6cb0146c17764de2d7444eef1b","sha1":"5672c30378a103573189c356bc59cca4cb49166d","sha256":"f48d1495de5a8e8ba2d1eab322f029b6e1a289a87849c98f483f810202452eb1","sha512":"edcd69697c59724cf2b66acc8c195debe67ceb492f47a0160fef98d39cfbd7d214ea59aa8e7af8539444e5d05282bd2ddd74a2b99631c82410215a414d630681","ssdeep":"192:bSDS0tKg9E05T5pRJuqA8onE76oqwQGjnqmZxej5GPDQb2x/Vr:OJXE05TlAtloqqzosrUwh","tlshash":"8b12aeeef52094b4a79eb01004fd15afa7ce212cf6123c5444cb69c2e8ecc8ab577091","first_seen":"2024-08-04T01:29:35Z","last_seen":"2026-07-27T05:24:59.952125Z","times_seen":925,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAIIAAABwCAYAAADSWajvAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAGl9JREFUeNrsnXe0ZWV9sJ/f++522u13emMQGASGGWAoisQUNRa+z4aKWMBE/YyQRCPEwQ8boFFjVCxBRVCIFdBo1CiWqBkRlZkBnKFOL3fulFtP2+Ut+eNcGDTrW1/wP1n7Weuuu86ss/bZZ+9nv7/y/tYd8d5TUqLKS1BSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilBSilDyJCZ4/IvuxAMguvfD0T/W7QGPIAjgcM6DilDJfPJtH7s+6H/qf4Sjz/qqb+/Gi8VjEBTiPQiPHc87TxR5dCBzh5fe0ZWl22xRZBkCVPqGCCID2SSFWkxqqiilkfwwkh1CVIiTAOdBROPCETwaJQ6lFN4ZXHYIJVAbGIY4wGWOtC0gCm+mqVQEFdfnTsGDchRZRJpFKOVAArztQHYQcEg0H4I6eIOzkFQhrAIWkN73sa1JOq0mJIsRXQFfgHeAwueHULaFj+dBUANvAUdoU8QbvIQEehbtpyEZJcsSTAGokDiyaNWhU4z0zhVwXhEFOXGUgmhsXtBptfDeEwQB1b4G6BjbmUQPPv2JifA/wTmIgpSwfwGdHbd8gAfe/kbbf+obg+qyfUFt4c+L9hhIUD5iT+rQ4B1IRNi3HLvv5mvNfX9/RdBYgaS7yTdfskGlW04OKsP4MuI8eUXwXuFVDVVbRvuRL3+ovfGqK1VYwwf9qOoy6Oyidffld5nukXNVbQXey9Glv+TJIIL0YrtqUemv4fd99oPFby5/mwobEA2Dt3jvkOpSaD9SSze98T9966FnhNUR8HmZjz5pRPAeJCJqzMPtuelas+WKy4PKEIRDgIPsEJgmoJDaSnTnIYpNf/GzIL2vFya8lFf5D61q6FUIAd5rEA/eIypCVRbR3vHpD5j733uFChsQDiLe4NJxGPmTadL9A9J+BJJFSG0FdHbR3LT+l9Gpn3m2qh37c9fdg4h6bIXp+TcXMoIahAGSKrBZ7x3RAEQFmDb43wkvjx5HRaBqyKP/NleFeO9BNBL2I0qBCgEz97nSE1tXUUmtdxq2+7jnQT2W33gPqBgJB0AcqBjvHCA4/1jyfrSuUhEqGoRQ9z7T297xJOxVW0ED0SFeRb0V9NHz+W+PZgBhA/F1xPcqsN75/84q7R2iY4irgCDkEKjePQsDiPohSJAi//1ECJlCQo243jeVZAHdvTe8L9+y/oogbkA4DL7AtrbjR593IDr9S6v8xE/+tNh48dd1ur9XOlWX4luPVNN73rwhWvPJs3Uy+kufz8x9cdNbSRBA4zrjT/W+NeQ6WeKzPACwajoj8lMKxqW2YJxuAa4L3uBtCrqKL2aXejO22kqcU125AYm64FAqwJnOoGvvPMt7C41T70BqDt+au9Ahvrt/XTHZ7g8aix6WqL4HN3dOvuj9wiE6wZl02LW2r8NbFQyc/EsVDUxg24golHq8nAHedBrF7I7TXbtdVYNn3EFQM+QTiM+BUHx337m2mOyn/pQtKh7d5V1+VHBvkaCOrizCpztrvrX/WJv6edZVpqS28h5JBqwUO+bs6/0oFeHyqSU2P3SMqMjawgS+0654Dy7QzkqtgwrFZe1U1U+9+/+bADz+P/fqHLmfajAOseC6BSqpUxze9Ib23W/9dFBZgA9HwBe41jaiRX+0N1hz8xmZqR7yOkSmfv5at/k1nxebQWUJIoKduQ9fO5n+c29biETj3U6TQGdE4eGeCPEw7Xs+en8xdseJKh7EF9M9uwVEJxANGEae9SM55q0v9cQtyQ8Smm0QjmIO3fEB89CHrvDV49Cr3neWThb9CtciqI2ST9z3UvPA+ltJ9xOd8Dd3VE96z3NwOykmp3G6j/zBq/fmO7+4pHr6+q9UTnjphXTH5hoCw3jXB+RIbQXtLZ/4Wv7wxy5AhPjYv7iruvqKc0j39VYpbSAsevdFjVJMbrygueHtX9P2COq4K/9VH7/+RX7610Qzd+JQ9XTvN5pu+k6CVe/7ZLL8FZfazn7wCqxDxX14HdfM/ls+7se/+2LX3d/vTQeJBnGV4w4kKy/8aLL4mR9sNy3KthDTRqpLyHd/6eN2+4cuVck8KGbwrnhsdRMliGnhqsfS/+xN8nuFBrGO1C9AuyoMnLdBLXjRw/bgt4/XQR3X3g2jz9sbnn79amw6XTW7KdQC9KKnf0GSz7vZn7/+5jA7gFcJhMOEyy/6eCHJjJjZuZU5IbcjveXcDuKcccpOoYL5UFtzGKxzziUuHe9XrR2Bm/zQczT6K8kJl77A+w5Kj0AwH0dgxTYRnxElcaGrCTiDiqu4JEyNTwmiCsUj//zs7tC5r1Sjz/qSjrcShBWMsgeVZYkrqBizAJ/3mjuiKogKQTXwnekBP/GT8wNVgIow43ecXSy9cIUkw7vIZ/AS4fMIBCTqx6QypOkShDHFzn9+YTDvGc+OBtfc4X0XTKaV2JQiS3QgLR1WUUkCzuFVBdHVavu+d97n9ty0UnQA/aeh+0am3OxvBuXwvy/Mpn/+AZe9f1QvftXlrtslTGqouA8bqrYzs+AaUFvR1rrSAifee+WtiXAd5eOlM79HaPC9GxRGeDsUF7aeiZL7a2d98ox0o9uUb7/tKWrpC/eHp910RjeLpqvFdpTKGnE1aeL2w9A5t4SnfKxh7nvDJ8mPUDv1Xf8QLLtkfafZRLsUVH+f0mq2MBojDaRo4EgiTIEMrNlYW/fJs0C7bGZblLezp/i9198i+z6/1k/+x/NDLqhTj1q2HeODEZyqipcI0QlxrZFTb4ATUH0E1VqGxPggQdkDpA9ed6OOz7y1Ul9YBFGMhJUWGpyLB4p8PtaYueUxB1+gqosw+297jZu+L1HJIjyC7+ykM7bhLdExb/gbV7R6YY0YvCC+D7JwuegQHw6h2ruxOz5xg6z53DLqp+JNR6Gq1nsIKrVURX0QNXrdObWMbNtHPuz23LRSVxbiVr71pnDxi9+TxP6Aaz/8593ffPB2v/8nQfqbK98WNdZ9TSWLfq2SHBU1CJJat3AGJw3iU/7xmcnISRuhiTeFyqcnNVgJVOKfeNUgGqmtJN/344/lv37NHrETx0KE+E6ztubvz45P+rtb4pOvfpp3HAqkjZNkcfPXl+/ubv3I7ahFuO4Y4dCaT8nx165PTlr/j+HSZ63P2tNQWYGduPO92caL96jO5jVJZFBSPBrvBAcS1mcgs3b2fq9UNYsXrdsq/Wf8wucOURGo2OJ7rVyP+53CZi57+60MTsAZCIdQ0z+JGf/KRyQYAQwyl6UJXoFD8Ag54tuIFOA7MLPhL2lPES5/6Q/CYy78HmkTmfrJKzBNlEQoHIJDxCPiQLxGFN7lqHgYe+C7S7O937jSh/1gO34uO3w0CwWXAxm4HY1873deLx7svBfcGxz3tteB2k1+KA9Gnvat6pqrXuaXnr85WPHGL3qhY5zCPVqJeXq5jQ6RaP7dQuAF65XSlsbq3NdPyjzV/AmvCLq6nM7Om95XPHjdX+v0IMW9b9oYn/aZM4qisi2SykT1xItfU2Qh4qYR113evvedG9XMpsFs9oEXO+r/Ujvp8leFag92ZN0/xHELOl0kWYU/+M23m4fed5UuDtDZ0rwzOvW6p4d9Szc708YIqQ8DfHd8Vbr99re49pj1lWUVt/vWVRy49ZW+usDrpa++yunRru/uw+YpSANcblEaD9gi1yrPweVIlOKKQovPIVmQ+2hhKId/KOz5xJvN/HM/qoZP3eZdkcwVGzNadxHVQQQIIiQcwrYfPMtN/PQUH8Xo4WdcK1H/niz+px1M/Woes3e9OBg58+u+sx+lwEqE0gVOc8CaLmrw+K4PBioydjt+96euVQvPu07CaNo4A0pw1mrvurjMYtUQduIXz3XtHZqkn3B43e2hm8HZKQgEil3o/mXfqJ194zfy1OFMEyFFUeBthrNGoyuILzB7v/KVrNLYieuId6jM1oY8ykWNp1zD0DF7npAI2fbrvuoeeu/LdGUUGVwL0xv67d0veYS1N5/S0qNbYrsDnSxAzMTK7qb/s13NbkX1nYLYFvnWqy4STVw94W8viKMHSGdn0ZUV2D03XmUfuPK9OmhAdS10dlW6my7dpFd/6un1ecfcmemincWjuMlNi8zYd/9JggRnc7BddJigFr7ykF/w8vd3Ozmu7WF2M4Q78Nl4oYIKznvSVjPUZgZxbXQ1pmi1I7zFu8wnJ77ptTn5h9y+78xPd958i/R/+BxvXIqACorDUbwTzB5QQ8AAVCpk+37yBj/zADLydGf0yp/iY2TgzJxDP4qY+MFbwiVnfh3nIGhB4EApimqxO7cO7/UEy/7qw7614yMc+QUy/uXrwkUvfl03n00Jo6rppqHuTuM7M6g4Ip8dW+ZtFxUMkPTP/5VOmr3w7CJsBp4u3rRQeYaTPrSymGYLX6lj0m5M1If2GWbr+pcX7mhFKgVYBdHZ7/sB/NkTEwFVaYrScztmc32EqC+zRNYVLTBT6Mo8fFK3Elbb3ruanytn0AGSTzXJp8CHBNVBjEQ41d/xxOBNb+/Sm14PQGIj5IATTBvft8zQv24PgguVr3nT7LfNh6rqyPdGzBa3RZ1w7ZnSOKHl0p347i5wxdHehH/8r0dLLMFnk3FUb9yiT7hkpjX+w2+qsZvPLha+4NVSW7kdz3kiTiADZQENWsBOUBzc8CIB9PznfsMFA3g8ev5z/8VN/sfrioMbzk2a+xZINDCOmYHQAMVcaNDQ3b9E9Z30Ub/80hrTr7sm237zJb6x5vu6cczDprnx7KNn5wgkR2EfFzJcCALKUGQB7aYDXaVey4mDIxS54KxBByHiHR4PNoUkJDr2kk3OJ6m3eSxKGRXQdj7wUj3h/iccGsJj//ovTTI65rb87VVM3IMs/l9jlXOuX2e67bEg3Y6qJJi8icSju6tnfmZJa+M7NtuxW1d4PUCy+gOfqBx30WV5s4VhkOrgCDpt4pc+98Ouf95U+5d/+Tk1tRmGnzEbrf7C04Na/xZnDmBdqMlnkb6n3hMfe9k6M7OLOFYSDK/q64797LLi/quv9ntvPtENnH15uPxV79K1xUh1HuZwW7m5BpQOQ6fDEFyIhDEqCHtJhITkM+NPjeY9/1t68fmH7e7bRt2uT92sw+qkBAHOBZFzw3iTIypEolGKwxteYabvGwz6luGn7lpnZh/cCE4C1xxU9ZXYzi7Sg796c7Dswqt81kJJBYnquEJXBAsqQOd7Er305dcW41+90o1/v5pvv+HLgplFIpTWTmuNC+sUehSqiw6LjvHFDHnr4NpkuP5t1y0wnS5RdT64opEf/NnLgtriu0QGHjR5ZoMwRgdVlA6sM22cSkhOfsfzREYOuu5hJIwJqguALq65hyecLNr2bpLlF7yzsnr9+9285+9Sp3z69E46MBYWh1B+eml721e/bor0+LSokhYj05U1H1ir5//ZWLzy1V+oHPuqy/IiItMrMAe+d3X64A03qmQJWk0Rjp57Y7Dq6ivc8B8fqKz+h7N10r+l6E7RMUuxTtfxoLVqxUNDVIbnY6z3uanP6AUXXEOyFE+AnvnFGZWp24loEg6fhwqHQm9SRISk3iii/n6i/j6CygBhvZb3VjVLkfUfk5kEv+zS11Nfipr+GW7yriGJGzgTLEzTY0iLJYjvVQ353u9dIbaJJ8BN3rlMHfnuaerI99eaIxtWOJv3+iOHf3RxGHUJ6wF52kenM0rRDZ4COajAJpV8flCp4pa+6W+IB2HqTvGzW/tRNYJKUuhkmLBRIazMUF100rdUdbnDzJCP/+JlWVEjL4YJI0918DjCzl3rs41/dUPn3nds8fnhZ+vKQnRSI6gMESSVDO/w1pHNTmtxM4TBLNoeIZu6h2xiK2ln9vfoLHqHbT5MsuzPrjQjF11Z5I6ISZxUFnfuv/5X9sCPF5jWnmeEa2883VHdI64z3Tjrn1aQHS6y6f3k9VPxh//tcv/gFf83zaZBNyQ57i2X+HQbwfBZH2L0OR91FIVND+B1DZwFvELA27xBYeoq7vNGtQM/vXehmvrB35GNgYQEo6fezfxzoDmJ6RzB21weazf3UvfegAjSe320ILY+nSFZ/EffNLOv+9d86zUvVH2jj5Yb2nuDUjlSbUC6f4mbvnutuBQ//Ox74+HTb5T2QyAeV19NPvXAi2Tv9c+0ExuX2Kktf6oHV/8oCCaxvcojnvtAjw4KZfagF5x/gz1y0V/5fZ9Zq+qD4B29ukd6rWTThXDZZLDoeTdnh++8WE98/+TigXffphdd8G4qg2Nm/LYLuw9ctz4QcBIgjRPuEVVFhdljzfpH2+pipp+iqM4iVrwtJJueDvBGETUKYOYJ9hHmMo28jTIThLoP3919TuuBd35bZjcNBcMn46Z+NpJvumRTtPYza10wtNfnY4XxI7j6amT8O5fZ+974QR1WIB4h3fLei102Ua2setMbomox49rNwjmHVyEydz1wmZZA4SZ/fXrrP197CJx33sW+6GjX3Y2YWdTweYSLz/+4lyoSOrTEWIXGZGA7OJMH2hTgClAF3uQhtgOEvVkeXxCa/QQrL3pTPnbHC2lt6d0EXzgRUMrjZQHZ/m++zU1tQpIR9PLXvyNIKt8RexDvDcHQGvzQH387H791u8xsJ91527ur/Wt/JKIQBI9rY9tgO4EvikBoI66FrHjzq92RH25R3b3gcrzNInwBJu9dfj9DcvwbLzOtXWeZ7TecqLZd+xJ38N9eYqMB72d/I2RTuNoy9FPff7HECw5Ith/lpTcpZfLYe48yk5gtV/y0FSRdvBMPCusiXAcXL51lyR/3P8Hdx94oGgqSuE21XxH5nWv85H8OqaDe6zrWVqKmfjbs7331ZjHt5ZkcR5asxh789zf7e197nRYL0XwkrKNck2zfd19m005N6G0MKZVTCQ9SCcapRgdRYaXlw4V4AmxnX8V2D1QpprQoi+o7vmDRBVv1idc8p8jrR9LD+8knH8TM3oszHUMyglN9dFtp0J1pkc60KVoz5O08dMEgPhwlCY+0Q/0A6cwYXb9yXK98699ZPYBTA+g43Fep7ARnaE11ovTALy9FBD3/eWO14cXf0YHBSYT3AVrnVPvn7QgX/+9f+iimOLLp3NahfU+11KnVDhPV5UEXLMDpBt3ZNElnZgjdXmqjq7ZWTnr7NcbXIOgnz3yl6E6RTs9SdFKwHUTZVuWUd68NT37/p/ToMw+I6+La24VkKW7xhVuT0z/70nD0nC+49BDicrLmNHlnApP7iGQ+hP1QzGA7YxXbPZi47sEIcwTJD6PMVN//JDT81l5Da2IHWjLC2M7NpRmktpx0z3feUWy+7Bod1SAaRTC49g78wHnT0Zm3rzKTv/gTu+miL2klEC/oydR6BNtYl4anfe4MHTW2+nwK7zRxYtGR7XUBAVekyxHqWbtVNVkRiU58zNisZjqXvlUzRXjCQZN2kWKitzljpxEB68P5zrrjEG1cPH+zoLPeKqPxLq+Tja8W73x1oL5JxTrL0ip5UUV0gHR2nRXFkgWV6j6J4yPtaUeaFmFojzytWqs2dVzdLVE0QZBg9v0UX7QIl/5574k2RaXotk/MOs2GixZvVVH9SGOoC3m7ks90VuWFSiQYvNs5KSoNIahXwQrt8Z1neVuEPp6/XcLGAW8NoqDWpxBdYNoKHSZIsV+7fOaY3PX3mUJPS3XJjiS2FN0ZDPW5OUhwaAI/NZIkZgE6cS7PwrTZquERFQYmqTda6EBc1iqCwac99IREaE8+Qm9VCea2oXvbokFtMXbfF99jf/OWd+oghngEcPh0HAbOTskOJJLtg2gBgsO3d+Iaa5vBaZ8/TyWj9/juXkQ03kKcCDpSvQ1IbyCoQNhH1pykSDOUrpG4h1D+INRXkRd1iixFiUfwBMogOAxVLFXAY5HeoOyj8VKp3lLnMpJKgQo1WRqS5wpRCg1UGjWQNmBozxRkmSUOY6qDg4idAp9C2I/Z92N80SRc8iywHVAxVobJWk2MDxHxNIYyMBnWDpB1HZgC5zxxTQgbAT4rSNuAD7Gi8HM7u0pBtQGiHUUzRWyLQKcQ1SlYTt6eApcSRQ7rY4yvzm1vg7WOKDRUBoeBEF+kdGdmepV8GBIPDAAxPjuExMfye+QIHqXs416m2M4Y4dJXvisOfd7d/NZrVH4EohEkWQgzv05QyZwEHtfajvStspUzP3uaCeZv852dvY2c35qJPtoi9qaDiMUXs2ByvLd41+21X20KvvK4fXuPn7sQ3md4m/eaL7r+2LmLSG9qyrTmnp7w6PyDKHpZdguX56jAg9ZH9/htG595RLLeXXqsJ3G0BY/N8W4Kb7qgBubeJ73j5jN4A0L027MX3uGLdm+3Magj0ptJ+K287LHpYANFG890T7z/9p658QBRvZwonwYd4YsMb5q99o+EkAsEEb5oIfHvMY/w39cM1dt6bj5Msuz8a1E+bP/qsneFCD4ahmjk0W+Abz+Mq5+WRaff/DTC0W2utQulyonmJ83wquBxaNLmEfyCV79br/7nq03ehewwSNCzs70TWz9jNjzji2eryvJNpnMAEV1e4T/UUbX/x+AiSECeAcUY4fJXvlMlLss2v+UaVUzg8mmkcVxeOfML62yw6GHf3tbLCbwrr/CTSwTmcgfw5LjmI1SWvPxaT6C7P7/wPTJ4GtHpXz2TaN7DvrUTUUE5xv7kFeFomPBe0ZwcJxh87nv16k9o6T91gyTL7zXtnb1kreQPjt8qH0vKZLGkFKGkpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBShpBSh5A+T/xoAXrIe12eCSx4AAAAASUVORK5CYII="}},"time_used":523,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":185,"receive":338,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/Gc2en3nHxA4","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.746Z","timestamp":1785120761746,"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/Gc2en3nHxA4 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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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=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, require-trusted-types-for 'script', base-uri 'self';object-src 'none';script-src 'nonce-pyVmR7Wecui3DaGLzrQ6Wg' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict\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 02:52:41 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-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\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-embedder-policy-report-only: require-corp; report-to=\"youtube_main\"\r\ncross-origin-resource-policy: cross-origin\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\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=bAUqAsWtUq0QI5lnbjhRqZxHGZTeQ44xv158_wDI-OREM7hGFwdQh-Fnn22UwtwKdRs2XmKd7gTrEAoqaDWooWex7Ez6kTDTNUcX8LsL0A97B1hbdocm9avbwiNvbxX0qKi_6wfFS1CnewvwpgMiqR_UIe99ateBO-McP73c1Zzq_nQj0oz29qM3VrxL5dXw0BXSrEg6LS26egZNxmOWqDoWCXOgjnuJW9prHYJaiNfGFA8qaLg9BKawO80BA2HUa848WVC3wn7FXVdvLYKmvluEfWi0SBv3Xu-C7jzQzWIv3w_HURzWyX7xi17bUcvikavkbkw21f4nJLdMk19TRw; expires=Sat, 23-Jan-2027 02:52:41 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=FCnieG1ugZQ; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CM2d7q3Og7rzjQEQvpaNh-3xlQMYvpaNh-3xlQM%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 02:52:41 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 02:52:41 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=WjWmnUIpJks; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 02:52:41 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgTg%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 02:52:41 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":143148,"size_decoded":59970,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52140)","md5":"7f736cb49fa28ce34ab6b851f6e76247","sha1":"d099ee5141b05524419de96f8ae962baea787014","sha256":"8c627c9dbb924dedb2c5b670f90cb3dd8bd2b5a0d8df8dc5e6fd44a2564c7a49","sha512":"29d536224c72357c7da47dbbba4c68d01438f4d9bae4adaca9b6c338c0e2071fb47b33300830d381af0a43f4ed1f91febc4fc688a53b9c22495983c8ac21b12a","ssdeep":"1536:/aQdGpuMUIbYVM6bBvzhilKYo43UEwgMnWxUmUiA7+iR5Y:xdwu0YFaKY0EwgMnWxlUiArY","tlshash":"c2e31b250858a876c5939447eeb9ff3e5ce802394bc9956ebcbbd35c01ec6510eaf413","first_seen":"2026-07-27T02:53:32.366843Z","last_seen":"2026-07-27T02:53:32.366843Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PHNjcmlwdCBub25jZT0icHlWbVI3V2VjdWkzRGFHTHpyUTZXZyI+aWYgKCd1bmRlZmluZWQnID09IHR5cGVvZiBTeW1ib2wgfHwgJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvcikge2RlbGV0ZSBBcnJheS5wcm90b3R5cGUuZW50cmllczt9PC9zY3JpcHQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSJteWNvZTYyY3VuLWloQXg5cXdra05nIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wMzc3LFUrMDM3QS0wMzdGLFUrMDM4NC0wMzhBLFUrMDM4QyxVKzAzOEUtMDNBMSxVKzAzQTMtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMi0wMzAzLFUrMDMwNSxVKzAzMDctMDMwOCxVKzAzMTAsVSswMzEyLFUrMDMxNSxVKzAzMUEsVSswMzI2LTAzMjcsVSswMzJDLFUrMDMyRi0wMzMwLFUrMDMzMi0wMzMzLFUrMDMzOCxVKzAzM0EsVSswMzQ2LFUrMDM0RCxVKzAzOTEtMDNBMSxVKzAzQTMtMDNBOSxVKzAzQjEtMDNDOSxVKzAzRDEsVSswM0Q1LTAzRDYsVSswM0YwLTAzRjEsVSswM0Y0LTAzRjUsVSsyMDE2LTIwMTcsVSsyMDM0LTIwMzgsVSsyMDNDLFUrMjA0MCxVKzIwNDMsVSsyMDQ3LFUrMjA1MCxVKzIwNTcsVSsyMDVGLFUrMjA3MC0yMDcxLFUrMjA3NC0yMDhFLFUrMjA5MC0yMDlDLFUrMjBEMC0yMERDLFUrMjBFMSxVKzIwRTUtMjBFRixVKzIxMDAtMjExMixVKzIxMTQtMjExNSxVKzIxMTctMjEyMSxVKzIxMjMtMjE0RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMUFFLFUrMjFCMC0yMUU1LFUrMjFGMS0yMUYyLFUrMjFGNC0yMjExLFUrMjIxMy0yMjE0LFUrMjIxNi0yMkZGLFUrMjMwOC0yMzBCLFUrMjMxMCxVKzIzMTksVSsyMzFDLTIzMjEsVSsyMzM2LTIzN0EsVSsyMzdDLFUrMjM5NSxVKzIzOUItMjNCNyxVKzIzRDAsVSsyM0RDLTIzRTEsVSsyNDc0LTI0NzUsVSsyNUFGLFUrMjVCMyxVKzI1QjcsVSsyNUJELFUrMjVDMSxVKzI1Q0EsVSsyNUNDLFUrMjVGQixVKzI2NkQtMjY2RixVKzI3QzAtMjdGRixVKzI5MDAtMkFGRixVKzJCMEUtMkIxMSxVKzJCMzAtMkI0QyxVKzJCRkUsVSszMDMwLFUrRkY1QixVK0ZGNUQsVSsxRDQwMC0xRDdGRixVKzFFRTAwLTFFRUZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAxLTAwMEMsVSswMDBFLTAwMUYsVSswMDdGLTAwOUYsVSsyMERELTIwRTAsVSsyMEUyLTIwRTQsVSsyMTUwLTIxOEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjE5OSxVKzIxQUYsVSsyMUU2LTIxRjAsVSsyMUYzLFUrMjIxOC0yMjE5LFUrMjI5OSxVKzIyQzQtMjJDNixVKzIzMDAtMjQzRixVKzI0NDAtMjQ0QSxVKzI0NjAtMjRGRixVKzI1QTAtMjdCRixVKzI4MDAtMjhGRixVKzI5MjEtMjkyMixVKzI5ODEsVSsyOUJGLFUrMjlFQixVKzJCMDAtMkJGRixVKzREQzAtNERGRixVK0ZGRjktRkZGQixVKzEwMTQwLTEwMThFLFUrMTAxOTAtMTAxOUMsVSsxMDFBMCxVKzEwMUQwLTEwMUZELFUrMTAyRTAtMTAyRkIsVSsxMEU2MC0xMEU3RSxVKzFEMkMwLTFEMkQzLFUrMUQyRTAtMUQzN0YsVSsxRjAwMC0xRjBGRixVKzFGMTAwLTFGMUFELFUrMUYxRTYtMUYxRkYsVSsxRjMwRC0xRjMwRixVKzFGMzE1LFUrMUYzMUMsVSsxRjMxRSxVKzFGMzIwLTFGMzJDLFUrMUYzMzYsVSsxRjM3OCxVKzFGMzdELFUrMUYzODIsVSsxRjM5My0xRjM5RixVKzFGM0E3LTFGM0E4LFUrMUYzQUMtMUYzQUYsVSsxRjNDMixVKzFGM0M0LTFGM0M2LFUrMUYzQ0EtMUYzQ0UsVSsxRjNENC0xRjNFMCxVKzFGM0VELFUrMUYzRjEtMUYzRjMsVSsxRjNGNS0xRjNGNyxVKzFGNDA4LFUrMUY0MTUsVSsxRjQxRixVKzFGNDI2LFUrMUY0M0YsVSsxRjQ0MS0xRjQ0MixVKzFGNDQ0LFUrMUY0NDYtMUY0NDksVSsxRjQ0Qy0xRjQ0RSxVKzFGNDUzLFUrMUY0NkEsVSsxRjQ3RCxVKzFGNEEzLFUrMUY0QjAsVSsxRjRCMyxVKzFGNEI5LFUrMUY0QkIsVSsxRjRCRixVKzFGNEM4LTFGNENCLFUrMUY0RDYsVSsxRjREQSxVKzFGNERGLFUrMUY0RTMtMUY0RTYsVSsxRjRFQS0xRjRFRCxVKzFGNEY3LFUrMUY0RjktMUY0RkIsVSsxRjRGRC0xRjRGRSxVKzFGNTAzLFUrMUY1MDctMUY1MEIsVSsxRjUwRCxVKzFGNTEyLTFGNTEzLFUrMUY1M0UtMUY1NEEsVSsxRjU0Ri0xRjVGQSxVKzFGNjEwLFUrMUY2NTAtMUY2N0YsVSsxRjY4NyxVKzFGNjhELFUrMUY2OTEsVSsxRjY5NCxVKzFGNjk4LFUrMUY2QUQsVSsxRjZCMixVKzFGNkI5LTFGNkJBLFUrMUY2QkMsVSsxRjZDNi0xRjZDRixVKzFGNkQzLTFGNkQ3LFUrMUY2RTAtMUY2RUEsVSsxRjZGMC0xRjZGMyxVKzFGNkY3LTFGNkZDLFUrMUY3MDAtMUY3RkYsVSsxRjgwMC0xRjgwQixVKzFGODEwLTFGODQ3LFUrMUY4NTAtMUY4NTksVSsxRjg2MC0xRjg4NyxVKzFGODkwLTFGOEFELFUrMUY4QjAtMUY4QkIsVSsxRjhDMC0xRjhDMSxVKzFGOTAwLTFGOTBCLFUrMUY5M0IsVSsxRjk0NixVKzFGOTg0LFUrMUY5OTYsVSsxRjlFOSxVKzFGQTAwLTFGQTZGLFUrMUZBNzAtMUZBN0MsVSsxRkE4MC0xRkE4OSxVKzFGQThGLTFGQUM2LFUrMUZBQ0UtMUZBREMsVSsxRkFERi0xRkFFOSxVKzFGQUYwLTFGQUY4LFUrMUZCMDAtMUZCRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzAzMDAtMDMwMSxVKzAzMDMtMDMwNCxVKzAzMDgtMDMwOSxVKzAzMjMsVSswMzI5LFUrMUVBMC0xRUY5LFUrMjBBQjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMkJBLFUrMDJCRC0wMkM1LFUrMDJDNy0wMkNDLFUrMDJDRS0wMkQ3LFUrMDJERC0wMkZGLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiBub25jZT0icHlWbVI3V2VjdWkzRGFHTHpyUTZXZyI+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiRSIpOyBkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiRSIpO308L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIgbmFtZT0id3d3LXBsYXllciIgbm9uY2U9Im15Y29lNjJjdW4taWhBeDlxd2trTmciPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvXy95dGVtYmVkcy9fL3NzL2s9eXRlbWJlZHMuYmFzZS5OeG5pdXVaRVRady5MLkY0Lk8vYW09QUFBQWdBL2Q9MC9icj0xL3JzPUFHS015d0d4NHR4aEZKaGNydXRLWXNmUG1TNG1GYzZvSlEiIG5hbWU9ImVtYmVkLXVpIiBub25jZT0ibXljb2U2MmN1bi1paEF4OXF3a2tOZyI+PHN0eWxlIG5vbmNlPSJteWNvZTYyY3VuLWloQXg5cXdra05nIj5odG1sIHtvdmVyZmxvdzogaGlkZGVuO31ib2R5IHtmb250OiAxMnB4IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9I3BsYXllciB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9aDEge3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7fWgzIHttYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDNweDt9LnBsYXllci11bmF2YWlsYWJsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgYmFja2dyb3VuZDogdXJsKC9pbWcvbWVoNy5wbmcpIDUwJSA2NSUgbm8tcmVwZWF0O30ucGxheWVyLXVuYXZhaWxhYmxlIC5tZXNzYWdlIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDAgLTVweCAxNXB4OyBwYWRkaW5nOiAwIDVweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogbm9ybWFsO30ucGxheWVyLXVuYXZhaWxhYmxlIGEge2NvbG9yOiAjMTY3YWM2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fTwvc3R5bGU+PHNjcmlwdCBub25jZT0icHlWbVI3V2VjdWkzRGFHTHpyUTZXZyI+dmFyIHl0Y3NpPXtndDpmdW5jdGlvbihuKXtuPShufHwiIikrImRhdGFfIjtyZXR1cm4geXRjc2lbbl18fCh5dGNzaVtuXT17dGljazp7fSxpbmZvOnt9LGdlbDp7cHJlTG9nZ2VkR2VsSW5mb3M6W119fSl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3cmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sdGljazpmdW5jdGlvbihsLHQsbil7dmFyIHRpY2tzPXl0Y3NpLmd0KG4pLnRpY2s7dmFyIHY9dHx8eXRjc2kubm93KCk7aWYodGlja3NbbF0pe3RpY2tzWyJfIitsXT10aWNrc1siXyIrbF18fFt0aWNrc1tsXV07dGlja3NbIl8iK2xdLnB1c2godil9dGlja3NbbF09CnZ9LGluZm86ZnVuY3Rpb24oayx2LG4pe3l0Y3NpLmd0KG4pLmluZm9ba109dn0saW5mb0dlbDpmdW5jdGlvbihwLG4pe3l0Y3NpLmd0KG4pLmdlbC5wcmVMb2dnZWRHZWxJbmZvcy5wdXNoKHApfSxzZXRTdGFydDpmdW5jdGlvbih0LG4pe3l0Y3NpLnRpY2soIl9zdGFydCIsdCxuKX19OwooZnVuY3Rpb24odyxkKXtmdW5jdGlvbiBpc0dlY2tvKCl7aWYoIXcubmF2aWdhdG9yKXJldHVybiBmYWxzZTt0cnl7aWYody5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMmJncubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLmxlbmd0aCl7dmFyIGJyYW5kcz13Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kczt2YXIgaT0wO2Zvcig7aTxicmFuZHMubGVuZ3RoO2krKylpZihicmFuZHNbaV0mJmJyYW5kc1tpXS5icmFuZD09PSJGaXJlZm94IilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlO30pfWlmKCF3Lm5hdmlnYXRvci51c2VyQWdlbnQpcmV0dXJuIGZhbHNlO3ZhciB1YT13Lm5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIHVhLmluZGV4T2YoIkdlY2tvIik+MCYmdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKTwwJiZ1YS5pbmRleE9mKCJFZGdlIik8CjAmJnVhLmluZGV4T2YoIlRyaWRlbnQiKTwwJiZ1YS5pbmRleE9mKCJNU0lFIik8MH15dGNzaS5zZXRTdGFydCh3LnBlcmZvcm1hbmNlP3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6bnVsbCk7dmFyIGlzUHJlcmVuZGVyPShkLnZpc2liaWxpdHlTdGF0ZXx8ZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPT0icHJlcmVuZGVyIjt2YXIgdk5hbWU9IWQudmlzaWJpbGl0eVN0YXRlJiZkLndlYmtpdFZpc2liaWxpdHlTdGF0ZT8id2Via2l0dmlzaWJpbGl0eWNoYW5nZSI6InZpc2liaWxpdHljaGFuZ2UiO2lmKGlzUHJlcmVuZGVyKXt2YXIgc3RhcnRUaWNrPWZ1bmN0aW9uKCl7eXRjc2kuc2V0U3RhcnQoKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrKX07ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLHN0YXJ0VGljayxmYWxzZSl9aWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcih2TmFtZSxmdW5jdGlvbigpe3l0Y3NpLnRpY2soInZjIil9LApmYWxzZSk7aWYoaXNHZWNrbygpKXt2YXIgaXNIaWRkZW49KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJoaWRkZW4iO2lmKGlzSGlkZGVuKXl0Y3NpLnRpY2soInZjIil9dmFyIHNsdD1mdW5jdGlvbihlbCx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49eXRjc2kubm93KCk7ZWwubG9hZFRpbWU9bjtpZihlbC5zbHQpZWwuc2x0KCl9LHQpfTt3Ll9feXRSSUw9ZnVuY3Rpb24oZWwpe2lmKCFlbC5nZXRBdHRyaWJ1dGUoImRhdGEtdGh1bWIiKSlpZih3LnJlcXVlc3RBbmltYXRpb25GcmFtZSl3LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3NsdChlbCwwKX0pO2Vsc2Ugc2x0KGVsLDE2KX19KSh3aW5kb3csZG9jdW1lbnQpOwo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJweVZtUjdXZWN1aTNEYUdMenJRNldnIj52YXIgeXRjZmc9e2Q6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lnl0JiZ5dC5jb25maWdffHx5dGNmZy5kYXRhX3x8KHl0Y2ZnLmRhdGFfPXt9KX0sZ2V0OmZ1bmN0aW9uKGssbyl7cmV0dXJuIGsgaW4geXRjZmcuZCgpP3l0Y2ZnLmQoKVtrXTpvfSxzZXQ6ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7aWYoYS5sZW5ndGg+MSl5dGNmZy5kKClbYVswXV09YVsxXTtlbHNle3ZhciBrO2ZvcihrIGluIGFbMF0peXRjZmcuZCgpW2tdPWFbMF1ba119fX07Cnl0Y2ZnLnNldCh7IkNMSUVOVF9DQU5BUllfU1RBVEUiOiJub25lIiwiREVWSUNFIjoiY2JyXHUwMDNkRmlyZWZveFx1MDAyNmNicnZlclx1MDAzZDEzNC4wXHUwMDI2Y2VuZ1x1MDAzZEdlY2tvXHUwMDI2Y2VuZ3Zlclx1MDAzZDEzNC4wXHUwMDI2Y29zXHUwMDNkV2luZG93c1x1MDAyNmNvc3Zlclx1MDAzZDEwLjBcdTAwMjZjcGxhdGZvcm1cdTAwM2RERVNLVE9QIiwiRVZFTlRfSUQiOiItY2RtYXZXbU1JLU04UE1QbF9LdC1BZyIsIkVYUEVSSU1FTlRfRkxBR1MiOnsiYWJfZGV0X2FwYl9iIjp0cnVlLCJhYl9kZXRfYXBtIjp0cnVlLCJhYl9kZXRfZWxfaCI6dHJ1ZSwiYWJfZmtfc2tfY2wiOnRydWUsImFjdGlvbl9jb21wYW5pb25fY2VudGVyX2FsaWduX2Rlc2NyaXB0aW9uIjp0cnVlLCJhbGxvd19za2lwX25ldHdvcmtsZXNzIjp0cnVlLCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiOnRydWUsImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiOnRydWUsImF0dG11c2kiOnRydWUsImMzX2VuYWJsZV9idXR0b25faW1wcmVzc2lvbl9sb2dnaW5nIjp0cnVlLCJjM193YXRjaF9wYWdlX2NvbXBvbmVudCI6dHJ1ZSwiY2FuY2VsX3BlbmRpbmdfbmF2cyI6dHJ1ZSwiY2xpZW50X3VpX2VuYWJsZV9tdWx0aV90cmFja19hdWRpb19vbl93ZWJfZW1iZWRkZWRfcGxheWVyIjp0cnVlLCJjb25maWdfYWdlX3JlcG9ydF9raWxsc3dpdGNoIjp0cnVlLCJjb3dfb3B0aW1pemVfaWRvbV9jb21wYXQiOnRydWUsImNzaV9vbl9nZWwiOnRydWUsImRlZHVwcGluZ19zZXJ2ZXJfdmUiOnRydWUsImRlbGhpX213ZWJfY29sb3JmdWxfc2QiOnRydWUsImRlbGhpX213ZWJfY29sb3JmdWxfc2RfdjIiOnRydWUsImRlcHJlY2F0ZV9wYWlyX3NlcnZsZXRfZW5hYmxlZCI6dHJ1ZSwiZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uIjp0cnVlLCJkaXNhYmxlX2NoaWxkX25vZGVfYXV0b19mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwiZGlzYWJsZV9sb2dfdG9fdmlzaXRvcl9sYXllciI6dHJ1ZSwiZGlzYWJsZV9taW5pX2FwcF9jb250YWluZXJfd2ViX3ZpZXdfaW5zZXRzIjp0cnVlLCJkaXNhYmxlX3BhY2ZfbG9nZ2luZ19mb3JfbWVtb3J5X2xpbWl0ZWRfdHYiOnRydWUsImRpc2FibGVfc2NoZWR1bGVyX3JlcXVlc3RJZGxlQ2FsbGJhY2siOnRydWUsImVtYmVkc19kZXNrdG9mZl9ub25tb2JpbGVfZWxpZ2libGUiOnRydWUsImVtYmVkc19kZXNrdG9mZl9ub25tb2JpbGVfZW5hYmxlZCI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX3NhdmVfdXNlcl92b2x1bWUiOnRydWUsImVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2NoYW5uZWxfc3Vic2NyaWJlX2RlcHJlY2F0aW9uIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2RlbGF5X2NvbnRyb2xzX2hpZGUiOnRydWUsImVtYmVkc19lbmFibGVfZWlkX2VuZm9yY2VtZW50X2Zvcl95b3V0dWJlIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZnAiOnRydWUsImVtYmVkc19tdXRlZF9hdXRvcGxheV9zb3VuZF9maXgiOnRydWUsImVtYmVkc19zZXJ2ZV9lczZfY2xpZW50Ijp0cnVlLCJlbWJlZHNfd2ViX3VwZGF0ZWRfc2hvcnRzX2RlZmluaXRpb25fZml4Ijp0cnVlLCJlbmFibGVfYTExeV9mb2N1c19maXhfZm9yX21hY19wYW5lbF9vbl9kZXNrdG9wIjp0cnVlLCJlbmFibGVfYWNjZXNzX2NvZGVfc2VydmljZV9ycGMiOnRydWUsImVuYWJsZV9hY3RpdmVfdmlld19kaXNwbGF5X2FkX3JlbmRlcmVyX3dlYl9ob21lIjp0cnVlLCJlbmFibGVfYWlfc2VhcmNoX2lubmVydHViZV9tMF9maXhlcyI6dHJ1ZSwiZW5hYmxlX2FuZHJvaWRfd2ViX3ZpZXdfdG9wX2luc2V0c19idWdmaXgiOnRydWUsImVuYWJsZV9hdHRlbnRpb25fbG9nZ2luZ19tZWFzdXJlX29uX3Nob3duIjp0cnVlLCJlbmFibGVfYXVfdTE2X3ZlcmlmeV9hZ2VfcGFnZSI6dHJ1ZSwiZW5hYmxlX2F1dG9tb3RpdmVfZm9ybV9mYWN0b3JfY2hlY2siOnRydWUsImVuYWJsZV9jbGllbnRfc2xpX2xvZ2dpbmciOnRydWUsImVuYWJsZV9jbGllbnRfc3RyZWFtel93ZWIiOnRydWUsImVuYWJsZV9jbGllbnRfdmVfc3BlYyI6dHJ1ZSwiZW5hYmxlX2Nsb3VkX3NhdmVfZXJyb3JfcG9wdXBfYWZ0ZXJfcmV0cnkiOnRydWUsImVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjIiOnRydWUsImVuYWJsZV9kYWlfc2RmX2g1X3ByZXJvbGwiOnRydWUsImVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5ncyI6dHJ1ZSwiZW5hYmxlX2RlZmF1bHRfbW9ub19jdGFfbWlncmF0aW9uX3dlYl9jbGllbnQiOnRydWUsImVuYWJsZV9kb2NrZWRfY2hhdF9tZXNzYWdlcyI6dHJ1ZSwiZW5hYmxlX2Ryb3Bfc2hhZG93X2V4cGVyaW1lbnQiOnRydWUsImVuYWJsZV9lbWJlZHNfbmV3X2NhcHRpb25fbGFuZ3VhZ2VfcGlja2VyIjp0cnVlLCJlbmFibGVfZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19oNSI6dHJ1ZSwiZW5hYmxlX2VudGl0eV9zdG9yZV9mcm9tX2RlcGVuZGVuY3lfaW5qZWN0aW9uIjp0cnVlLCJlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2giOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjIjp0cnVlLCJlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkY2IiOnRydWUsImVuYWJsZV9pc19leHRlbmRlZF9tb25pdG9yaW5nIjp0cnVlLCJlbmFibGVfbG9nZ2luZ19maXJzdF91c2VyX2FjdGlvbl9hZnRlcl9nYW1lX3JlYWR5Ijp0cnVlLCJlbmFibGVfbHRjX3BhcmFtX2ZldGNoX2Zyb21faW5uZXJ0dWJlIjp0cnVlLCJlbmFibGVfbTBfbG9nZ2luZ19maXhlcyI6dHJ1ZSwiZW5hYmxlX21lbnVfcmVuZGVyZXJfYnV0dG9uX2luX213ZWJfaGNsciI6dHJ1ZSwiZW5hYmxlX21pbmlfYXBwX2NvbW1hbmRfaGFuZGxlcl9td2ViX2ZpeCI6dHJ1ZSwiZW5hYmxlX21pbmlfZ3VpZGVfZG93bmxvYWRzX2l0ZW0iOnRydWUsImVuYWJsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3MiOnRydWUsImVuYWJsZV9td2ViX2F1ZGlvX3RyYWNrX3BpY2tlciI6dHJ1ZSwiZW5hYmxlX213ZWJfa2V5Ym9hcmRfc2hvcnRjdXRzIjp0cnVlLCJlbmFibGVfbmFtZXNfaGFuZGxlc19hY2NvdW50X3N3aXRjaGVyIjp0cnVlLCJlbmFibGVfbmF0aXZlX2JyaWRnZV92aWV3X3NhdmVkX3BsYXlhYmxlcyI6dHJ1ZSwiZW5hYmxlX25ldHdvcmtfcmVxdWVzdF9sb2dnaW5nX29uX2dhbWVfZXZlbnRzIjp0cnVlLCJlbmFibGVfbmV3X3BhaWRfcHJvZHVjdF9wbGFjZW1lbnQiOnRydWUsImVuYWJsZV9vcGVuX2luX25ld190YWJfaWNvbl9mb3Jfc2hvcnRfZHJfZm9yX2Rlc2t0b3Bfc2VhcmNoIjp0cnVlLCJlbmFibGVfb3Blbl95dF9jb250ZW50Ijp0cnVlLCJlbmFibGVfb3JpZ2luX3F1ZXJ5X3BhcmFtZXRlcl9idWdmaXgiOnRydWUsImVuYWJsZV9wYXVzZV9hZHNfb25feXR2X2h0bWw1Ijp0cnVlLCJlbmFibGVfcGF5bWVudHNfcHVyY2hhc2VfbWFuYWdlciI6dHJ1ZSwiZW5hYmxlX3BkcF9pY29uX3ByZWZldGNoIjp0cnVlLCJlbmFibGVfcGxhY2VfcGl2b3RfdXJsIjp0cnVlLCJlbmFibGVfcGxheWFibGVfY29udGFpbmVyX3NhdmVfYnV0dG9uIjp0cnVlLCJlbmFibGVfcGxheWFibGVfZW50aXR5X3NhdmVfbWVudV9pdGVtIjp0cnVlLCJlbmFibGVfcHRjX2hvbWVfbG9jYXRpb25fb25fd2ViIjp0cnVlLCJlbmFibGVfcHZfc2NyZWVuX21vZGVybl90ZXh0Ijp0cnVlLCJlbmFibGVfcnRhX21hbmFnZXIiOnRydWUsImVuYWJsZV9zY3JlZW5fbWFuYWdlcl9sYXllcl9zZXBhcmF0aW9uIjp0cnVlLCJlbmFibGVfc2RmX2NvbXBhbmlvbl9oNSI6dHJ1ZSwiZW5hYmxlX3NkZl9kYWlfaDVfbWlkcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9oNV9lbmRlbWljX21pZF9wb3N0X3JvbGwiOnRydWUsImVuYWJsZV9zZGZfb25faDVfdW5wbHVnZ2VkX3ZvZF9taWRyb2xsIjp0cnVlLCJlbmFibGVfc2RmX3Nob3J0c19wbGF5ZXJfYnl0ZXNfaDUiOnRydWUsImVuYWJsZV9zZW5kaW5nX3Vud3JhcHBlZF9nYW1lX2F1ZGlvX2FzX3NlcmlhbGl6ZWRfbWV0YWRhdGEiOnRydWUsImVuYWJsZV9zZXRfdmlkZW9faWRfaW5fc2hvcnRzX2xvY2t1cF92aWV3X21vZGVsIjp0cnVlLCJlbmFibGVfc2Z2X2VmZmVjdF9waXZvdF91cmwiOnRydWUsImVuYWJsZV9zaG9ydHNfbmV3X2Nhcm91c2VsIjp0cnVlLCJlbmFibGVfc2tpcF9hZF9ndWlkYW5jZV9wcm9tcHQiOnRydWUsImVuYWJsZV9za2lwcGFibGVfYWRzX2Zvcl91bnBsdWdnZWRfYWRfcG9kIjp0cnVlLCJlbmFibGVfc21lYXJpbmdfZXhwYW5zaW9uX2RhaSI6dHJ1ZSwiZW5hYmxlX3N1cGV4X213ZWJfZGVtb193ZWJmZSI6dHJ1ZSwiZW5hYmxlX3RpbWVfb3V0X21lc3NhZ2VzIjp0cnVlLCJlbmFibGVfdGltZWxpbmVfdmlld19tb2Rlcm5fdHJhbnNjcmlwdF9mZSI6dHJ1ZSwiZW5hYmxlX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9idXR0b25fZ3JvdXBfZm9yX2Rlc2t0b3Bfc2VhcmNoIjp0cnVlLCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIjp0cnVlLCJlbmFibGVfd2ViX2hvbWVfdG9wX2xhbmRzY2FwZV9pbWFnZV9sYXlvdXRfbGV2ZWxfY2xpY2siOnRydWUsImVuYWJsZV93ZWJfc2hvcnRzX2F1ZGlvX3RyYWNrIjp0cnVlLCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiOnRydWUsImVuYWJsZV93aW5kb3dfY29uc3RyYWluZWRfYnV5X2Zsb3dfZGlhbG9nIjp0cnVlLCJlbmFibGVfd2l6X3F1ZXVlX2VmZmVjdF9hbmRfb25faW5pdF9pbml0aWFsX3J1bnMiOnRydWUsImVuYWJsZV95cGNfc3Bpbm5lcnMiOnRydWUsImVuYWJsZV95dF9hdGFfaWZyYW1lX2F1dGh1c2VyIjp0cnVlLCJleHBvcnRfbmV0d29ya2xlc3Nfb3B0aW9ucyI6dHJ1ZSwiZXhwb3J0X3BsYXllcl92ZXJzaW9uX3RvX3l0Y29uZmlnIjp0cnVlLCJmaWxsX3NpbmdsZV92aWRlb193aXRoX25vdGlmeV90b19sYXNyIjp0cnVlLCJmaXhfYWRzX3RyYWNraW5nX2Zvcl9zd2ZfY29uZmlnX2RlcHJlY2F0aW9uX213ZWIiOnRydWUsImg1X2NvbXBhbmlvbl9lbmFibGVfYWRjcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5ncyI6dHJ1ZSwiaDVfaW5wbGF5ZXJfZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3MiOnRydWUsImg1X3Jlc2V0X2NhY2hlX2FuZF9maWx0ZXJfYmVmb3JlX3VwZGF0ZV9tYXN0aGVhZCI6dHJ1ZSwiaGlkZV9jaGFubmVsX2NyZWF0aW9uX3RpdGxlX2Zvcl9td2ViIjp0cnVlLCJoaWdoX2Njdl9jbGllbnRfc2lkZV9jYWNoaW5nX2g1Ijp0cnVlLCJodG1sNV9mb3JjZV9kZWJ1Z19kYXRhX2Zvcl9jbGllbnRfdG1wX2xvZ3MiOnRydWUsImh0bWw1X2xvZ190cmlnZ2VyX2V2ZW50c193aXRoX2RlYnVnX2RhdGEiOnRydWUsImh0bWw1X3NzZGFpX2VuYWJsZV9tZWRpYV9lbmRfY3VlX3JhbmdlIjp0cnVlLCJpZGJfaW1tZWRpYXRlX2NvbW1pdCI6dHJ1ZSwiaWxfYXR0YWNoX2NhY2hlX2xpbWl0Ijp0cnVlLCJpbF91c2Vfdmlld19tb2RlbF9sb2dnaW5nX2NvbnRleHQiOnRydWUsImlzX2Jyb3dzZXJfc3VwcG9ydF9mb3Jfd2ViY2FtX3N0cmVhbWluZyI6dHJ1ZSwianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiOnRydWUsImtldmxhcl9maWx0ZXJfdW5rbm93bl9zb3VyY2UiOnRydWUsImtldmxhcl9nZWxfZXJyb3Jfcm91dGluZyI6dHJ1ZSwia2V2bGFyX3RyaW1fcGxheWVyX2JlaGF2aW9yIjp0cnVlLCJrZXZsYXJfd2F0Y2hfY2luZW1hdGljcyI6dHJ1ZSwibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSI6dHJ1ZSwibGl2ZV9jaGF0X2VuYWJsZV9ydGFfbWFuYWdlciI6dHJ1ZSwibG9nX2NsaWNrX3dpdGhfbGF5ZXJfZnJvbV9lbGVtZW50X2luX2NvbW1hbmRfaGFuZGxlciI6dHJ1ZSwibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiOnRydWUsIm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpIjp0cnVlLCJtZHhfbG9hZF9jYXN0X2FwaV9ib290c3RyYXBfc2NyaXB0Ijp0cnVlLCJtZWRpdW1fcHJvZ3Jlc3NfYmFyX21vZGlmaWNhdGlvbiI6dHJ1ZSwibW9iaWxlX2FjY291bnRfbWVudV9yZWZyZXNoIjp0cnVlLCJtd2ViX2FjY291bnRfbGlua2luZ19ub2FwcCI6dHJ1ZSwibXdlYl9hbGxvd19tb2Rlcm5fc2VhcmNoX3N1Z2dlc3RfYmVoYXZpb3IiOnRydWUsIm13ZWJfYW5pbWF0ZWRfYWN0aW9ucyI6dHJ1ZSwibXdlYl9hcHBfdXBzZWxsX2J1dHRvbl9kaXJlY3RfdG9fYXBwIjp0cnVlLCJtd2ViX2JhZGdlX3NoYXBlX2RlZnJhZyI6dHJ1ZSwibXdlYl9iZXR0ZXJfY2FwdGlvbnNfcGxhY2VtZW50Ijp0cnVlLCJtd2ViX2MzX2FwcF9wcm9tb19lbmFibGVfcmVmZXJyaW5nX2FwcCI6dHJ1ZSwibXdlYl9jM19lbmFibGVfYWRhcHRpdmVfc2lnbmFscyI6dHJ1ZSwibXdlYl9jM19saWJyYXJ5X3BhZ2VfZW5hYmxlX3JlY2VudF9zaGVsZiI6dHJ1ZSwibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3JlbW92ZV93ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9kYXRhIjp0cnVlLCJtd2ViX2MzX3RvYXN0X3VzZV93aXpfcmVhY3RpdmVfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3VzZV9jYW5vbmljYWxfZnJvbV9wbGF5ZXJfcmVzcG9uc2UiOnRydWUsIm13ZWJfY2FydmVfb3V0X2lvc19hcHBfc3RvcmVfcmVkaXJlY3QiOnRydWUsIm13ZWJfY2FydmVfb3V0X3Rlcm1zX3BhZ2VzIjp0cnVlLCJtd2ViX2NpbmVtYXRpY193YXRjaCI6dHJ1ZSwibXdlYl9jb21tYW5kX2hhbmRsZXIiOnRydWUsIm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzIjp0cnVlLCJtd2ViX2RlbGF5X3dhdGNoX2luaXRpYWxfZGF0YSI6dHJ1ZSwibXdlYl9kaXNhYmxlX3NlYXJjaGJhcl9zY3JvbGwiOnRydWUsIm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2UiOnRydWUsIm13ZWJfZW5hYmxlX2NvbG9yZnVsX2FpX3N1bW1hcnkiOnRydWUsIm13ZWJfZW5hYmxlX2R5bmFtaWNfZG91YmxlX3RhcF90b19saWtlIjp0cnVlLCJtd2ViX2VuYWJsZV9maW5lX3NjcnViYmluZ19mb3JfcmVjcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfZnVsbHNjcmVlbiI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfcHJvZ3Jlc3NfYmFyIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl90b29sdGlwcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19jb250ZW50Ijp0cnVlLCJtd2ViX2VuYWJsZV9sb2NrdXBfdmlld19tb2RlbF9mb3JfdWNwIjp0cnVlLCJtd2ViX2VuYWJsZV9taXhfcGFuZWxfdGl0bGVfbWV0YWRhdGEiOnRydWUsIm13ZWJfZW5hYmxlX21vcmVfY2h1bmtzIjp0cnVlLCJtd2ViX2VuYWJsZV9tb3JlX2RyYXdlciI6dHJ1ZSwibXdlYl9lbmFibGVfb3B0aW9uYWxfZnVsbHNjcmVlbl9sYW5kc2NhcGVfbG9ja2luZyI6dHJ1ZSwibXdlYl9lbmFibGVfb3ZlcmxheV90b3VjaF9tYW5hZ2VyIjp0cnVlLCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiOnRydWUsIm13ZWJfZW5hYmxlX3ByZW1pdW1fY2FydmVfb3V0X2ZpeCI6dHJ1ZSwibXdlYl9lbmFibGVfcmVmcmVzaF9kZXRlY3Rpb24iOnRydWUsIm13ZWJfZW5hYmxlX3NlYXJjaF9pbXAiOnRydWUsIm13ZWJfZW5hYmxlX3Nob3J0c192aWRlb19wcmVsb2FkIjp0cnVlLCJtd2ViX2VuYWJsZV90d29fbGluZV90aXRsZV9vbl9zaG9ydHMiOnRydWUsIm13ZWJfZW5hYmxlX3ZhcmlzcGVlZF9jb250cm9sbGVyIjp0cnVlLCJtd2ViX2VuYWJsZV92aWRlb19sb29wX3RvZ2dsZSI6dHJ1ZSwibXdlYl9lbmFibGVfd2F0Y2hfZmVlZF9pbmZpbml0ZV9zY3JvbGwiOnRydWUsIm13ZWJfZml4X2NvbGRfbG9hZF9yZXNwb25zZV9hY3Rpb25zIjp0cnVlLCJtd2ViX2ZpeF9tb25pdG9yX3Zpc2liaWxpdHlfYWZ0ZXJfcmVuZGVyIjp0cnVlLCJtd2ViX2ZvcmNlX2lvc19mYWxsYmFja190b19uYXRpdmVfY29udHJvbCI6dHJ1ZSwibXdlYl9mcF9hdXRvX2Z1bGxzY3JlZW4iOnRydWUsIm13ZWJfZnBfZW5hYmxlX3Nob3J0c19zd2lwZV9sb2dnaW5nIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fY29udHJvbHMiOnRydWUsIm13ZWJfZnVsbHNjcmVlbl9jb250cm9sc19hY3Rpb25fYnV0dG9ucyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX3dhdGNoX3N5c3RlbSI6dHJ1ZSwibXdlYl9mdWxseV9yZWFjdGl2ZV9jYiI6dHJ1ZSwibXdlYl9ob21lX3JlYWN0aXZlX3Nob3J0cyI6dHJ1ZSwibXdlYl9pbm5lcnR1YmVfc2VhcmNoX2NvbW1hbmQiOnRydWUsIm13ZWJfa2Fpb3NfZW5hYmxlX2F1dG9wbGF5X3N3aXRjaF92aWV3X21vZGVsIjp0cnVlLCJtd2ViX2xhbmdfaW5faHRtbCI6dHJ1ZSwibXdlYl9saWtlX2J1dHRvbl9zeW5jZWRfd2l0aF9lbnRpdGllcyI6dHJ1ZSwibXdlYl9sb2dvX3VzZV9ob21lX3BhZ2VfdmUiOnRydWUsIm13ZWJfbG9uZ19wcmVzc19zcGVlZHVwX3ZpYnJhdGlvbiI6dHJ1ZSwibXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkIjp0cnVlLCJtd2ViX3BsYXllcl9jb250cm9sX29uX2hvdmVyIjp0cnVlLCJtd2ViX3BsYXllcl9kZWxoaV9kdHRzIjp0cnVlLCJtd2ViX3BsYXllcl9zaG93X3ByZXZpb3VzX25leHRfYnV0dG9uc19pbl9wbGF5bGlzdCI6dHJ1ZSwibXdlYl9wbGF5ZXJfc2tpcF9ub19vcF9zdGF0ZV9jaGFuZ2VzIjp0cnVlLCJtd2ViX3BsYXllcl91c2VyX3NlbGVjdF9ub25lIjp0cnVlLCJtd2ViX3BsYXlsaXN0X2VuZ2FnZW1lbnRfcGFuZWwiOnRydWUsIm13ZWJfcHJvZ3Jlc3NfYmFyX3NlZWtfb25fbW91c2VfY2xpY2siOnRydWUsIm13ZWJfcHJvcGFnYXRlX3BsYXllcl9saW5rX2NsaWNrcyI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbCI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbF9lbmFibGVfdG91Y2hfaGFuZGxlcnMiOnRydWUsIm13ZWJfc2NoZWR1bGVfd2FybV93YXRjaF9yZXNwb25zZSI6dHJ1ZSwibXdlYl9zZWFyY2hib3hfbGVnYWN5X25hdmlnYXRpb24iOnRydWUsIm13ZWJfc2VlX2Zld2VyX3Nob3J0cyI6dHJ1ZSwibXdlYl9zaG9ydHNfY29tbWVudHNfcGFuZWxfaWRfY2hhbmdlIjp0cnVlLCJtd2ViX3Nob3J0c19lYXJseV9jb250aW51YXRpb24iOnRydWUsIm13ZWJfc2hvcnRzX2VuYWJsZV9sb25nX3ByZXNzX3NwZWVkdXAiOnRydWUsIm13ZWJfc2hvcnRzX292ZXJsYXlfZGVwcmVjYXRlX2thaW9zX2xheW91dCI6dHJ1ZSwibXdlYl9zaG93X3NpZ25faW5fYnV0dG9uX2Zyb21faGVhZGVyIjp0cnVlLCJtd2ViX3VzZV9taWNyb2Zvcm1hdF90aXRsZV9mb3JfcG9zdHMiOnRydWUsIm13ZWJfdXNlX3NlcnZlcl91cmxfb25fc3RhcnR1cCI6dHJ1ZSwibXdlYl93YXRjaF9jYXB0aW9uc19lbmFibGVfYXV0b190cmFuc2xhdGUiOnRydWUsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfc2V0X2RlZmF1bHRfc2l6ZSI6dHJ1ZSwibXdlYl93YXRjaF9kZWxoaV9wbGF5ZXIiOnRydWUsIm13ZWJfd2F0Y2hfc3RvcF9zY2hlZHVsZXJfb25fcGxheWVyX3Jlc3BvbnNlIjp0cnVlLCJtd2ViX3dhdGNoZmVlZF9iaWdfdGh1bWJuYWlscyI6dHJ1ZSwibXdlYl95dF9zZWFyY2hib3giOnRydWUsIm5ldHdvcmtsZXNzX2xvZ2dpbmciOnRydWUsIm5vX2NsaWVudF92ZV9hdHRhY2hfdW5sZXNzX3Nob3duIjp0cnVlLCJwYWdlaWRfYXNfaGVhZGVyX3dlYiI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX2F1dG9uYXZfZml4Ijp0cnVlLCJwbGF5ZXJfY29udHJvbHNfc2tpcF9kb3VibGVfc2lnbmFsX3VwZGF0ZSI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3VzZV9wbGF5ZXJfYXBpX2NvbnRleHQiOnRydWUsInBsYXllcl9jb250cm9sc192b2x1bWVfY29udHJvbHNfdXNlX3BsYXllcl9wcm9wcyI6dHJ1ZSwicG9seW1lcl9iYWRfYnVpbGRfbGFiZWxzIjp0cnVlLCJwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlIjp0cnVlLCJxb2Vfc2VuZF9hbmRfd3JpdGUiOnRydWUsInJlbW92ZV9jaGV2cm9uX2Zyb21fYWRfZGlzY2xvc3VyZV9iYW5uZXJfaDUiOnRydWUsInJlbW92ZV9tYXN0aGVhZF9jaGFubmVsX2Jhbm5lcl9vbl9yZWZyZXNoIjp0cnVlLCJyZW1vdmVfc2xvdF9pZF9leGl0ZWRfdHJpZ2dlcl9mb3JfZGFpX2luX3BsYXllcl9zbG90X2V4cGlyZSI6dHJ1ZSwicm9zY2FzIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2VuYWJsZWQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfaG9tZV9wYWdlX3Byb21wdCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF93YXRjaF9wYWdlX3Byb21wdCI6dHJ1ZSwic2hlbGxfbG9hZF9nY2YiOnRydWUsInNob3J0ZW5faW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCI6dHJ1ZSwic2hvcnRzX2VuYWJsZV9yZWVsX2Nhcm91c2VsIjp0cnVlLCJzaG91bGRfdXNlX3l0X3ZvaWNlX2VuZHBvaW50X2luX2thaW9zIjp0cnVlLCJzbWFydGVyX3ZlX2RlZHVwcGluZyI6dHJ1ZSwic3RvcF9oYW5kbGluZ19jbGlja19mb3Jfbm9uX3JlbmRlcmluZ19vdmVybGF5X2xheW91dCI6dHJ1ZSwic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciOnRydWUsInN5bmNlZF9wYW5lbF9zY3JvbGxpbmdfY29udHJvbGxlciI6dHJ1ZSwidG9vbHRpcF9yZWZhY3Rvcl9mb3JfaG90a2V5Ijp0cnVlLCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiOnRydWUsInVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzcyI6dHJ1ZSwidXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiOnRydWUsInVzZV9zZXNzaW9uX2Jhc2VkX3NhbXBsaW5nIjp0cnVlLCJ1c2VfdGh1bWJuYWlsX292ZXJsYXlfdGltZV9zdGF0dXNfcmVuZGVyZXJfZm9yX2xpdmVfYmFkZ2UiOnRydWUsInZzc19maW5hbF9waW5nX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJ3YXRjaF9wdWJzdWJfcmVmYWN0b3IiOnRydWUsIndlYl9hZGFwdGl2ZV9yZXBlYXRfYXNlIjp0cnVlLCJ3ZWJfYWx3YXlzX2xvYWRfY2hhdF9zdXBwb3J0Ijp0cnVlLCJ3ZWJfYXBpX3VybCI6dHJ1ZSwid2ViX2F0dGVudGlvbl9sb2dnaW5nX2VuYWJsZWQiOnRydWUsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsIjp0cnVlLCJ3ZWJfYXR0cmlidXRlZF9zdHJpbmdfZGVlcF9lcXVhbF9idWdmaXgiOnRydWUsIndlYl9hdXRvbmF2X2FsbG93X29mZl9ieV9kZWZhdWx0Ijp0cnVlLCJ3ZWJfYnV0dG9uX29yX2FuY2hvcl9saXN0X2l0ZW0iOnRydWUsIndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhIjp0cnVlLCJ3ZWJfYnV0dG9uX3ZtX3JlZmFjdG9yX2Rpc2FibGVkIjp0cnVlLCJ3ZWJfYzNfbG9nX2FwcF9pbml0X2ZpbmlzaCI6dHJ1ZSwid2ViX2NvbW1lbnRfcGFuZWxfZWFzeV9leHBhbmQiOnRydWUsIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiOnRydWUsIndlYl9kZWR1cGVfdmVfZ3JhZnRpbmciOnRydWUsIndlYl9kaXNhYmxlX2JhY2tkcm9wX2ZpbHRlciI6dHJ1ZSwid2ViX2Rpc2FibGVfY2hpcF92aWV3X21vZGVsX211dGF0aW9uIjp0cnVlLCJ3ZWJfZW5hYmxlX2FiX3JzcF9jbCI6dHJ1ZSwid2ViX2VuYWJsZV9hZF9idXR0b25fc3R5bGVfb3ZlcnJpZGUiOnRydWUsIndlYl9lbmFibGVfYXNrX2Rpc2NsYWltZXJfdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Nhbm9uaWNhbF91cmxfbWFuYWdlciI6dHJ1ZSwid2ViX2VuYWJsZV9jYXB0aW9uc19zZXRfdGFyZ2V0X2NvbnRhaW5lciI6dHJ1ZSwid2ViX2VuYWJsZV9jb3Vyc2VfaWNvbl91cGRhdGUiOnRydWUsIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiOnRydWUsIndlYl9lbmFibGVfZXJyb3JfMjA0Ijp0cnVlLCJ3ZWJfZW5hYmxlX3RodW1ibmFpbF9vdmVybGF5X2FsaWdubWVudCI6dHJ1ZSwid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIjp0cnVlLCJ3ZWJfZ2VsX3RpbWVvdXRfY2FwIjp0cnVlLCJ3ZWJfaGlkZV95b3VyX2RhdGFfb25fYXV0b21vdGl2ZSI6dHJ1ZSwid2ViX2ltcF9lbmFibGVfY3NpX3N0YXJ0X3RpY2siOnRydWUsIndlYl9tb25vbWVyX3dlYl9jb21wb25lbnRfd3JhcHBlcl9oYW5kbGVfZXJyb3JzIjp0cnVlLCJ3ZWJfbm9uX25hdmlnYXRpbmdfYXRhZyI6dHJ1ZSwid2ViX3BhcmVudF90YXJnZXRfZm9yX3NoZWV0cyI6dHJ1ZSwid2ViX3BlcnNpc3Rfc2VydmVyX2F1dG9uYXZfc3RhdGVfb25fY2xpZW50Ijp0cnVlLCJ3ZWJfcGxheWJhY2tfYXNzb2NpYXRlZF92ZSI6dHJ1ZSwid2ViX3BsYXllcl91cGRhdGVkX2VudHJ5cG9pbnQiOnRydWUsIndlYl9wcmVmZXRjaF9wcmVsb2FkX3ZpZGVvIjp0cnVlLCJ3ZWJfcHJvZ3Jlc3NfYmFyX2RyYWdnYWJsZSI6dHJ1ZSwid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIjp0cnVlLCJ3ZWJfcmVtb3ZlX3NuYWNrYmFyX2FjdGlvbnMiOnRydWUsIndlYl9zZWN0aW9uX2xpc3RfcmVuZGVyZXJfd3JhcHBlZF9jb250ZW50cyI6dHJ1ZSwid2ViX3Nob3J0c19hdWRpb190cmFja19waWNrZXIiOnRydWUsIndlYl9zaG9ydHNfZW5hYmxlX3JlbW92ZV9zZWFyY2hfcGl2b3RfYmFja19idXR0b24iOnRydWUsIndlYl9zaG9ydHNfd25fc2hlbGZfaGVhZGVyX3R1bmluZyI6dHJ1ZSwid2ViX3VuaWZpZWRfZmV0Y2giOnRydWUsIndlYl91cGRhdGVfcGFuZWxfdmlzaWJpbGl0eV9sb2dnaW5nX2ZpeCI6dHJ1ZSwid2ViX3dhdGNoX2NvbnRyb2xzX3N0YXRlX3NpZ25hbHMiOnRydWUsIndlYmZlX213ZWJfd2F0Y2hfbWljcm9kYXRhIjp0cnVlLCJ3ZWJmZV93YXRjaF9zaG9ydHNfY2Fub25pY2FsX3VybF9maXgiOnRydWUsIndlYnBvX2V4aXRfb25fbmV0X2VyciI6dHJ1ZSwid2l6X2RpZmZfb3ZlcndyaXRhYmxlIjp0cnVlLCJ3aXpfd3JhcHBlcl9jYWxsYmFja19wcm9wc19maXgiOnRydWUsInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCI6dHJ1ZSwiSDVfYXN5bmNfbG9nZ2luZ19kZWxheV9tcyI6MzAwMDAuMCwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zYW1wbGluZ19mcmFjdGlvbiI6MC4wLCJjaW5lbWF0aWNfd2F0Y2hfZWZmZWN0X29wYWNpdHkiOjAuNCwibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIjowLjEsInNwZWVkbWFzdGVyX3BsYXliYWNrX3JhdGUiOjIuMCwid2ViX2F0dGVudGlvbl9sb2dnaW5nX3Njcm9sbF90aHJvdHRsZSI6NTAwLjAsIndlYl9kZWFkX2NvZGVfZGV0ZWN0b3Jfc2FtcGxpbmdfcmF0ZSI6MC4wLCJ3ZWJfbG9hZF9wcmVkaWN0aW9uX3RocmVzaG9sZCI6MC4zLCJ3ZWJfbmF2aWdhdGlvbl9wcmVkaWN0aW9uX3RocmVzaG9sZCI6MC4xLCJ3ZWJfcGJqX2xvZ193YXJuaW5nX3JhdGUiOjAuMCwid2ViX3N5c3RlbV9oZWFsdGhfZnJhY3Rpb24iOjAuMDEsInl0aWRiX3RyYW5zYWN0aW9uX2VuZGVkX2V2ZW50X3JhdGVfbGltaXQiOjAuMDIsImF0dF9pbml0X2RlbGF5Ijo1MDAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2VjIjowLCJib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zIjozMDAwLCJjaGVja19uYXZpZ2F0b3JfYWNjdXJhY3lfdGltZW91dF9tcyI6MCwiY2luZW1hdGljX3dhdGNoX2Nzc19maWx0ZXJfYmx1cl9zdHJlbmd0aCI6NDAsImNpbmVtYXRpY193YXRjaF9mYWRlX291dF9kdXJhdGlvbiI6NTAwLCJjbG9zZV93ZWJ2aWV3X2RlbGF5X21zIjoxMDAsImNsb3VkX3NhdmVfZ2FtZV9kYXRhX3JhdGVfbGltaXRfbXMiOjMwMDAsImNvbXByZXNzaW9uX2Rpc2FibGVfcG9pbnQiOjEwLCJjdXN0b21fYWN0aXZlX3ZpZXdfdG9zX3RpbWVvdXRfbXMiOjM2MDAwMDAsImVtYmVkc193aWRnZXRfcG9sbF9pbnRlcnZhbF9tcyI6MCwiZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19tYXhfd2luZG93X3NlY29uZHMiOjYwLCJnZWxfbWluX2JhdGNoX3NpemUiOjMsImdlbF9xdWV1ZV90aW1lb3V0X21heF9tcyI6NjAwMDAsImdldF9hc3luY190aW1lb3V0X21zIjo2MDAwMCwiaHRtbDVfYnl0ZXJhdGVfc29mdF9jYXAiOjAsImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiOjIwMDAsIm1heF9ib2R5X3NpemVfdG9fY29tcHJlc3MiOjUwMDAwMCwibWF4X3ByZWZldGNoX3dpbmRvd19zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uIjoxMCwibWluX3ByZWZldGNoX29mZnNldF9zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uIjoyMCwibWluaV9hcHBfY29udGFpbmVyX2lmcmFtZV9zcmNfdXBkYXRlX2RlbGF5X21zIjowLCJtdWx0aXBsZV9wcmV2aWV3X25ld3NfZHVyYXRpb25fdGltZSI6MTEwMDAsIm13ZWJfYzNfdG9hc3RfZHVyYXRpb25fbXMiOjUwMDAsIm13ZWJfZGVlcF9saW5rX2ZhbGxiYWNrX3RpbWVvdXRfbXMiOjEwMDAwLCJtd2ViX2RlbGF5X3Jlc3BvbnNlX3JlY2VpdmVkX2FjdGlvbnMiOjEwMCwibXdlYl9kd2VsbF9kZWxheV9tcyI6NTAwLCJtd2ViX2ZwX2RwYWRfcmF0ZV9saW1pdF9tcyI6MCwibXdlYl9mcF9kcGFkX3dhdGNoX3RpdGxlX2NsYW1wX2xpbmVzIjowLCJtd2ViX2hpc3RvcnlfbWFuYWdlcl9jYWNoZV9zaXplIjoxMDAsIm13ZWJfaW9zX2Z1bGxzY3JlZW5fcGxheWJhY2tfdHJhbnNpdGlvbl9kZWxheV9tcyI6NTAwLCJtd2ViX2lvc19mdWxsc2NyZWVuX3N5c3RlbV9wYXVzZV9lcGlsc29uX21zIjowLCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiOjAsIm13ZWJfc2hvcnRzX2Vhcmx5X2NvbnRpbnVhdGlvbl90cmlnZ2VyX3RocmVzaG9sZCI6NCwibXdlYl9zaG9ydHNfbnVtYmVyX29mX3RodW1ibmFpbHNfc2hvd24iOjIsIm13ZWJfdzJ3X21heF9hZ2Vfc2Vjb25kcyI6MCwibXdlYl93YXRjaF9jYXB0aW9uc19kZWZhdWx0X3NpemUiOjIsIm5lb25fZGFya19sYXVuY2hfZ3JhZGllbnRfY291bnQiOjAsIm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbCI6MzAwMDAsInBsYXlfcGluZ19pbnRlcnZhbF9tcyI6MTAwMDAsInNlbmRfY29uZmlnX2hhc2hfdGltZXIiOjAsInNlcnZpY2Vfd29ya2VyX3B1c2hfbG9nZ2VkX291dF9wcm9tcHRfd2F0Y2hlcyI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2NhcCI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2RlbGF5X21pY3Jvc2Vjb25kcyI6Mzg4ODAwMDAwMDAwMCwic2hvd19taW5pX2FwcF9hZF93ZWJfcmVndWxhcl9mcmVxdWVuY3lfY2FwX21zIjoyNDAwMDAsInNob3dfbWluaV9hcHBfYWRfd2ViX3Jld2FyZGVkX2ZyZXF1ZW5jeV9jYXBfbXMiOjAsInNsb3dfY29tcHJlc3Npb25zX2JlZm9yZV9hYmFuZG9uX2NvdW50Ijo0LCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiOjEwLCJzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zIjo1MDAsIndlYl9haV9zZWFyY2hfcm9sbG91dF92ZXJzaW9uIjoxLCJ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXMiOjI4MDAwLCJ3ZWJfZ2VsX2RlYm91bmNlX21zIjoxMDAwMCwid2ViX2xvZ2dpbmdfbWF4X2JhdGNoIjoxMDAsIndlYl9tYXhfdHJhY2luZ19ldmVudHMiOjUwLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfbW91c2Vtb3ZlX2ludGVydmFsIjowLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2Nyb2xsX2ludGVydmFsIjowLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2VuZF9hZnRlcl90aW1lb3V0IjowLCJ3ZWJfdHJhY2luZ19zZXNzaW9uX3JlcGxheSI6MCwid2lsX2ljb25fbWF4X2NvbmN1cnJlbnRfZmV0Y2hlcyI6OTk5OSwieXRjc2lfZGVidWdfbWF4X3NpemUiOjEwMCwieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiOjEsInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIjowLCJXZWJDbGllbnRSZWxlYXNlUHJvY2Vzc0NyaXRpY2FsX195b3V0dWJlX2VtYmVkc19jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsIldlYkNsaWVudFJlbGVhc2VQcm9jZXNzQ3JpdGljYWxfX3lvdXR1YmVfZW1iZWRzX3dlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsImRlYnVnX2ZvcmNlZF9pbnRlcm5hbGNvdW50cnljb2RlIjoiIiwiZW5hYmxlX3dlYl9tZWRpYV9zZXJ2aWNlIjoiRElTQUJMRUQiLCJpbF9wYXlsb2FkX3NjcmFwaW5nIjoiIiwibGl2ZV9jaGF0X3VuaWNvZGVfZW1vamlfanNvbl91cmwiOiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9lbW9qaXMvZW1vamlzLXN2Zy05Lmpzb24iLCJtd2ViX2RlZXBfbGlua19mZWF0dXJlX3RhZ19zdWZmaXgiOiI1MTgzMTYxNSIsIm13ZWJfZW5hYmxlX3Nob3J0c19pbm5lcnR1YmVfcGxheWVyX3ByZWZldGNoX3RyaWdnZXIiOiJOT05FIiwibXdlYl9mcF9kcGFkIjoiaG9tZSxzZWFyY2gsYnJvd3NlLGNoYW5uZWwsY3JlYXRlX2NoYW5uZWwsZXhwZXJpbWVudHMsc2V0dGluZ3MsdHJlbmRpbmcsb29wcyw0MDQscGFpZF9tZW1iZXJzaGlwcyxzcG9uc29yc2hpcCxwcmVtaXVtLHNob3J0cyIsIm13ZWJfZnBfZHBhZF9saW5lYXJfbmF2aWdhdGlvbiI6IiIsIm13ZWJfZnBfZHBhZF9saW5lYXJfbmF2aWdhdGlvbl92aXNpdG9yIjoiIiwibXdlYl9mcF9kcGFkX3Zpc2l0b3IiOiIiLCJtd2ViX3ByZWxvYWRfdmlkZW9fYnlfcGxheWVyX3ZhcnMiOiIiLCJwbGFjZV9waXZvdF90cmlnZ2VyaW5nX2NvbnRhaW5lcl9hbHRlcm5hdGUiOiIiLCJwbGFjZV9waXZvdF90cmlnZ2VyaW5nX2NvdW50ZXJmYWN0dWFsX2NvbnRhaW5lcl9hbHRlcm5hdGUiOiIiLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2ZvcmNlX25vdGlmaWNhdGlvbl9wcm9tcHRfdGFnIjoiMSIsInNlcnZpY2Vfd29ya2VyX3Njb3BlIjoiLyIsInN1Z2dlc3RfZXhwX3N0ciI6IiIsIndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsImVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfYWxsb3dlZF92aWRlb19pZHMiOlsiT0psd0lkb0Z6OUEiLCJBcktiQXgxSy0yVSIsIm1fZGhNU3ZVQ0ljIiwiQzFEaHBKMDdadUUiLCJOcTJ3WWxXRnVjZyIsIkpDN2YzRVVEYXF3IiwidnIzWHlWQ1I0VDAiLCJnQ05lRFdDSTB2byIsImtCVHVkbTRnZU1zIiwiRnhzZlZYNkIxTWsiLCJ5bFlKU0JVZ2FNQSIsIlZXaFE2eHNwblNjIiwiUkhVYXVNY1lsWDAiLCJjYjEyS21NTURKQSIsIldKeEVqX2hycFNnIiwiZXVoWS10bWc5eDgiLCJUbElWSTJFVzdSMCIsIk1JTmZ2T1g0QnpJIiwieUhtUFd6a2hjWjgiLCJwM3cxdk85WHYyNCIsIlZsYUNucDFmeEk4IiwiLU9mQTA0QkQ0R0EiLCIxb2RZM0lZc05ubyIsIndpVFRyVnFSVkR3IiwiRGZtMnJCLW5ROVkiLCJRbTFGdHo4bFZuSSIsIjlpdEF4cV9TR0RNIiwieUZJM3dwWHk0ekEiLCJQeTVKWVpYSnZ6byIsImI0dEU1YUtodGxnIiwiNUpEeGpzQVZhR2siLCJlVW1mR1BhenVFTSIsIlc4blRocTYyVmI0IiwiVkxqdlMzdWZsWGMiLCJCZmRMS3ZKQk1fYyIsIndlTFhkd1ZqU3hzIiwiMkphLXVQT2t6N0kiLCJBOVFCVkZFWXhPUSIsImstWkZRa2tIVWZjIiwid3V1MEQyMEFacUkiLCJfSHZpU3lDN3pTVSIsIl9feE96X1EzcVI0IiwidzJzQjg3akxFMUkiLCI4clRURU1kTWg4USIsIi1rNm1wZ214ZXJVIiwiOTdja25ySnlMV2ciLCIyRkl0Vnl4TE5OYyIsIm90bnhmY3NHRS1ZIiwiczl4TDFEcEJzZlEiLCJ3ZkFHQlZnVXJybyIsIm5YSDZUeFEtc2k4IiwiV2lJMVhnX25FdTgiLCIzZmxhc0dWVXJDQSIsImVEWV9IZTkybGNVIiwiYTQ3Y2tYS1pqeEkiLCJJNldSWGVLWks2NCIsIlQ5SjVEcVAyREt3IiwiS3RrX0kwcFVwRzgiLCJlUTJjekdxT0NQZyIsImhMbVU0OWhtWjRjIiwiN2Y3TWdhTUU3U2MiLCJRQjVCTmRCRnVqRSIsIkFHaHRNVV9maTcwIiwicDJSYVFVUlJBd0EiLCJtel9fRU1ZcFdQdyIsIjZqaEx1U1FWSXhVIiwickM4M3ZfdXVJcW8iLCI2RGFHZEpSX2VMZyIsImNtNDN1WGpmdlpZIiwiWTFKc1BwbTJibVEiLCJ6MDk3alB5S2VlbyIsIlRZVlpXVVRqa3gwIiwiVkhhQXZlbmZURGsiLCJ0djlPVV81UTBwUSIsIjZvS0N2em02SG1nIiwiQkVGVUVSaFQwbjAiLCJ1VE4tZXUwLU9YRSIsImhiYXByaFI3elRvIiwiMkNWMFYtb01ORk0iLCJ1OGRTT0tvTkpwMCIsIkg4TXFxd21Gc3hZIiwiSXNra21OUEpkVWsiLCJYOUhfRXpwREdYUSJdLCJrZXZsYXJfY29tbWFuZF9oYW5kbGVyX2NvbW1hbmRfYmFubGlzdCI6W10sIm1pbmlfYXBwX2lkc193aXRob3V0X2dhbWVfcmVhZHkiOlsiVWdreEhIdHNhazFTQzhtUkdITVpld2M0SHplQVkzeWhQUG1KIiwiVWdreDdPZ3pGcUU2el81TXRmNFlzb3RHZlFOSUkxREZfUkJtIl0sIndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0IjpbXSwid2ViX3RyYWNpbmdfZW5hYmxlZF9zcGFucyI6WyJldmVudCIsImNvbW1hbmQiXX0sIkdBUElfSElOVF9QQVJBTVMiOiJtOy9fL3Njcy9hYmMtc3RhdGljL18vanMva1x1MDAzZGdhcGkuZ2FwaS5lbi41NF9IRHZlT3RrUS5PL2RcdTAwM2QxL3JzXHUwMDNkQUhwT29vOVF1Zk9kUFlUUmtiVEphZFRXNnNtc3hsV0xNdy9tXHUwMDNkX19mZWF0dXJlc19fIiwiR0FQSV9IT1NUIjoiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20iLCJHQVBJX0xPQ0FMRSI6ImVuX1VTIiwiR0wiOiJOTyIsIkhMIjoiZW4iLCJIVE1MX0RJUiI6Imx0ciIsIkhUTUxfTEFORyI6ImVuIiwiSU5ORVJUVUJFX0FQSV9LRVkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJJTk5FUlRVQkVfQVBJX1ZFUlNJT04iOiJ2MSIsIklOTkVSVFVCRV9DTElFTlRfTkFNRSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJJTk5FUlRVQkVfQ0xJRU5UX1ZFUlNJT04iOiIyLjIwMjYwNzI0LjAxLjAwIiwiSU5ORVJUVUJFX0NPTlRFWFQiOnsiY2xpZW50Ijp7ImhsIjoiZW4iLCJnbCI6Ik5PIiwicmVtb3RlSG9zdCI6IjE5NS42NC4xMTguMTUyIiwiZGV2aWNlTWFrZSI6IiIsImRldmljZU1vZGVsIjoiIiwidmlzaXRvckRhdGEiOiJDZ3RYYWxkdGJsVkpjRXByY3lqNWo1dlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ1RtTGZBZ3JjQWpJd0xsbFVQV0pCVlhGQmMxZDBWWEV3VVVrMWJHNWlhbWhTY1ZwNFNFZGFWR1ZSTkRSNGRqRTFPRjkzUkVrdFQxSkZUVGRvUjBaM1pGRm9MVVp1YmpJeVZYZDBkMHRrVW5NeVdHMUxaRGRuVkhKRlFXOXhZVVJYYjI5WFpYZzNSWG8yYTFSRVZFNVZZMWc0VEhOTU1FRTVOMEl4YUdKa2IyTnRPV0YyWW5kcFRuWmllRmd3Y1V0cFh6WjNaa1pUTVVOdVpYZDJkM0JuVFdseFVsOVZTV1U1T1dGMFpVSlBMVTFqVURjell6RmFlbkZmYmxGcU1HOTZNamx4VFROV2NuaE1OV1JZZHpCQ1dGTnlSV2MyVEZNeU5tVm5XazU0YlU5WGNVUnZWME5ZVDJkcWJuVktWemx3Y2toWlNtRnBUbVpIUmtFNGNXRk1aemxDUzJGM1R6Z3dRa0V5U0ZWaE9EUTRWMVpETTNkdU4wWllWbVIyVEZsTGJYWnNkVVZtVjJrd1UwSjJNMWgxTFVNM2FucFJlbGRKZGpOM1gwaFZVbnBYZVZnM2VHa3hOMkpWWTNacGEyRjJhMkpyZHpJeFpqUnVTa3hrVFdzeE9WUlNkdyUzRCUzRCIsInVzZXJBZ2VudCI6Ik1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQ7IHJ2OjEzNC4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzEzNC4wLGd6aXAoZ2ZlKSIsImNsaWVudE5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiY2xpZW50VmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJvc05hbWUiOiJXaW5kb3dzIiwib3NWZXJzaW9uIjoiMTAuMCIsIm9yaWdpbmFsVXJsIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvR2MyZW4zbkh4QTQiLCJwbGF0Zm9ybSI6IkRFU0tUT1AiLCJjbGllbnRGb3JtRmFjdG9yIjoiVU5LTk9XTl9GT1JNX0ZBQ1RPUiIsImNvbmZpZ0luZm8iOnsiYXBwSW5zdGFsbERhdGEiOiJDUG1QbTlNR0VMZjRnQk1RdGR2UkhCRDR4SUFURUxhazBSd1FpX2ZQSEJDOW1iQUZFTDZLc0FVUW44LUFFeERldk00Y0VJZXN6aHdRcnRiUEhCQ0o1TkVjRU9uNDBSd1F6Ti11QlJESy00QVRFTDZFMFJ3UV9MTE9IQkR3M3RFY0VNbjJnQk1RMnZmT0hCQUFFUGFyc0FVUXZiYXVCUkM4cE5BY0VJSE56aHdRdHJXQUV4RDU4dEVjRUptTnNRVVF3WV9RSEJEZ3Q5RWNFSWJoZ0JNUW5ZYTRJaER4dE5BY0VKelowUndRaUpEUkhCQzQ4TkVjRUltd3pod1E1LXZSSEJDZTBMQUZFTGpremh3UWk0ZTRJaEQyOTlFY0VPRHEwUndRanBEUkhCQ1c3OUVjRUtTcDBSd1E4Wnl3QlJDRGg3Z2lFT3ZOMEJ3UTllblJIQ3BzUTBGTlUxTjRWa0V0V25FdFJFeHBWVVZ3VVVOdVFUYzFSbGhoWjBKMVFWZHhUbFZRZVVGTlRYVkJZbnBFWlZGSGNWRmhYMEpsYVRrMlVYTjViMHQzUlVFMVEzVkJYM050ZEhWUlJ6VkpWVmd3VFhkSGVFcEpSbmw2TTBaS09XNVdRbVIzY3pVd1dXUkNkejA5TUFBJTNEIn0sImJyb3dzZXJOYW1lIjoiRmlyZWZveCIsImJyb3dzZXJWZXJzaW9uIjoiMTM0LjAiLCJhY2NlcHRIZWFkZXIiOiJ0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxXHUwMDNkMC45LCovKjtxXHUwMDNkMC44IiwiZGV2aWNlRXhwZXJpbWVudElkIjoiQ2h4T2Vsa3lUbnBCZWs1VVNUUlBWR014VG1wRk1rMTZTWGxPUVQwOUVQbVBtOU1HR1BtUG05TUciLCJyb2xsb3V0VG9rZW4iOiJDTTJkN3EzT2c3cnpqUUVRdnBhTmgtM3hsUU1ZdnBhTmgtM3hsUU0lM0QifSwidXNlciI6eyJsb2NrZWRTYWZldHlNb2RlIjpmYWxzZX0sInJlcXVlc3QiOnsidXNlU3NsIjp0cnVlfSwiY2xpY2tUcmFja2luZyI6eyJjbGlja1RyYWNraW5nUGFyYW1zIjoiSWhNSXRZZU5oKzN4bFFNVkR3WjhDQjBYZVF1UCJ9LCJ0aGlyZFBhcnR5Ijp7ImVtYmVkZGVkUGxheWVyQ29udGV4dCI6eyJlbWJlZGRlZFBsYXllckVuY3J5cHRlZENvbnRleHQiOiJBQ21ibEJYNk5GcUpfVU5QdlhDNWNmN0ZWTVpYNExGeXNXSUFnak9BbENxYlpQNEoxMEpTOXRvV2c4VTVBZFZKWlhDMWRkaldaaDJpa01yTmRLU0ZsVXRNbXRWRmlQdnpSRG53UVFIaGRTZzR0LU5RWDdjemxDd3FoNWx0OFh2NkxOX200NVRnYUxsMWpxUDA4MmhWY2tGQyIsImFuY2VzdG9yT3JpZ2luc1N1cHBvcnRlZCI6ZmFsc2V9fX0sIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIjo1NiwiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iOiIyLjIwMjYwNzI0LjAxLjAwIiwiSU5ORVJUVUJFX0NPTlRFWFRfR0wiOiJOTyIsIklOTkVSVFVCRV9DT05URVhUX0hMIjoiZW4iLCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiOnsiY2xpZW50Lm5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiY2xpZW50LmpzZmVhdCI6IjIwMjEifSwiTE9HR0VEX0lOIjpmYWxzZSwiUEFHRV9CVUlMRF9MQUJFTCI6InlvdXR1YmUuZW1iZWRzLndlYl8yMDI2MDcyNF8wMV9SQzAwIiwiUEFHRV9DTCI6OTUzMjA2MDEwLCJzY2hlZHVsZXIiOnsidXNlUmFmIjpmYWxzZX0sIlNFUlZFUl9OQU1FIjoiV2ViRkUiLCJWSVNJVE9SX0RBVEEiOiJDZ3RYYWxkdGJsVkpjRXByY3lqNWo1dlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ1RtTGZBZ3JjQWpJd0xsbFVQV0pCVlhGQmMxZDBWWEV3VVVrMWJHNWlhbWhTY1ZwNFNFZGFWR1ZSTkRSNGRqRTFPRjkzUkVrdFQxSkZUVGRvUjBaM1pGRm9MVVp1YmpJeVZYZDBkMHRrVW5NeVdHMUxaRGRuVkhKRlFXOXhZVVJYYjI5WFpYZzNSWG8yYTFSRVZFNVZZMWc0VEhOTU1FRTVOMEl4YUdKa2IyTnRPV0YyWW5kcFRuWmllRmd3Y1V0cFh6WjNaa1pUTVVOdVpYZDJkM0JuVFdseFVsOVZTV1U1T1dGMFpVSlBMVTFqVURjell6RmFlbkZmYmxGcU1HOTZNamx4VFROV2NuaE1OV1JZZHpCQ1dGTnlSV2MyVEZNeU5tVm5XazU0YlU5WGNVUnZWME5ZVDJkcWJuVktWemx3Y2toWlNtRnBUbVpIUmtFNGNXRk1aemxDUzJGM1R6Z3dRa0V5U0ZWaE9EUTRWMVpETTNkdU4wWllWbVIyVEZsTGJYWnNkVVZtVjJrd1UwSjJNMWgxTFVNM2FucFJlbGRKZGpOM1gwaFZVbnBYZVZnM2VHa3hOMkpWWTNacGEyRjJhMkpyZHpJeFpqUnVTa3hrVFdzeE9WUlNkdyUzRCUzRCIsIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdTIjp7IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfRU1CRURERURfUExBWUVSIjp7InJvb3RFbGVtZW50SWQiOiJtb3ZpZV9wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzdhNzk2OWMyL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9FTUJFRERFRF9QTEFZRVIiLCJldmVudExhYmVsIjoiZW1iZWRkZWQiLCJjb250ZW50UmVnaW9uIjoiTk8iLCJobCI6ImVuX1VTIiwiaG9zdExhbmd1YWdlIjoiZW4iLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJkZXZpY2UiOnsiYnJhbmQiOiIiLCJtb2RlbCI6IiIsImJyb3dzZXIiOiJGaXJlZm94IiwiYnJvd3NlclZlcnNpb24iOiIxMzQuMCIsIm9zIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJwbGF0Zm9ybSI6IkRFU0tUT1AiLCJpbnRlcmZhY2VOYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIn0sInNlcmlhbGl6ZWRFeHBlcmltZW50SWRzIjoiMjQwMDQ2NDQsNTEwNjM2NDMsNTEwOTgyOTksNTEyMjI5NzMsNTEzNDA2NjIsNTEzNDk5MTQsNTEzNTMzOTMsNTEzNjY0MjMsNTEzODk2MjksNTE0OTAzMzEsNTE0OTMyMDksNTE1MDU0MzYsNTE1MzA0OTUsNTE1MzQ2NjksNTE1NjUxMTUsNTE1ODM4MjEsNTE2MDUyNTgsNTE2MDk4MjksNTE2MTUwNjYsNTE2MjI4NDQsNTE2MzgyNzAsNTE2Mzg5MzIsNTE2NDgzMzYsNTE2NzIxNjIsNTE2ODE2NjIsNTE2ODM1MDIsNTE3MTMxNzYsNTE3MjkyMTgsNTE3MzcxMzMsNTE3NDIzNzcsNTE3NDI4MjgsNTE3NzgzNDAsNTE3OTg5MjgsNTE4MDMxMjcsNTE4MDM1ODUsNTE4MzMyNDEsNTE4NDI0MjIsNTE4NTc4MzgsNTE4NTc5MjAsNTE4ODc4ODAsNTE4OTExMDcsNTE4OTU0MDUsNTE4OTU3NzEsNTE5MDE0MzcsNTE5MDI2MDUsNTE5MDI5NzcsNTE5MTA3MzYsNTE5MjcxODgsNTE5MjczNjAsNTE5MzYyMjgsNTE5Mzk3MDMsNTE5Mzk3MjksNTE5NDUwNTYsNTE5NTQ5MjIsNTE5NTY1MTgsNTE5NTc0NDUsNTE5NTk2OTQsNTE5NTk4MDksNTE5NTk4ODAsNTE5NTk5NjcsNTE5NjYzODQsNTE5NjgwODMsNTE5NzE3NzYsNTE5NzM4MTgsNTE5ODMzNjYsNTE5ODQ4MjcsNTE5ODU1ODAsNTE5OTcxODYsNTIwMDI4MDYsNTIwMTI1MjIsNTIwMTM5MzcsNTIwMTUyMzIsNTIwMTYxMzYsNTIwMjAwMzIsNTIwMjA0OTksNTIwMjI0ODgsNTIwMjMzMzMsNTIwMjQyMTcsNTIwMjYxOTQsNTIwMjY4MTMsNTIwMjcwOTksNTIwMjc3NTEsNTIwMjc3NTMsNTIwMzU2NDQsNTIwMzY5MzksNTIwNDMyMjcsNTIwNDY1MTksNTIwNDcxNDcsNTIwNDc2ODUsNTIwNDc2ODgsNTIwNDc2OTEsNTIwNTY1MDMsNTIwNjQxMzUsNTIwNjU1OTAsNTIwNjk5MDMsNTIwNzM5NjEsNTIwNzU0OTQsNTIwNzU5MjIsNTIwNzY3MDUsNTIwNzkxNjIsNTIwOTI4NjYsNTIwOTY1MDYsNTIwOTg1MjEsNTIwOTg2ODYiLCJzZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzIjoiSDVfYXN5bmNfbG9nZ2luZ19kZWxheV9tc1x1MDAzZDMwMDAwLjBcdTAwMjZhMTF5X2g1X2Fzc29jaWF0ZV9zdXJ2ZXlfcXVlc3Rpb25cdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2FwYl9iXHUwMDNkdHJ1ZVx1MDAyNmFiX2RldF9hcG1cdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2VsX2hcdTAwM2R0cnVlXHUwMDI2YWJfZmtfc2tfY2xcdTAwM2R0cnVlXHUwMDI2YWN0aW9uX2NvbXBhbmlvbl9jZW50ZXJfYWxpZ25fZGVzY3JpcHRpb25cdTAwM2R0cnVlXHUwMDI2YWRfcG9kX2Rpc2FibGVfY29tcGFuaW9uX3BlcnNpc3RfYWRzX3F1YWxpdHlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfYXV0b2hpZGVfb25fcGF1c2VkX3ZpZGVvc1x1MDAzZHRydWVcdTAwMjZhbGxvd19kcm1fb3ZlcnJpZGVcdTAwM2R0cnVlXHUwMDI2YWxsb3dfbGl2ZV9hdXRvcGxheVx1MDAzZHRydWVcdTAwMjZhbGxvd19wb2x0ZXJndXN0X2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3NraXBfbmV0d29ya2xlc3NcdTAwM2R0cnVlXHUwMDI2YWxsb3dfdnA5XzEwODBwX21xX2VuY1x1MDAzZHRydWVcdTAwMjZhbHdheXNfY2FjaGVfcmVkaXJlY3RfZW5kcG9pbnRcdTAwM2R0cnVlXHUwMDI2YWx3YXlzX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNmFubm90YXRpb25fbW9kdWxlX3Zhc3RfY2FyZHNfbG9hZF9sb2dnaW5nX2ZyYWN0aW9uXHUwMDNkMC4wXHUwMDI2YXNzaWduX2RybV9mYW1pbHlfYnlfZm9ybWF0XHUwMDNkdHJ1ZVx1MDAyNmF0dF93ZWJfcmVjb3JkX21ldHJpY3NcdTAwM2R0cnVlXHUwMDI2YXR0YWNoX2V4cGVyaW1lbnRfcHJvcGFnYXRpb25fY29udGV4dF90b19jb25maWdcdTAwM2R0cnVlXHUwMDI2YXR0bXVzaVx1MDAzZHRydWVcdTAwMjZhdXRvcGxheV90aW1lXHUwMDNkMTAwMDBcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9mdWxsc2NyZWVuXHUwMDNkLTFcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9tdXNpY19jb250ZW50XHUwMDNkLTFcdTAwMjZiZ192bV9yZWluaXRfdGhyZXNob2xkXHUwMDNkNzIwMDAwMFx1MDAyNmJsb2NrX3R2aHRtbDVfc2ltcGx5X2VtYmVkZGVkXHUwMDNkdHJ1ZVx1MDAyNmJsb2NrZWRfcGFja2FnZXNfZm9yX3Nwc1x1MDAzZFtdXHUwMDI2Ym90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tc1x1MDAzZDMwMDBcdTAwMjZieXBhc3NfbGljZW5zZV9jaGVja19mb3JfaW5saW5lX211dGVkXHUwMDNkdHJ1ZVx1MDAyNmNhcHRpb25zX3VybF9hZGRfZWlcdTAwM2R0cnVlXHUwMDI2Y2hlY2tfbmF2aWdhdG9yX2FjY3VyYWN5X3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2Y2hlY2tfcGxheWFiaWxpdHlfc3RhdHVzX2luX2ZpbGxlcnNcdTAwM2R0cnVlXHUwMDI2Y2xpZW50X3VpX2VuYWJsZV9tdWx0aV90cmFja19hdWRpb19vbl93ZWJfZW1iZWRkZWRfcGxheWVyXHUwMDNkdHJ1ZVx1MDAyNmNvbXByZXNzaW9uX2Rpc2FibGVfcG9pbnRcdTAwM2QxMFx1MDAyNmNvd19vcHRpbWl6ZV9pZG9tX2NvbXBhdFx1MDAzZHRydWVcdTAwMjZjc2lfb25fZ2VsXHUwMDNkdHJ1ZVx1MDAyNmN1c3RvbV9hY3RpdmVfdmlld190b3NfdGltZW91dF9tc1x1MDAzZDM2MDAwMDBcdTAwMjZkYXNoX21hbmlmZXN0X3ZlcnNpb25cdTAwM2Q1XHUwMDI2ZGVidWdfYmFuZGFpZF9ob3N0bmFtZVx1MDAzZFx1MDAyNmRlYnVnX2JhbmRhaWRfcG9ydFx1MDAzZDBcdTAwMjZkZWJ1Z19zaGVybG9nX3VzZXJuYW1lXHUwMDNkXHUwMDI2ZGVkdXBwaW5nX3NlcnZlcl92ZVx1MDAzZHRydWVcdTAwMjZkZWxoaV9mYXN0X2ZvbGxvd19hdXRvbmF2X3RvZ2dsZVx1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fcGxheWVyX2RlZmF1bHRfdGh1bWJuYWlsX3BlcmNlbnRhZ2VcdTAwM2QwLjBcdTAwMjZkZWxoaV9tb2Rlcm5fcGxheWVyX2Zhc3Rlcl9hdXRvaGlkZV9kZWxheV9tc1x1MDAzZDIwMDBcdTAwMjZkZWxoaV9tb2Rlcm5fcGxheWVyX3BhdXNlX3RodW1ibmFpbF9wZXJjZW50YWdlXHUwMDNkMC42XHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfYmxlbmRpbmdfbW9kZVx1MDAzZFx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2Rpc2FibGVfZnJvc3RlZF9nbGFzc1x1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9ob3Jpem9udGFsX3ZvbHVtZV9jb250cm9sc1x1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9saHNfdm9sdW1lX2NvbnRyb2xzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX3Jlc3BvbnNpdmVfY29tcGFjdF9jb250cm9sc190aHJlc2hvbGRcdTAwM2QwXHUwMDI2ZGVwcmVjYXRlX2NhcHRpb25zX3RyYWNrX2NvdW50X2Rpc3BsYXlcdTAwM2R0cnVlXHUwMDI2ZGVwcmVjYXRlX2RlbGF5X3BpbmdcdTAwM2R0cnVlXHUwMDI2ZGVwcmVjYXRlX3BhaXJfc2VydmxldF9lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNmRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvblx1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2F2MV9zZXR0aW5nXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfY2hpbGRfbm9kZV9hdXRvX2Zvcm1hdHRlZF9zdHJpbmdzXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfbGlmYV9pbl8ya180a1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2xvZ190b192aXNpdG9yX2xheWVyXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcGFjZl9sb2dnaW5nX2Zvcl9tZW1vcnlfbGltaXRlZF90dlx1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3JlZHVjZWRfZnVsbHNjcmVlbl9hdXRvcGxheV9jb3VudGRvd25fZm9yX21pbm9yc1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3JlZWxfaXRlbV93YXRjaF9mb3JtYXRfZmlsdGVyaW5nXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfdG91Y2hfZXZlbnRzX29uX3NraXBfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmR1cmF0aW9uX2JlZm9yZV9wYXVzZV9hZF9icmVha19tc19mb3Jfc3lzdGVtX3BhdXNlXHUwMDNkNTAwMFx1MDAyNmVkZ2VfZW5jcnlwdGlvbl9maWxsX3ByaW1hcnlfa2V5X3ZlcnNpb25cdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2Rlc2t0b2ZmX2VuYWJsZV9hZHNfdG9wX2Jhclx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZGVza3RvcF9lbmFibGVfdm9sdW1lX3NsaWRlclx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX2NoYW5uZWxfc3Vic2NyaWJlX2RlcHJlY2F0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfZW1iZWRfY29uZmlnX2Zvcl9tdXRlZF9hdXRvcGxheVx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX2lubmVydHViZV9zdG9yZVx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpY1x1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX3Blcl92aWRlb19lbWJlZF9jb25maWdcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX3dlYl9saXRlX21vZGVcdTAwM2QxXHUwMDI2ZW5hYmxlX2ExMXlfZm9jdXNfZml4X2Zvcl9tYWNfcGFuZWxfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWJhbmRvbl9waW5nX2Zvcl9zc2RhaVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWNjZXNzX2NvZGVfc2VydmljZV9ycGNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjaV9vbl9scl9mZWVkc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWN0aXZlX3ZpZXdfZGlzcGxheV9hZF9yZW5kZXJlcl93ZWJfaG9tZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWN0aXZlX3ZpZXdfbHJfc2hvcnRzX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19td2ViX3Nob3J0c192aWRlb1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWN0aXZlX3ZpZXdfd2ViX3Nob3J0c192aWRlb1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWRfY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FkX2Rpc2Nsb3N1cmVfYmFubmVyX2ExMXlfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hbnRpc2NyYXBpbmdfd2ViX3BsYXllcl9leHBpcmVkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hcHBfcHJvbW9fZW5kY2FwX2VtbF9vbl90YWJsZXRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F0dGVudGlvbl9sb2dnaW5nX21lYXN1cmVfb25fc2hvd25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F1X3UxNl92ZXJpZnlfYWdlX3BhZ2VcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F1dG9tb3RpdmVfZm9ybV9mYWN0b3JfY2hlY2tcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F2MV9mb3JfeXR2X2xpdmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2JhdGNoZWRfY3Jvc3NfZGV2aWNlX3BpbmdzX2luX2dlbF9mYW5vdXRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NhcGFiaWxpdHlfZm9ybWF0X2ZpbHRlcl9pbl93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2Nhc3RfZm9yX3dlYl91bnBsdWdnZWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlb1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2lwaGVyX2Zvcl9tYW5pZmVzdF91cmxzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGVhbnVwX21hc3RoZWFkX2F1dG9wbGF5X2hhY2tfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfcGFnZV9pZF9oZWFkZXJfZm9yX2ZpcnN0X3BhcnR5X3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfc2xpX2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF92ZV9zcGVjXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdGFfYmFubmVyX29uX3VucGx1Z2dlZF9sclx1MDAzZHRydWVcdTAwMjZlbmFibGVfY3VzdG9tX3BsYXloZWFkX3BhcnNpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92Mlx1MDAzZHRydWVcdTAwMjZlbmFibGVfZGFpX3NkZl9oNV9wcmVyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfZGVmYXVsdF9tb25vX2N0YV9taWdyYXRpb25fd2ViX2NsaWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZHNhX2FkX2JhZGdlX2Zvcl9hY3Rpb25fZW5kY2FwX29uX2FuZHJvaWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RzYV9hZF9iYWRnZV9mb3JfYWN0aW9uX2VuZGNhcF9vbl9pb3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2VuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2VudGl0eV9zdG9yZV9mcm9tX2RlcGVuZGVuY3lfaW5qZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lcnJvcl9jb3JyZWN0aW9uc19pbmZvY2FyZF93ZWJfY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lcnJvcl9jb3JyZWN0aW9uc19pbmZvY2FyZHNfaWNvbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2dldF9yZW1pbmRlcl9idXR0b25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkY2JcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lzX2V4dGVuZGVkX21vbml0b3JpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9tb2Rlcm5fc2tpcF9idXR0b25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9td2ViX2F1ZGlvX3RyYWNrX3BpY2tlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfbXdlYl9rZXlib2FyZF9zaG9ydGN1dHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9vcGVuX2luX25ld190YWJfaWNvbl9mb3Jfc2hvcnRfZHJfZm9yX2Rlc2t0b3Bfc2VhcmNoXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9vdXRfb2Zfc3RvY2tfdGV4dF9hbGxfc3VyZmFjZXNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BhaWRfY29udGVudF9vdmVybGF5X2J1Z2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfcGxheWVyX2NhcHRpb25zX3BlcnNpc3RlbmNlX3N0YXRlX21hY2hpbmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BvX2RlY29yYXRpb25fb2ZfZm9yY2VkX3RyYWNrc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcG9saWN5X2Jhc2VkX2hxYV9maWx0ZXJfaW5fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzX2NvbW1hbmRzX2xyX2ZlZWRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzc19jb21tYW5kc19lbF9kYWlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Byb2dyZXNzX2NvbW1hbmRzX2xyX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHVibGlzaGluZ19yZWdpb25fcGFyYW1faW5fc3VzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wdl9zY3JlZW5fbW9kZXJuX3RleHRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Jwcl90b2tlbl9vbl9sdGxfbG9va3VwXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zY3JlZW5fbWFuYWdlcl9sYXllcl9zZXBhcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfY29tcGFuaW9uX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9oNV9lbmRlbWljX21pZF9wb3N0X3JvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9vbl9oNV91bnBsdWdnZWRfdm9kX21pZHJvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX2Ficlx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJfZm9yX2JhY2tncm91bmRhYmxlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX2Ficl91cmxfZ2VuZXJhdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9yZWFkYWhlYWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwX3RvX25leHRfbWVzc2FnaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwcGFibGVfYWRzX2Zvcl91bnBsdWdnZWRfYWRfcG9kXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3BsYXllcl9jb250cm9sc19zaG93bl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfcGxheWVyX2NvbnRyb2xzX3Nob3duX29uX3dlYl9pbmNyZWFzZWRfdHJpZ2dlcmluZ19zZW5zaXRpdml0eVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9zcGVlZG1hc3Rlcl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NwbGl0X3NjcmVlbl9hZF9iYXNlbGluZV9leHBlcmllbmNlX2VuZGVtaWNfbGl2ZV9oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc3ViZnJhZ21lbnRlZF9jYXB0aW9uX2ZpbHRlcmluZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfc3VwZXhfbXdlYl9kZW1vX3dlYmZlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV90b19jYWxsX3BsYXlyZWFkeV9iYWNrZW5kX2RpcmVjdGx5XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV91bmlmaWVkX2FjdGlvbl9lbmRjYXBfb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92ZW5vbV9ub3RpZmljYXRpb25fY2FjaGVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9idXR0b25fZ3JvdXBfZm9yX2Rlc2t0b3Bfc2VhcmNoXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92b2ljZV9ib29zdF9mZWF0dXJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92cDlfYXBwbGV0djVfb25fc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfZGVsaGlfaWNvbnNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfbWVkaWFfc2Vzc2lvbl9tZXRhZGF0YV9maXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9wcmVtaXVtX3ZhcmlzcGVlZF91cHNlbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9zaG9ydHNfYXVkaW9fdHJhY2tcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl90aWVyZWRfZ2VsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93aXpfcXVldWVfZWZmZWN0X2FuZF9vbl9pbml0X2luaXRpYWxfcnVuc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfeXR2X2NzZGFpX3ZwOVx1MDAzZHRydWVcdTAwMjZlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2FsbG93ZWRfdmlkZW9faWRzXHUwMDNkW09KbHdJZG9GejlBLCBBcktiQXgxSy0yVSwgbV9kaE1TdlVDSWMsIEMxRGhwSjA3WnVFLCBOcTJ3WWxXRnVjZywgSkM3ZjNFVURhcXcsIHZyM1h5VkNSNFQwLCBnQ05lRFdDSTB2bywga0JUdWRtNGdlTXMsIEZ4c2ZWWDZCMU1rLCB5bFlKU0JVZ2FNQSwgVldoUTZ4c3BuU2MsIFJIVWF1TWNZbFgwLCBjYjEyS21NTURKQSwgV0p4RWpfaHJwU2csIGV1aFktdG1nOXg4LCBUbElWSTJFVzdSMCwgTUlOZnZPWDRCekksIHlIbVBXemtoY1o4LCBwM3cxdk85WHYyNCwgVmxhQ25wMWZ4STgsIC1PZkEwNEJENEdBLCAxb2RZM0lZc05ubywgd2lUVHJWcVJWRHcsIERmbTJyQi1uUTlZLCBRbTFGdHo4bFZuSSwgOWl0QXhxX1NHRE0sIHlGSTN3cFh5NHpBLCBQeTVKWVpYSnZ6bywgYjR0RTVhS2h0bGcsIDVKRHhqc0FWYUdrLCBlVW1mR1BhenVFTSwgVzhuVGhxNjJWYjQsIFZManZTM3VmbFhjLCBCZmRMS3ZKQk1fYywgd2VMWGR3VmpTeHMsIDJKYS11UE9rejdJLCBBOVFCVkZFWXhPUSwgay1aRlFra0hVZmMsIHd1dTBEMjBBWnFJLCBfSHZpU3lDN3pTVSwgX194T3pfUTNxUjQsIHcyc0I4N2pMRTFJLCA4clRURU1kTWg4USwgLWs2bXBnbXhlclUsIDk3Y2tuckp5TFdnLCAyRkl0Vnl4TE5OYywgb3RueGZjc0dFLVksIHM5eEwxRHBCc2ZRLCB3ZkFHQlZnVXJybywgblhINlR4US1zaTgsIFdpSTFYZ19uRXU4LCAzZmxhc0dWVXJDQSwgZURZX0hlOTJsY1UsIGE0N2NrWEtaanhJLCBJNldSWGVLWks2NCwgVDlKNURxUDJES3csIEt0a19JMHBVcEc4LCBlUTJjekdxT0NQZywgaExtVTQ5aG1aNGMsIDdmN01nYU1FN1NjLCBRQjVCTmRCRnVqRSwgQUdodE1VX2ZpNzAsIHAyUmFRVVJSQXdBLCBtel9fRU1ZcFdQdywgNmpoTHVTUVZJeFUsIHJDODN2X3V1SXFvLCA2RGFHZEpSX2VMZywgY200M3VYamZ2WlksIFkxSnNQcG0yYm1RLCB6MDk3alB5S2VlbywgVFlWWldVVGpreDAsIFZIYUF2ZW5mVERrLCB0djlPVV81UTBwUSwgNm9LQ3Z6bTZIbWcsIEJFRlVFUmhUMG4wLCB1VE4tZXUwLU9YRSwgaGJhcHJoUjd6VG8sIDJDVjBWLW9NTkZNLCB1OGRTT0tvTkpwMCwgSDhNcXF3bUZzeFksIElza2ttTlBKZFVrLCBYOUhfRXpwREdYUV1cdTAwMjZlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX21heF93aW5kb3dfc2Vjb25kc1x1MDAzZDYwXHUwMDI2ZXhwYW5kX21lZGlhdGVrX2RlbnlsaXN0X3RvX2FsbF9saXZlX3ZwOV9pbl9iYWNrZW5kX2V4cGVyaW1lbnRcdTAwM2RbXVx1MDAyNmV4cG9ydF9uZXR3b3JrbGVzc19vcHRpb25zXHUwMDNkdHJ1ZVx1MDAyNmV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX2Fkc191c3RyZWFtZXJfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmZpbGxfbGl2ZV9yZXF1ZXN0X2NvbmZpZ19pbl91c3RyZWFtZXJfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmZpbGxfc2luZ2xlX3ZpZGVvX3dpdGhfbm90aWZ5X3RvX2xhc3JcdTAwM2R0cnVlXHUwMDI2ZmlsdGVyX3ZiX3dpdGhvdXRfbm9uX3ZiX2VxdWl2YWxlbnRzXHUwMDNkdHJ1ZVx1MDAyNmZpbHRlcl92cDlfZm9yX2xpdmVfZGFpXHUwMDNkdHJ1ZVx1MDAyNmZpeF9hZF9taW5pcGxheWVyX2NvbnRyb2xzX3JlbmRlcmluZ1x1MDAzZHRydWVcdTAwMjZmaXhfYWRzX3RyYWNraW5nX2Zvcl9zd2ZfY29uZmlnX2RlcHJlY2F0aW9uX213ZWJcdTAwM2R0cnVlXHUwMDI2Zml4X2g1X3RvZ2dsZV9idXR0b25fYTExeVx1MDAzZHRydWVcdTAwMjZmaXhfc3VydmV5X2NvbG9yX2NvbnRyYXN0X29uX2Rlc3RvcFx1MDAzZHRydWVcdTAwMjZmcmVzY2FfcG9sbGluZ19kZWxheV9vdmVycmlkZVx1MDAzZDBcdTAwMjZnYWJfcmV0dXJuX3NhYnJfc3NkYWlfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmdlbF9taW5fYmF0Y2hfc2l6ZVx1MDAzZDNcdTAwMjZnZWxfcXVldWVfdGltZW91dF9tYXhfbXNcdTAwM2Q2MDAwMFx1MDAyNmd2aV9jaGFubmVsX2NsaWVudF9zY3JlZW5cdTAwM2R0cnVlXHUwMDI2aDVfY29tcGFuaW9uX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmg1X2VuYWJsZV9hZF9tYnNcdTAwM2R0cnVlXHUwMDI2aDVfaW5wbGF5ZXJfZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3NcdTAwM2R0cnVlXHUwMDI2aDVfcmVzZXRfY2FjaGVfYW5kX2ZpbHRlcl9iZWZvcmVfdXBkYXRlX21hc3RoZWFkXHUwMDNkdHJ1ZVx1MDAyNmg1X3plcm9fZHVyYXRpb25fY3VlX3JhbmdlX2Zvcl9kaWJzXHUwMDNkdHJ1ZVx1MDAyNmhmcl9kcm9wcGVkX2ZyYW1lcmF0ZV9mYWxsYmFja190aHJlc2hvbGRcdTAwM2QwXHUwMDI2aGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNVx1MDAzZHRydWVcdTAwMjZobHNfdXNlX25ld19jb2RlY3Nfc3RyaW5nX2FwaVx1MDAzZHRydWVcdTAwMjZodG1sNV9hZF90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X2FkYXB0YXRpb25fc3RlcF9jb3VudFx1MDAzZDBcdTAwMjZodG1sNV9hZHNfcHJlcm9sbF9sb2NrX3RpbWVvdXRfZGVsYXlfbXNcdTAwM2QxNTAwMFx1MDAyNmh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWxsb3dfcHJlbG9hZGluZ193aXRoX2lkbGVfb25seV9uZXR3b3JrX2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ZpZGVvX2tleWZyYW1lX3dpdGhvdXRfYXVkaW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfY29uc3RyYWludHNfaW5fY2xpZW50X2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X21pbl9mYWlsdXJlc1x1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9zdGFydF90aW1lX3dpdGhpbl9hZHNfZm9yX3NzZGFpX3RyYW5zaXRpb25zXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2F0cl9kaXNhYmxlX2ZvcmNlX2ZhbGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2F0dF9wbGF5YmFja190aW1lb3V0X21zXHUwMDNkMzAwMDBcdTAwMjZodG1sNV9hdHRhY2hfbnVtX3JhbmRvbV9ieXRlc190b19iYW5kYWlkXHUwMDNkMFx1MDAyNmh0bWw1X2F0dGFjaF9wb190b2tlbl90b19iYW5kYWlkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9hdXRvbmF2X3F1YWxpdHlfY2FwXHUwMDNkNzIwXHUwMDI2aHRtbDVfYXV0b3BsYXlfZGVmYXVsdF9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9hdXhpbGlhcnlfZXN0aW1hdGVfd2VpZ2h0XHUwMDNkMC4wXHUwMDI2aHRtbDVfYXYxX29yZGluYWxfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfYmxvY2tfcGlwX3NhZmFyaV9kZWxheVx1MDAzZDBcdTAwMjZodG1sNV9ieXBhc3NfY29udGVudGlvbl9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfYnl0ZXJhdGVfc29mdF9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfY2hlY2tfZm9yX2lkbGVfbmV0d29ya19pbnRlcnZhbF9tc1x1MDAzZDEwMDBcdTAwMjZodG1sNV9jaGlwc2V0X3NvZnRfY2FwXHUwMDNkODE5Mlx1MDAyNmh0bWw1X2NsYW1wX2ludmFsaWRfc2Vla190b19taW5fc2Vla2FibGVfdGltZVx1MDAzZHRydWVcdTAwMjZodG1sNV9jb25zdW1lX2FsbF9idWZmZXJlZF9ieXRlc19vbmVfcG9sbFx1MDAzZHRydWVcdTAwMjZodG1sNV9jb250aW51b3VzX2dvb2RwdXRfcHJvYmVfaW50ZXJ2YWxfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZDZkZTRfY2xvdWRfcHJvamVjdF9udW1iZXJcdTAwM2Q4Njg2MTg2NzY5NTJcdTAwMjZodG1sNV9kZWJ1Z19kYXRhX2xvZ19wcm9iYWJpbGl0eVx1MDAzZDAuMFx1MDAyNmh0bWw1X2RlY29kZV90b190ZXh0dXJlX2NhcFx1MDAzZHRydWVcdTAwMjZodG1sNV9kZWZhdWx0X2FkX2dhaW5cdTAwM2QwLjVcdTAwMjZodG1sNV9kZWZhdWx0X2F2MV90aHJlc2hvbGRcdTAwM2QwXHUwMDI2aHRtbDVfZGVmYXVsdF9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9kZWZlcl9mZXRjaF9hdHRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZGVsYXllZF9yZXRyeV9jb3VudFx1MDAzZDFcdTAwMjZodG1sNV9kZWxheWVkX3JldHJ5X2RlbGF5X21zXHUwMDNkNTAwMFx1MDAyNmh0bWw1X2RlcHJlY2F0ZV9hZGFwdGl2ZV9mb3JtYXRzX3N0cmluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9kZXByZWNhdGVfYWRzZXJ2aWNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlcHJlY2F0ZV9tYW5pZmVzdGZ1bF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9kZXByZWNhdGVfdmlkZW9fdGFnX3Bvb2xcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVza3RvcF92cjE4MF9hbGxvd19wYW5uaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RmX2Rvd25ncmFkZV90aHJlc2hcdTAwM2QwLjZcdTAwMjZodG1sNV9kaXNhYmxlX2JhbmR3aWR0aF9jb2ZhY3RvcnNfZm9yX3NhYnJfbGl2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfbG9vcF9yYW5nZV9mb3Jfc2hvcnRzX2Fkc1x1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX25vbl9jb250aWd1b3VzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfcGVha19zaGF2ZV9mb3Jfb25lc2llXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfdXN0cmVhbWVyX2NvbnN0cmFpbnRfZm9yX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV93ZWJfc2FmYXJpX2RhaVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNwbGF5ZWRfZnJhbWVfcmF0ZV9kb3duZ3JhZGVfdGhyZXNob2xkXHUwMDNkNDVcdTAwMjZodG1sNV9kcm1fYnl0ZXJhdGVfc29mdF9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfZHJtX2NoZWNrX2FsbF9rZXlfZXJyb3Jfc3RhdGVzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RybV9jcGlfbGljZW5zZV9rZXlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZHJtX2xpdmVfYnl0ZXJhdGVfc29mdF9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfZWFybHlfbWVkaWFfZm9yX3NoYXJwZXJfc2hvcnRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hYzNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2F1ZGlvX3RyYWNrX3N0aWNraW5lc3NcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2F1ZGlvX3RyYWNrX3N0aWNraW5lc3NfcGhhc2VfdHdvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9jYXB0aW9uX2NoYW5nZXNfZm9yX21vc2FpY1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfY29tcG9zaXRlX2VtYmFyZ29cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNF9jb2xkX3N0YXJ0X2FuZF9lcnJvclx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRfaWRsZV9wcmlvcml0eV9qb2JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2RyY1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZHJjX3RvZ2dsZV9hcGlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2VhYzNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2VtYmVkZGVkX3BsYXllcl92aXNpYmlsaXR5X3NpZ25hbHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2VuY3J5cHRlZF9hdjFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX29kdWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfZm9ybWF0X3NlbGVjdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9mcm9tX3dhdGNoX3NlcnZlclx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9ob3N0X2ZhbGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX29uX3l0X2VtYmVkc1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl92b2Rfc3RyZWFtaW5nX3hoclx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2VydmVyX2RyaXZlbl9yZXF1ZXN0X2NhbmNlbGxhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc3BzX3JldHJ5X2JhY2tvZmZfbWV0YWRhdGFfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NzZGFpX3RyYW5zaXRpb25fd2l0aF9vbmx5X2VudGVyX2N1ZXJhbmdlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV90cmlnZ2VyaW5nX2N1ZXBvaW50X2Zvcl9zbG90XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV90dm9zX2Rhc2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3R2b3NfZW5jcnlwdGVkX3ZwOVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmNvdXJhZ2VfYXJyYXlfY29hbGVzY2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9maWxsX2RlZmF1bHRfbW9zYWljX2F1ZGlvX3RyYWNrX2lkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2ZpeGVkX21lZGlhX2R1cmF0aW9uX2Zvcl9yZXF1ZXN0XHUwMDNkMFx1MDAyNmh0bWw1X2ZsdXNoX2luZGV4X29uX3VwZGF0ZWRfdGltZXN0YW1wX29mZnNldFx1MDAzZHRydWVcdTAwMjZodG1sNV9mb3JjZV9kZWJ1Z19kYXRhX2Zvcl9jbGllbnRfdG1wX2xvZ3NcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZm9yY2Vfc2Ficl9mcm9tX3dhdGNoX3NlcnZlcl9mb3JfZGZzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9mb3J3YXJkX2NsaWNrX3RyYWNraW5nX3BhcmFtc19vbl9yZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19hZF9hdXRvcGxheV9vbl92aWRlb190b19hZF9vbmx5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXNcdTAwM2QyMDBcdTAwMjZodG1sNV9nYXBsZXNzX2hhbmRvZmZfY2xvc2VfZW5kX2xvbmdfcmVidWZmZXJfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfaGFuZG9mZl9jbG9zZV9lbmRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX2xvb3Bfc2Vla19vZmZzZXRfaW5fbWlsbGlcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19zbG93X3NlZWtfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nZW5lcmF0ZV9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2xfZnBzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzXHUwMDNkMFx1MDAyNmh0bWw1X2hkY3BfcHJvYmluZ19zdHJlYW1fdXJsXHUwMDNkXHUwMDI2aHRtbDVfaGVhZF9taXNzX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfaGlnaF9yZXNfbG9nZ2luZ19wZXJjZW50XHUwMDNkMC4wMVx1MDAyNmh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9ob3BlbGVzc19zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X2h1bGlfc3NkYWlfdXNlX3BsYXliYWNrX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lkbGVfcmF0ZV9saW1pdF9tc1x1MDAzZDBcdTAwMjZodG1sNV9pZ25vcmVfcGFydGlhbF9zZWdtZW50X2Zyb21fbGl2ZV9yZWFkYWhlYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaWdub3JlX3NhYnJzZWVrX2R1cmluZ19hZHNraXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaW5uZXJ0dWJlX2hlYXJ0YmVhdHNfZm9yX2ZhaXJwbGF5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lubmVydHViZV9oZWFydGJlYXRzX2Zvcl93aWRldmluZVx1MDAzZHRydWVcdTAwMjZodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0XHUwMDNkMy4wXHUwMDI2aHRtbDVfanVtYm9fdWxsX25vbnN0cmVhbWluZ19tZmZhX21zXHUwMDNkNDAwMFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRcdTAwM2QxLjNcdTAwMjZodG1sNV9rYWJ1a2lfZHJtX2xpdmVfNTFfZGVmYXVsdF9vZmZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbGljZW5zZV9jb25zdHJhaW50X2RlbGF5XHUwMDNkNTAwMFx1MDAyNmh0bWw1X2xpdmVfYWJyX2hlYWRfbWlzc19mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfYWJyX3JlcHJlZGljdF9mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfY2h1bmtfcmVhZGFoZWFkX3Byb3hpbWFfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9saXZlX3VsdHJhX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3dcdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9jaHVua19vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9wcm94aW1hX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xvZ19hdWRpb19hYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX2V4cGVyaW1lbnRfaWRfZnJvbV9wbGF5ZXJfcmVzcG9uc2VfdG9fY3RtcFx1MDAzZFx1MDAyNmh0bWw1X2xvZ19maXJzdF9zc2RhaV9yZXF1ZXN0c19raWxsc3dpdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ19yZWJ1ZmZlcl9ldmVudHNcdTAwM2Q1XHUwMDI2aHRtbDVfbG9nX3NhYnJfbWFsZm9ybWVkX2NvbmZpZ19wcm90b19zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YVx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfdnNzX2V4dHJhX2xyX2NwYXJhbXNfZnJlcVx1MDAzZFx1MDAyNmh0bWw1X2xvbmdfcmVidWZmZXJfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX3RocmVzaG9sZF9tc1x1MDAzZDMwMDAwXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOV9vdGZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J5dGVyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X21heF9kaXNjb250aW51aXR5X3Jld3JpdGVfY291bnRcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X2RyaWZ0X3Blcl90cmFja19zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2hlYWRtX2Zvcl9zdHJlYW1pbmdfeGhyXHUwMDNkMFx1MDAyNmh0bWw1X21heF9saXZlX2R2cl93aW5kb3dfcGx1c19tYXJnaW5fc2Vjc1x1MDAzZDQ2ODAwLjBcdTAwMjZodG1sNV9tYXhfcXVhbGl0eV9zZWxfdXBncmFkZVx1MDAzZDBcdTAwMjZodG1sNV9tYXhfcmVkaXJlY3RfcmVzcG9uc2VfbGVuZ3RoXHUwMDNkODE5Mlx1MDAyNmh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9tYXhfdmVydGljYWxfcmVzb2x1dGlvblx1MDAzZDBcdTAwMjZodG1sNV9tYXhpbXVtX3JlYWRhaGVhZF9zZWNvbmRzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWVkaWFfZnVsbHNjcmVlblx1MDAzZHRydWVcdTAwMjZodG1sNV9tZWRpYV90aW1lX3dlaWdodF9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWZjX21heF9xdWV1ZV9sZW5ndGhcdTAwM2QxXHUwMDI2aHRtbDVfbWZjX21pbl9idWZmZXJfaGVhbHRoXHUwMDNkMFx1MDAyNmh0bWw1X21mY19zZWNzX2xlZnRfdG9fc3RhcnRfcHJlbG9hZFx1MDAzZDBcdTAwMjZodG1sNV9taW5fZmFpbHVyZXNfdG9fZGVsYXlfcmV0cnlcdTAwM2QzXHUwMDI2aHRtbDVfbWluX21lZGlhX2R1cmF0aW9uX2Zvcl9hcHBlbmRfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9tZWRpYV9kdXJhdGlvbl9mb3JfY2Ficl9zbGljZVx1MDAzZDAuMDFcdTAwMjZodG1sNV9taW5fcGxheWJhY2tfYWR2YW5jZV9mb3Jfc3RlYWR5X3N0YXRlX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9jYXBfc2Vjc1x1MDAzZDYwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fc2Vjb25kc19iZXR3ZWVuX2Zvcm1hdF9zZWxlY3Rpb25zXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX3NlbGVjdGFibGVfcXVhbGl0eV9vcmRpbmFsXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2J1ZmZlcmVkX21lZGlhX2R1cmF0aW9uX2Zvcl9saXZlX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9zZWNzXHUwMDNkMS4yXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfZHVyYXRpb25fbGl2ZV9zZWNzXHUwMDNkMC4yNVx1MDAyNmh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zXHUwMDNkMFx1MDAyNmh0bWw1X21pbl91cGdyYWRlX2hlYWx0aF9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21vY2tfY29udGVudF9iaW5kaW5nX2Zvcl9zZXNzaW9uX3Rva2VuXHUwMDNkXHUwMDI2aHRtbDVfbW92ZV9kaXNhYmxlX2FpcnBsYXlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbm9fcGxhY2Vob2xkZXJfcm9sbGJhY2tzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X25vbl9vbmVzaWVfYXR0YWNoX3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfZG93bmxvYWRfdGltZW91dF9yZXRyeV9saW1pdFx1MDAzZDRcdTAwMjZodG1sNV9vZmZsaW5lX2ZhaWx1cmVfcmV0cnlfbGltaXRcdTAwM2QyXHUwMDI2aHRtbDVfb2ZmbGluZV9wbGF5YmFja19wb3NpdGlvbl9zeW5jXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfcHJldmVudF9yZWRvd25sb2FkX2Rvd25sb2FkZWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2NoZWNrX3RpbWVvdXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2RlZmVyX2NvbnRlbnRfbG9hZGVyX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9saXZlX3R0bF9zZWNzXHUwMDNkOFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX21heF9sYWN0X21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9yZWRpcmVjdG9yX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfb25lc2llX3NlbmRfc3RyZWFtZXJfY29udGV4dFx1MDAzZHRydWVcdTAwMjZodG1sNV9vdmVycmlkZV9taWNyb19kaXNjb250aW51aXRpZXNfdGhyZXNob2xkX21zXHUwMDNkLTFcdTAwMjZodG1sNV9wYWNlZF9wb2xsX21pbl9oZWFsdGhfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcGFjZWRfcG9sbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9wYXVzZV9vbl9ub25mb3JlZ3JvdW5kX3BsYXRmb3JtX2Vycm9yc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wZWFrX3NoYXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BlcmZfY2FwX292ZXJyaWRlX3N0aWNreVx1MDAzZHRydWVcdTAwMjZodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3JcdTAwM2QzNjBcdTAwMjZodG1sNV9wZXJzZXJ2ZV9hdjFfcGVyZl9jYXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGljdHVyZV9pbl9waWN0dXJlX2xvZ2dpbmdfb25yZXNpemVfcmF0aW9cdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV9tYXhfYnVmZmVyX2hlYWx0aF9vdmVyc2VuZF9kdXJhdGlvbl9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX3doaXRlbGlzdGVkX2Zvcl9mcmFtZV9hY2N1cmF0ZV9zZWVrc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfYXR0X2luaXRpYWxfZGVsYXlfbXNcdTAwM2QzMDAwXHUwMDI2aHRtbDVfcGxheWVyX2F0dF9yZXRyeV9kZWxheV9tc1x1MDAzZDE1MDBcdTAwMjZodG1sNV9wbGF5ZXJfYXV0b25hdl9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9lczZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX21pbl9idWlsZF9jbFx1MDAzZC0xXHUwMDI2aHRtbDVfcGxheWVyX3ByZWxvYWRfYWRfZml4XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Bvc3RfaW50ZXJydXB0X3JlYWRhaGVhZFx1MDAzZDIwXHUwMDI2aHRtbDVfcHJlZmVyX2xhbmd1YWdlX292ZXJfY29kZWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlZmVyX3NlcnZlcl9id2UzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWxvYWRfYmVmb3JlX2luaXRpYWxfc2Vla193aXRoX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlbG9hZF93YWl0X3RpbWVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3ByZXZlbnRfbW9iaWxlX2JhY2tncm91bmRfcGxheV9vbl9ldmVudF9zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJvYmVfcHJpbWFyeV9kZWxheV9iYXNlX21zXHUwMDNkMFx1MDAyNmh0bWw1X3Byb2Nlc3NfYWxsX2VuY3J5cHRlZF9ldmVudHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcW9lX3Byb3RvX21vY2tfbGVuZ3RoXHUwMDNkMFx1MDAyNmh0bWw1X3F1ZXJ5X3N3X3NlY3VyZV9jcnlwdG9fZm9yX2FuZHJvaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmFuZG9tX3BsYXliYWNrX2NhcFx1MDAzZDBcdTAwMjZodG1sNV9yZWNvcmRfaXNfb2ZmbGluZV9vbl9wbGF5YmFja19hdHRlbXB0X3N0YXJ0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlY29yZF91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbG9hZF9ieV9rYWJ1a2lfYXBwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9jb21tYW5kX3RyaWdnZXJlZF9jb21wYW5pb25zXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9ub3Rfc2VydmFibGVfY2hlY2tfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfZmF0YWxfZHJtX3Jlc3RyaWN0ZWRfZXJyb3Jfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfc2xvd19hZHNfYXNfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwcmVkaWN0X2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X3JlcXVlc3Rfb25seV9oZHJfb3Jfc2RyX2tleXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX21heF9rYlx1MDAzZDBcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfbWluX2tiXHUwMDNkMFx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcmVzZXRfYmFja29mZl9vbl91c2VyX3NlZWtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVzb3VyY2VfYmFkX3N0YXR1c19kZWxheV9zY2FsaW5nXHUwMDNkMS41XHUwMDI2aHRtbDVfcmVzdHJpY3Rfc3RyZWFtaW5nX3hocl9vbl9zcWxlc3NfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfZG93bmxvYWRzX2Zvcl9leHBpcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X29uX2RybV9rZXlfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfb25fZHJtX3VuYXZhaWxhYmxlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X3F1b3RhX2V4Y2VlZGVkX3ZpYV9zZWVrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHVybl9wbGF5YmFja19pZl9hbHJlYWR5X3ByZWxvYWRlZFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2VuYWJsZV9zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mZXRjaF9vbl9pZGxlX25ldHdvcmtfcHJlbG9hZGVkX3BsYXllcnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mb3JjZV9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX25vcm1hbF9sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xpdmVfdWx0cmFfbG93X2xhdGVuY3lfc3RyZWFtaW5nX3hoclx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xvZ19zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25fb25lc2llX21pc21hdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbWluX21lZGlhX2J5dGVzX2ZhY3Rvcl90b19hcHBlbmRfZm9yX3N0cmVhbVx1MDAzZDAuMFx1MDAyNmh0bWw1X3NhYnJfbm9uX3N0cmVhbWluZ194aHJfcmVxdWVzdF9jYW5jZWxsYXRpb25fdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9zYWJyX25vbl9zdHJlYW1pbmdfeGhyX3RpbWVvdXRfcmV0cnlfbGltaXRcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3JlcG9ydF9yZXF1ZXN0X2NhbmNlbGxhdGlvbl9pbmZvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfcmVxdWVzdF9saW1pdF9wZXJfcGVyaW9kXHUwMDNkMjBcdTAwMjZodG1sNV9zYWJyX3JlcXVlc3Rfb25fY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3NlZWtfbm9fc2hpZnRfdG9sZXJhbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc2tpcF9jbGllbnRfYXVkaW9faW5pdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9zdWNjZXNzZnVsX3Byb2JlX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfdW51c2VkX2Jsb2F0X3NpemVfYnl0ZXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ftc3VuZ19rYW50X2xpbWl0X21heF9iaXRyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDgwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX2RlbGF5X21zXHUwMDNkMTIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX3Nob3J0c19kZWxheV9tc1x1MDAzZDIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19tZWRpYV9lbGVtZW50X3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfZWxlbWVudF9zaG9ydHNfcmV1c2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zZWVrX3NldF9jbXRfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2aHRtbDVfc2Vla190aW1lb3V0X2RlbGF5X21zXHUwMDNkMjAwMDBcdTAwMjZodG1sNV9zZW5kX2N1ZXBvaW50X2lkX2luX2FkX2JyZWFrX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VuZF9zZXJpYWxpemVkX29uZV90aW1lX3FvZV9jb250ZXh0X2RhdGFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9zZXJ2ZXJfc3RpdGNoZWRfZGFpX2RlY29yYXRlZF91cmxfcmV0cnlfbGltaXRcdTAwM2Q1XHUwMDI2aHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zXHUwMDNkOTAwMDAwXHUwMDI2aHRtbDVfc2V0X3ZpZGVvX2lkX2FzX2V4cGVjdGVkX2NvbnRlbnRfYmluZGluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX25leHRfYnVmZmVyX2luX3NlY29uZHNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfbm9fZ2xsYXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zaG93X2RyY190b2dnbGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2ltcGxpZmllZF9iYWNrdXBfdGltZW91dF9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2tpcF9lbXB0eV9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9za2lwX3Nsb3dfYWRfZGVsYXlfbXNcdTAwM2QxNTAwMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfbm9fbWVkaWFfc291cmNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfdGltZW91dF9kZWxheV9tc1x1MDAzZDIwMDAwXHUwMDI2aHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3NkYWlfZmFpbHVyZV9yZXRyeV9saW1pdFx1MDAzZDBcdTAwMjZodG1sNV9zc2RhaV9sb2dfbWlzc2luZ19hZF9jb25maWdfcmVhc29uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0YWxsX2ZhY3Rvclx1MDAzZDAuMFx1MDAyNmh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RpY2t5X2R1cmF0aW9uX21vc1x1MDAzZDBcdTAwMjZodG1sNV9zdG9yZV94aHJfaGVhZGVyc19yZWFkYWJsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfcmVzaWxpZW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfeGhyX3RpbWVfYmFzZWRfY29uc29saWRhdGlvbl9tc1x1MDAzZC0xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbG9hZF9zcGVlZF9jaGVja19pbnRlcnZhbFx1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3NcdTAwM2QwLjI1XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjc19vbl90aW1lb3V0XHUwMDNkMC4xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2xvYWRfc3BlZWRcdTAwM2QxLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9zZWVrX2xhdGVuY3lfZnVkZ2VcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRfYnVmZmVyX2hlYWx0aF9zZWNzXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGltZW91dF9zZWNzXHUwMDNkMi4wXHUwMDI2aHRtbDVfdHJhY2tfb3ZlcnNob290XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3RyYW5zZmVyX3Byb2Nlc3NpbmdfbG9nc19pbnRlcnZhbFx1MDAzZDEwMDBcdTAwMjZodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29ya1x1MDAzZHRydWVcdTAwMjZodG1sNV91Z2NfbGl2ZV9hdWRpb181MVx1MDAzZHRydWVcdTAwMjZodG1sNV91Z2Nfdm9kX2F1ZGlvXzUxXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VucmVwb3J0ZWRfc2Vla19yZXNlZWtfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfdXBkYXRlX3RpbWVfb25fc2Vla2VkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfaW5pdF9zZWxlY3RlZF9hdWRpb1x1MDAzZHRydWVcdTAwMjZodG1sNV91c2Vfbm9uX2FjdGl2ZV9icm9hZGNhc3RfZm9yX3Bvc3RfbGl2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfcG9zdF9mb3JfbWVkaWFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3NoYXJlZF9vd2xfaW5zdGFuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wX3JlcXVlc3Rfc2xpY2VyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV92aWRlb19xdWFsaXR5X2NhcF9mb3JfdXN0cmVhbWVyX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3ZpZGVvX3RyYW5zaXRpb25fZW5kcG9pbnRfaGVhcnRiZWF0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ZpZGVvX3RiZF9taW5fa2JcdTAwM2QwXHUwMDI2aHRtbDVfdmlld3BvcnRfdW5kZXJzZW5kX21heGltdW1cdTAwM2QwLjBcdTAwMjZodG1sNV92b2x1bWVfc2xpZGVyX3Rvb2x0aXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd2ViX3BvX2V4cGVyaW1lbnRfaWRzXHUwMDNkW11cdTAwMjZodG1sNV93ZWJfcG9fcmVxdWVzdF9rZXlcdTAwM2RcdTAwMjZodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfd29mZmxlX3Jlc3VtZVx1MDAzZHRydWVcdTAwMjZodG1sNV93b3JrYXJvdW5kX2RlbGF5X3RyaWdnZXJcdTAwM2R0cnVlXHUwMDI2aWRiX2ltbWVkaWF0ZV9jb21taXRcdTAwM2R0cnVlXHUwMDI2aWdub3JlX292ZXJsYXBwaW5nX2N1ZV9wb2ludHNfb25fZW5kZW1pY19saXZlX2h0bWw1XHUwMDNkdHJ1ZVx1MDAyNmlsX2F0dGFjaF9jYWNoZV9saW1pdFx1MDAzZHRydWVcdTAwMjZpbF9wYXlsb2FkX3NjcmFwaW5nXHUwMDNkXHUwMDI2aWxfdXNlX3ZpZXdfbW9kZWxfbG9nZ2luZ19jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNmluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXRcdTAwM2QyMDAwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2xpY2Vuc2Vfc3RhdHVzXHUwMDNkMFx1MDAyNmlvc19hbmRfYW5kcm9pZF9mcmVzY2FfcG9sbGluZ19kZWxheV9vdmVycmlkZVx1MDAzZDBcdTAwMjZpdGRybV9hbHdheXNfdXNlX3dpZGV2aW5lX3Nka1x1MDAzZHRydWVcdTAwMjZpdGRybV9kaXNhYmxlX2V4dGVybmFsX2tleV9yb3RhdGlvbl9zeXN0ZW1faWRzXHUwMDNkW11cdTAwMjZpdGRybV9lbmFibGVfcmV2b2NhdGlvbl9yZXBvcnRpbmdcdTAwM2R0cnVlXHUwMDI2aXRkcm1faW5qZWN0ZWRfbGljZW5zZV9zZXJ2aWNlX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aXRkcm1fc2V0X3NhYnJfbGljZW5zZV9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3VzZV9mYWlycGxheV9zZGtcdTAwM2R0cnVlXHUwMDI2aXRkcm1fdXNlX3dpZGV2aW5lX3Nka19mb3JfcHJlbWl1bV9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3dpZGV2aW5lX2hhcmRlbmVkX3ZtcF9tb2RlXHUwMDNkbG9nXHUwMDI2anNvbl9jb25kZW5zZWRfcmVzcG9uc2VcdTAwM2R0cnVlXHUwMDI2a2V2bGFyX2NvbW1hbmRfaGFuZGxlcl9jb21tYW5kX2Jhbmxpc3RcdTAwM2RbXVx1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9pZGVhbF90aWxlX3dpZHRoX3BlcmNlbnRhZ2VcdTAwM2QwLjI3XHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21heF9yb3dzXHUwMDNkMlx1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9tYXhfd2lkdGhcdTAwM2Q1MDBcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWluX3dpZHRoXHUwMDNkMjAwXHUwMDI2a2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX2V4cGFuZF90b3BcdTAwM2R0cnVlXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXJfcGxheV9wYXVzZV9vbl9zY3JpbVx1MDAzZHRydWVcdTAwMjZrZXZsYXJfcGxheWJhY2tfYXNzb2NpYXRlZF9xdWV1ZVx1MDAzZHRydWVcdTAwMjZsYXVuY2hfbGljZW5zZV9zZXJ2aWNlX2FsbF9vdHRfdmlkZW9zX2F1dG9tYXRpY19mYWlsX29wZW5cdTAwM2R0cnVlXHUwMDI2bGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZVx1MDAzZHRydWVcdTAwMjZsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyXHUwMDNkdHJ1ZVx1MDAyNmxpdmVfY2h1bmtfcmVhZGFoZWFkXHUwMDNkM1x1MDAyNmxvZ19jbGlja193aXRoX2xheWVyX2Zyb21fZWxlbWVudF9pbl9jb21tYW5kX2hhbmRsZXJcdTAwM2R0cnVlXHUwMDI2bG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uXHUwMDNkMC4xXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZVx1MDAzZHRydWVcdTAwMjZtYW5pZmVzdGxlc3NfcG9zdF9saXZlX3VmcGhcdTAwM2R0cnVlXHUwMDI2bWF4X2JvZHlfc2l6ZV90b19jb21wcmVzc1x1MDAzZDUwMDAwMFx1MDAyNm1heF9jZGZlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZtYXhfcHJlZmV0Y2hfd2luZG93X3NlY19mb3JfbGl2ZXN0cmVhbV9vcHRpbWl6YXRpb25cdTAwM2QxMFx1MDAyNm1heF9yZXNvbHV0aW9uX2Zvcl93aGl0ZV9ub2lzZVx1MDAzZDM2MFx1MDAyNm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpXHUwMDNkdHJ1ZVx1MDAyNm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHRcdTAwM2R0cnVlXHUwMDI2bWluX3ByZWZldGNoX29mZnNldF9zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uXHUwMDNkMjBcdTAwMjZtdGFfZHJjX211dHVhbF9leGNsdXNpb25fcmVtb3ZhbFx1MDAzZHRydWVcdTAwMjZtdXNpY19lbmFibGVfc2hhcmVkX2F1ZGlvX3RpZXJfbG9naWNcdTAwM2R0cnVlXHUwMDI2bXdlYl9hY2NvdW50X2xpbmtpbmdfbm9hcHBcdTAwM2R0cnVlXHUwMDI2bXdlYl9kZWJ1Z19zdGlja3lfc2V0dGluZ3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfY2xpY2tfdG9fcGxheV9wYXVzZVx1MDAzZHRydWVcdTAwMjZtd2ViX2VuYWJsZV9maW5lX3NjcnViYmluZ19mb3JfcmVjc1x1MDAzZHRydWVcdTAwMjZtd2ViX2VuYWJsZV9tb3JlX2NodW5rc1x1MDAzZHRydWVcdTAwMjZtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWRcdTAwM2R0cnVlXHUwMDI2bXdlYl9wbGF5ZXJfY29udHJvbF9vbl9ob3Zlclx1MDAzZHRydWVcdTAwMjZtd2ViX3Byb2dyZXNzX2Jhcl9zZWVrX29uX21vdXNlX2NsaWNrXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfc2hvcnRzX2NvbW1lbnRzX3BhbmVsX2lkX2NoYW5nZVx1MDAzZHRydWVcdTAwMjZtd2ViX3VzZV9taWNyb2Zvcm1hdF90aXRsZV9mb3JfcG9zdHNcdTAwM2R0cnVlXHUwMDI2bmV0d29ya19wb2xsaW5nX2ludGVydmFsXHUwMDNkMzAwMDBcdTAwMjZuZXR3b3JrbGVzc19sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNm5ld19jb2RlY3Nfc3RyaW5nX2FwaV91c2VzX2xlZ2FjeV9zdHlsZVx1MDAzZHRydWVcdTAwMjZub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93blx1MDAzZHRydWVcdTAwMjZub19maWxsZXJfdmlkZW9fZm9yX3NzYV9wbGF5YmFja3NcdTAwM2R0cnVlXHUwMDI2b3ZlcnJpZGVfZHJtX3JlcXVpcmVkX3BsYXliYWNrX3BvbGljeV9jaGFubmVsc1x1MDAzZFtdXHUwMDI2cGFnZWlkX2FzX2hlYWRlcl93ZWJcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Fkc19zZXRfYWRmb3JtYXRfb25fY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9ib290c3RyYXBfbWV0aG9kXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9jb250cm9sc192b2x1bWVfY29udHJvbHNfdXNlX3BsYXllcl9wcm9wc1x1MDAzZHRydWVcdTAwMjZwbGF5ZXJfZGVzdHJveV9vbGRfdmVyc2lvblx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfZW5hYmxlX3BsYXliYWNrX3BsYXlsaXN0X2NoYW5nZVx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfbmV3X2luZm9fY2FyZF9mb3JtYXRcdTAwM2R0cnVlXHUwMDI2cGxheWVyX3VuZGVybGF5X21pbl9wbGF5ZXJfd2lkdGhcdTAwM2Q3NjguMFx1MDAyNnBsYXllcl91bmRlcmxheV92aWRlb193aWR0aF9mcmFjdGlvblx1MDAzZDAuNlx1MDAyNnBsYXllcl93ZWJfY2FuYXJ5X3N0YWdlXHUwMDNkMFx1MDAyNnBsYXlyZWFkeV9maXJzdF9wbGF5X2V4cGlyYXRpb25cdTAwM2QtMVx1MDAyNnBvZGNhc3RzX3ZpZGVvc3RhdHNfZGVmYXVsdF9mbHVzaF9pbnRlcnZhbF9zZWNvbmRzXHUwMDNkMFx1MDAyNnBvbHltZXJfYmFkX2J1aWxkX2xhYmVsc1x1MDAzZHRydWVcdTAwMjZwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNnBvcHVsYXRlX2Zvcm1hdF9zZXRfaW5mb19pbl9jZGZlX2Zvcm1hdHNcdTAwM2R0cnVlXHUwMDI2cHJlc2tpcF9idXR0b25fc3R5bGVfYWRzX2JhY2tlbmRcdTAwM2RcdTAwMjZwcm94aW1hX2F1dG9fdGhyZXNob2xkX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tc1x1MDAzZDBcdTAwMjZwcm94aW1hX2F1dG9fdGhyZXNob2xkX21pbl9iYW5kd2lkdGhfZXN0aW1hdGVfYnl0ZXNfcGVyX3NlY1x1MDAzZDBcdTAwMjZxb2Vfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9ub25fYXBwX2Fkc1x1MDAzZDBcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX3BsYXliYWNrXHUwMDNkMFx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfcGxheWJhY2tfYWRzXHUwMDNkMFx1MDAyNnJlYWRfYWhlYWRfbW9kZWxfbmFtZVx1MDAzZFx1MDAyNnJlamVjdF9oaWRkZW5fbGl2ZV9mb3JtYXRzXHUwMDNkdHJ1ZVx1MDAyNnJlamVjdF9saXZlX3ZwOV9tcV9jbGVhcl93aXRoX25vX2Ficl9sYWRkZXJcdTAwM2R0cnVlXHUwMDI2cmVsYXhfYmdfbm90aWZpY2F0aW9uX3Rocm90dGxpbmdcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX2NoZXZyb25fZnJvbV9hZF9kaXNjbG9zdXJlX2Jhbm5lcl9oNVx1MDAzZHRydWVcdTAwMjZyZW1vdmVfbWFzdGhlYWRfY2hhbm5lbF9iYW5uZXJfb25fcmVmcmVzaFx1MDAzZHRydWVcdTAwMjZyZW1vdmVfc2xvdF9pZF9leGl0ZWRfdHJpZ2dlcl9mb3JfZGFpX2luX3BsYXllcl9zbG90X2V4cGlyZVx1MDAzZHRydWVcdTAwMjZyZXBsYWNlX3BsYXlhYmlsaXR5X3JldHJpZXZlcl9pbl93YXRjaFx1MDAzZHRydWVcdTAwMjZyb3NjYXNcdTAwM2R0cnVlXHUwMDI2c2Ficl9lbmFibGVfaG9zdF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZzZWxmX3BvZGRpbmdfaGVhZGVyX3N0cmluZ190ZW1wbGF0ZVx1MDAzZHNlbGZfcG9kZGluZ19pbnRlcnN0aXRpYWxfbWVzc2FnZVx1MDAyNnNlbGZfcG9kZGluZ19taWRyb2xsX2Nob2ljZV9zdHJpbmdfdGVtcGxhdGVcdTAwM2RzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2VcdTAwMjZzZW5kX2NvbmZpZ19oYXNoX3RpbWVyXHUwMDNkMFx1MDAyNnNlcnZlX2FkYXB0aXZlX2ZtdHNfZm9yX2xpdmVfc3RyZWFtc1x1MDAzZHRydWVcdTAwMjZzZXRfbW9ja19pZF9hc19leHBlY3RlZF9jb250ZW50X2JpbmRpbmdcdTAwM2RcdTAwMjZzaGVsbF9sb2FkX2djZlx1MDAzZHRydWVcdTAwMjZzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXRcdTAwM2R0cnVlXHUwMDI2c2hvcnRzX21vZGVfdG9fcGxheWVyX2FwaVx1MDAzZHRydWVcdTAwMjZzaG91bGRfYXR0cmlidXRlX3RvX3dhdGNoX3dpdGhfc291cmNlXHUwMDNkW11cdTAwMjZzaG91bGRfYXR0cmlidXRlX3ZpZXdzX3RvX3dhdGNoX3dpdGhfc291cmNlXHUwMDNkdHJ1ZVx1MDAyNnNpbXBseV9lbWJlZGRlZF9lbmFibGVfYm90Z3VhcmRcdTAwM2R0cnVlXHUwMDI2c2xvd19jb21wcmVzc2lvbnNfYmVmb3JlX2FiYW5kb25fY291bnRcdTAwM2Q0XHUwMDI2c21hbGxfYXZhdGFyc19mb3JfY29tbWVudHNcdTAwM2R0cnVlXHUwMDI2c21hcnRfc2tpcF93ZWJfcGxheWVyX2Jhcl9taW5faG92ZXJfbGVuZ3RoX21pbGxpc2Vjb25kc1x1MDAzZDEwMDBcdTAwMjZzbWFydGVyX3ZlX2RlZHVwcGluZ1x1MDAzZHRydWVcdTAwMjZzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHBcdTAwM2QxMFx1MDAyNnNwZWVkbWFzdGVyX3BsYXliYWNrX3JhdGVcdTAwM2QyLjBcdTAwMjZzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zXHUwMDNkNTAwXHUwMDI2c3RvcF9oYW5kbGluZ19jbGlja19mb3Jfbm9uX3JlbmRlcmluZ19vdmVybGF5X2xheW91dFx1MDAzZHRydWVcdTAwMjZzdHJlYW1pbmdfZGF0YV9lbWVyZ2VuY3lfaXRhZ19ibGFja2xpc3RcdTAwM2RbXVx1MDAyNnN1YnN0aXR1dGVfYWRfY3BuX21hY3JvX2luX3NzZGFpXHUwMDNkdHJ1ZVx1MDAyNnN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNnRyaW1fYWRhcHRpdmVfZm9ybWF0c19zaWduYXR1cmVfY2lwaGVyX2Zvcl9zYWJyX2NvbnRlbnRcdTAwM2R0cnVlXHUwMDI2dHZodG1sNV91bnBsdWdnZWRfcHJlbG9hZF9jYWNoZV9zaXplXHUwMDNkNVx1MDAyNnVzZV9jdWVfcmFuZ2VfbWFya2VyX3Bvc2l0aW9uXHUwMDNkdHJ1ZVx1MDAyNnVzZV9ldmVudF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfZXh0cmFfcmVhZGFoZWFkX25vcm1hbF9sYXRlbmN5X2ZyYW1lX2xldmVsX3N0cmVhbWluZ19pbl9iYWNrZW5kX2V4cGVyaW1lbnRcdTAwM2RbNDU3OTcxNDldXHUwMDI2dXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzXHUwMDNkdHJ1ZVx1MDAyNnVzZV9nZW5lcmF0ZWRfbWVkaWFfa2V5c19pbl9mYWlycGxheV9yZXF1ZXN0c1x1MDAzZHRydWVcdTAwMjZ1c2VfaW5saW5lZF9wbGF5ZXJfcnBjXHUwMDNkdHJ1ZVx1MDAyNnVzZV9uZXdfY29kZWNzX3N0cmluZ19hcGlcdTAwM2R0cnVlXHUwMDI2dXNlX3BsYXlhYmlsaXR5X3Jlc3VsdF9mb3JfY2FuX3BsYXlfc3RhdHVzXHUwMDNkdHJ1ZVx1MDAyNnVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyXHUwMDNkdHJ1ZVx1MDAyNnVzZV9ydGFfZm9yX3BsYXllclx1MDAzZHRydWVcdTAwMjZ1c2Vfc2Vzc2lvbl9iYXNlZF9zYW1wbGluZ1x1MDAzZHRydWVcdTAwMjZ1c2VfdGh1bWJuYWlsX292ZXJsYXlfdGltZV9zdGF0dXNfcmVuZGVyZXJfZm9yX2xpdmVfYmFkZ2VcdTAwM2R0cnVlXHUwMDI2dmFyaWFibGVfYnVmZmVyX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2dnA5X2RybV9saXZlXHUwMDNkdHJ1ZVx1MDAyNnZzc19maW5hbF9waW5nX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc19wbGF5YmFja191c2Vfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2dnNzX3VzZV9wb3N0X3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2d2ViX2FwaV91cmxcdTAwM2R0cnVlXHUwMDI2d2ViX2F0dGVudGlvbl9sb2dnaW5nX2VuYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2F0dGVudGlvbl9sb2dnaW5nX2V4cG9ydF90b19nZWxcdTAwM2R0cnVlXHUwMDI2d2ViX2F0dGVudGlvbl9sb2dnaW5nX3Njcm9sbF90aHJvdHRsZVx1MDAzZDUwMC4wXHUwMDI2d2ViX2J1dHRvbl92aWV3X21vZGVsX25vbl9udWxsaXNoX2RhdGFcdTAwM2R0cnVlXHUwMDI2d2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZFx1MDAzZHRydWVcdTAwMjZ3ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGVcdTAwM2RcdTAwMjZ3ZWJfY29sbGVjdF9vZmZsaW5lX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2RlZHVwZV92ZV9ncmFmdGluZ1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jYXB0aW9uX29wYWNpdHlfa2V5Ym9hcmRfc2hvcnRjdXRzXHUwMDNkdHJ1ZVx1MDAyNndlYl9kaXNhYmxlX2NoaXBfdmlld19tb2RlbF9tdXRhdGlvblx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2FiX3JzcF9jbFx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NhcHRpb25fbGFuZ3VhZ2VfcHJlZmVyZW5jZV9zdGlja2luZXNzXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfY2FwdGlvbnNfc2V0X3RhcmdldF9jb250YWluZXJcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9jb3Vyc2VfaWNvbl91cGRhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9lbnRpdHlfdXBzZXJ0X29uX3VwZGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2Vycm9yXzIwNFx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2tleWJvYXJkX3Nob3J0Y3V0X2Zvcl90aW1lbHlfYWN0aW9uc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3Nob3BwaW5nX3RpbWVseV9zaGVsZl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9zbWFsbF9zcGVlZG1hc3Rlclx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3RpbWVseV9hY3Rpb25zXHUwMDNkdHJ1ZVx1MDAyNndlYl9maXhfZmluZV9zY3J1YmJpbmdfZmFsc2VfcGxheVx1MDAzZHRydWVcdTAwMjZ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXNcdTAwM2QyODAwMFx1MDAyNndlYl9mdWxsc2NyZWVuX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZnVsbHNjcmVlbl9zaG9ydHNfbWVudV9pdGVtXHUwMDNkdHJ1ZVx1MDAyNndlYl9nY2ZfaGFzaGVzX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZ2VsX2RlYm91bmNlX21zXHUwMDNkMTAwMDBcdTAwMjZ3ZWJfZ2VsX3RpbWVvdXRfY2FwXHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX25leHRfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX3dhdGNoX2luZm9fZW1wdHlcdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfeW91cl9kYXRhX29uX2F1dG9tb3RpdmVcdTAwM2R0cnVlXHUwMDI2d2ViX2xvYWRfcHJlZGljdGlvbl90aHJlc2hvbGRcdTAwM2QwLjNcdTAwMjZ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2hcdTAwM2QxMDBcdTAwMjZ3ZWJfbWF4X3RyYWNpbmdfZXZlbnRzXHUwMDNkNTBcdTAwMjZ3ZWJfbW9ub21lcl93ZWJfY29tcG9uZW50X3dyYXBwZXJfaGFuZGxlX2Vycm9yc1x1MDAzZHRydWVcdTAwMjZ3ZWJfbmF2aWdhdGlvbl9wcmVkaWN0aW9uX3RocmVzaG9sZFx1MDAzZDAuMVx1MDAyNndlYl9ub25fbmF2aWdhdGluZ19hdGFnXHUwMDNkdHJ1ZVx1MDAyNndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0XHUwMDNkW11cdTAwMjZ3ZWJfcGxheWJhY2tfYXNzb2NpYXRlZF92ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2FwaV9sb2dnaW5nX2ZyYWN0aW9uXHUwMDNkMC4wMVx1MDAyNndlYl9wbGF5ZXJfYmlnX21vZGVfc2NyZWVuX3dpZHRoX2N1dG9mZlx1MDAzZDQwMDFcdTAwMjZ3ZWJfcGxheWVyX2RlZmF1bHRfcGVla2luZ19weFx1MDAzZDM2XHUwMDI2d2ViX3BsYXllcl9kaXNhYmxlX2dyaWRfb25fb2ZmbGluZV9zbGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2VuYWJsZV9mZWF0dXJlZF9wcm9kdWN0X2Jhbm5lcl9leGNsdXNpdmVzX29uX2Rlc2t0b3BcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9lbmFibGVfZmVhdHVyZWRfcHJvZHVjdF9iYW5uZXJfcHJvbW90aW9uX3RleHRfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2Zyb3N0ZWRfZ2xhc3NfYmx1cl9yYWRpdXNcdTAwM2QxNlx1MDAyNndlYl9wbGF5ZXJfZnJvc3RlZF9nbGFzc19ibHVyX3JhZGl1c19mbG9hdFx1MDAzZDE2LjBcdTAwMjZ3ZWJfcGxheWVyX2lubmVydHViZV9wbGF5bGlzdF91cGRhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9pbnZpc2libGVfZnVsbHNjcmVlbl9idXR0b25cdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9pcHBfY2FuYXJ5X3R5cGVfZm9yX2xvZ2dpbmdcdTAwM2RcdTAwMjZ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtc1x1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX21pbmlwbGF5ZXJfaW5fY29udGV4dF9tZW51XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbW91c2VfaWRsZV93YWl0X3RpbWVfbXNcdTAwM2QzMDAwXHUwMDI2d2ViX3BsYXllcl9tdXNpY192aXN1YWxpemVyX3RyZWF0bWVudFx1MDAzZGZha2VcdTAwMjZ3ZWJfcGxheWVyX29mZmxpbmVfcGxheWxpc3RfYXV0b19yZWZyZXNoXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcGxheWFibGVfc2VxdWVuY2VzX3JlZmFjdG9yXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcXVpY2tfaGlkZV90aW1lb3V0X21zXHUwMDNkMjUwXHUwMDI2d2ViX3BsYXllcl9zZWVrX2NoYXB0ZXJzX2J5X3Nob3J0Y3V0XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2FkZGl0aW9uYWxfYXJyb3dfdGhyZXNob2xkXHUwMDNkMjAwXHUwMDI2d2ViX3BsYXllcl9zZWVrX292ZXJsYXlfZHVyYXRpb25fYnVtcF9zY2FsZVx1MDAzZDAuOVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2xpbmdlcl9kdXJhdGlvblx1MDAzZDEwMDBcdTAwMjZ3ZWJfcGxheWVyX3NlbnRpbmVsX2lzX3VuaXBsYXllclx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3Nob3dfbXVzaWNfaW5fdGhpc192aWRlb19ncmFwaGljXHUwMDNkdmlkZW9fdGh1bWJuYWlsXHUwMDI2d2ViX3BsYXllcl9zc19kYWlfYWRfZmV0Y2hpbmdfdGltZW91dF9tc1x1MDAzZDE1MDAwXHUwMDI2d2ViX3BsYXllcl90b3VjaF9pZGxlX3dhaXRfdGltZV9tc1x1MDAzZDQwMDBcdTAwMjZ3ZWJfcGxheWVyX3RyYW5zZmVyX3RpbWVvdXRfdGhyZXNob2xkX21zXHUwMDNkMTA4MDAwMDBcdTAwMjZ3ZWJfcGxheWVyX3VwZGF0ZWRfZW50cnlwb2ludFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9jaW5lbWF0aWNfbGFiZWxfMlx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9uZXdfYXBpX2Zvcl9xdWFsaXR5X3B1bGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdXNlX3NjcmVlbl93aWR0aF9mb3JfYmlnX21vZGVcdTAwM2R0cnVlXHUwMDI2d2ViX3ByZWZldGNoX3ByZWxvYWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2d2ViX3Byb2dyZXNzX2Jhcl9kcmFnZ2FibGVcdTAwM2R0cnVlXHUwMDI2d2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1peF9hbGxvd191cF90b18zeF9wbGF5YmFja19yYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1vdmVfYnJva2VuX3N1YnNjcmliZV9lbmRzY3JlZW5cdTAwM2R0cnVlXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbFx1MDAzZDBcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2Nyb2xsX2ludGVydmFsXHUwMDNkMFx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9zZW5kX2FmdGVyX3RpbWVvdXRcdTAwM2QwXHUwMDI2d2ViX3NldHRpbmdzX21lbnVfc3VyZmFjZV9jdXN0b21fcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2d2ViX3NldHRpbmdzX3VzZV9pbnB1dF9zbGlkZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3Nob3J0c19hdWRpb190cmFja19waWNrZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3RyYWNpbmdfZW5hYmxlZF9zcGFuc1x1MDAzZFtldmVudCwgY29tbWFuZF1cdTAwMjZ3ZWJfdHJhY2luZ19zZXNzaW9uX3JlcGxheVx1MDAzZDBcdTAwMjZ3ZWJfdW5pZmllZF9mZXRjaFx1MDAzZHRydWVcdTAwMjZ3ZWJfd2F0Y2hfZGlzYWJsZV9hY2NvdW50X2xldmVsX2NhcHRpb25zX3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNndlYnBvX2V4aXRfb25fbmV0X2Vyclx1MDAzZHRydWVcdTAwMjZ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzXHUwMDNkOTk5OVx1MDAyNndpel9kaWZmX292ZXJ3cml0YWJsZVx1MDAzZHRydWVcdTAwMjZ3aXpfd3JhcHBlcl9jYWxsYmFja19wcm9wc19maXhcdTAwM2R0cnVlXHUwMDI2d29mZmxlX2VuYWJsZV9kb3dubG9hZF9zdGF0dXNcdTAwM2R0cnVlXHUwMDI2d3JpdGVfcmVsb2FkX3BsYXllcl9yZXNwb25zZV90b2tlbl90b191c3RyZWFtZXJfY29uZmlnX2Zvcl92b2RcdTAwM2R0cnVlXHUwMDI2d3NfYXYxX21heF9oZWlnaHRfZmxvb3JcdTAwM2QwXHUwMDI2d3NfYXYxX21heF93aWR0aF9mbG9vclx1MDAzZDBcdTAwMjZ3c191c2VfY2VudHJhbGl6ZWRfaHFhX2ZpbHRlclx1MDAzZHRydWVcdTAwMjZ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2eXRjc2lfZGVidWdfbWF4X3NpemVcdTAwM2QxMDBcdTAwMjZ5dGlkYl9yZW1ha2VfZGJfcmV0cmllc1x1MDAzZDFcdTAwMjZ5dGlkYl9yZW9wZW5fZGJfcmV0cmllc1x1MDAzZDBcdTAwMjZ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0XHUwMDNkMC4wMiIsInN0YXJ0TXV0ZWQiOmZhbHNlLCJtb2JpbGVJcGhvbmVTdXBwb3J0c0lubGluZVBsYXliYWNrIjp0cnVlLCJpc01vYmlsZURldmljZSI6ZmFsc2UsImNzcE5vbmNlIjoicHlWbVI3V2VjdWkzRGFHTHpyUTZXZyIsImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImxvYWRlclVybCI6Imh0dHBzOi8vMzYwdHJ1c3R3ZWFsdGhhdmVudWUuc3RnbGVuLmNvbS8iLCJkaXNhYmxlQXV0b25hdiI6ZmFsc2UsImlzRW1iZWQiOnRydWUsImRpc2FibGVDYXN0QXBpIjpmYWxzZSwic2VyaWFsaXplZEVtYmVkQ29uZmlnIjoie30iLCJkaXNhYmxlTWR4Q2FzdCI6ZmFsc2UsImRhdGFzeW5jSWQiOiJWNmY2NmNjZTJ8fCIsInN0b3JlVXNlclZvbHVtZSI6dHJ1ZSwiZGlzYWJsZVBhaWRDb250ZW50T3ZlcmxheSI6dHJ1ZSwiZW5jcnlwdGVkSG9zdEZsYWdzIjoiQUNtYmxCWFlUd3BrOGNqOGpMazBKd3drTTR6QW9ya05zLXlsZV84VGM3akRjNzJqaElyMUJwQjFBRWNrX015UzNaUXNlZkJUeW50bDFBNkVYZTdxOWFiaE5WSnZkT1JKNjlSdGkzT2FjUDdhYjI4X1VLV3JLdDRYc3hKRGR2aTUxMENTQ1RDQ19JUTZQLWxVczFRIiwiY2FuYXJ5U3RhZ2UiOiIiLCJ0cnVzdGVkSnNVcmwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMifSwidHJ1c3RlZENzc1VybCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvd3d3LXBsYXllci5jc3MifSwiaG91c2VCcmFuZFVzZXJTdGF0dXMiOiJub3RfcHJlc2VudCIsImVtYmVkc0VuYWJsZUVtYzNkcyI6dHJ1ZSwiZGlzYWJsZU9yZ2FuaWNVaSI6dHJ1ZSwiZW5hYmxlU2Fick9uRW1iZWQiOmZhbHNlLCJzZXJpYWxpemVkQ2xpZW50RXhwZXJpbWVudEZsYWdzIjoiNDU3MTgxNzVcdTAwM2QwLjBcdTAwMjY0NTcxODE3Nlx1MDAzZDAuMDFcdTAwMjY0NTcyNTUzOFx1MDAzZDAuMFx1MDAyNjQ1NzI1NTM5XHUwMDNkMC4wXHUwMDI2NDU3MjU1NDBcdTAwM2QwLjBcdTAwMjY0NTcyNTU0MVx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQyXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDNcdTAwM2QwLjBcdTAwMjY0NTcyODU1M1x1MDAzZHRydWVcdTAwMjY0NTcyODU3Mlx1MDAzZHRydWVcdTAwMjY0NTcyOTIxNVx1MDAzZHRydWVcdTAwMjY0NTczMjcwNFx1MDAzZHRydWVcdTAwMjY0NTczMjc5MVx1MDAzZHRydWVcdTAwMjY0NTczNTQyOFx1MDAzZDQwMDAuMFx1MDAyNjQ1NzM3NDg4XHUwMDNkMC4wXHUwMDI2NDU3Mzc0ODlcdTAwM2QwLjBcdTAwMjY0NTczOTAyM1x1MDAzZDAuMFx1MDAyNjQ1NzQxMzM5XHUwMDNkMC4wXHUwMDI2NDU3NDE3NzNcdTAwM2QwLjBcdTAwMjY0NTc0MzIyOFx1MDAzZDAuMFx1MDAyNjQ1NzQ1NjEwXHUwMDNkdHJ1ZVx1MDAyNjQ1NzQ2OTY2XHUwMDNkMC4wXHUwMDI2NDU3NDY5NjdcdTAwM2QwLjBcdTAwMjY0NTc0NzA1M1x1MDAzZDAuMFx1MDAyNjQ1NzUwOTQ3XHUwMDNkMTAyNDBcdTAwMjY0NTc1NjIwMVx1MDAzZHRydWVcdTAwMjY0NTc1Njg3Mlx1MDAzZDAuMFx1MDAyNjQ1NzU3NDI2XHUwMDNkMC4wXHUwMDI2NDU3NTc0MjdcdTAwM2QwLjBcdTAwMjY0NTc1Nzc1MFx1MDAzZDAuMFx1MDAyNjQ1NzU3OTU3XHUwMDNkMC4wXHUwMDI2NDU3NTg0NjdcdTAwM2QwLjBcdTAwMjY0NTc2MDAxOFx1MDAzZHRydWVcdTAwMjY0NTc2MTc2MFx1MDAzZDIwMFx1MDAyNjQ1NzYyODM4XHUwMDNkMFx1MDAyNjQ1NzY0MjE3XHUwMDNkMC4wXHUwMDI2NDU3NjQyNTJcdTAwM2QwLjBcdTAwMjY0NTc2NDUyM1x1MDAzZDAuMFx1MDAyNjQ1NzY0NTI0XHUwMDNkMC4wXHUwMDI2NDU3NjQ1OTNcdTAwM2QwLjBcdTAwMjY0NTc2NTA3N1x1MDAzZHRydWVcdTAwMjY0NTc2NTU2OFx1MDAzZDAuMFx1MDAyNjQ1NzY1NjAyXHUwMDNkMC4wXHUwMDI2NDU3NjU2ODBcdTAwM2R0cnVlXHUwMDI2NDU3NjY1MTFcdTAwM2R0cnVlXHUwMDI2NDU3Njc3NjNcdTAwM2QwLjBcdTAwMjY0NTc2Nzk0M1x1MDAzZDAuMFx1MDAyNjQ1NzY4MzQwXHUwMDNkMC4wXHUwMDI2NDU3Njg0MzBcdTAwM2QwLjBcdTAwMjY0NTc2OTExOVx1MDAzZHRydWVcdTAwMjY0NTc2OTIxNFx1MDAzZDAuMFx1MDAyNjQ1NzcwMDAxXHUwMDNkMC4wXHUwMDI2NDU3NzAwMDJcdTAwM2QwLjBcdTAwMjY0NTc3MDEzNVx1MDAzZHRydWVcdTAwMjY0NTc3MTI4OFx1MDAzZHRydWVcdTAwMjY0NTc3MTg5MFx1MDAzZDAuMFx1MDAyNjQ1NzczNjAzXHUwMDNkMC4wXHUwMDI2NDU3NzM2MDRcdTAwM2QwLjBcdTAwMjY0NTc3NTc1N1x1MDAzZHRydWVcdTAwMjY0NTc3NTc5MVx1MDAzZDAuMFx1MDAyNjQ1Nzc1NzkyXHUwMDNkMC4wXHUwMDI2NDU3NzYxOTBcdTAwM2QwLjBcdTAwMjY0NTc3ODY2M1x1MDAzZDAuMFx1MDAyNjQ1Nzc4NjcxXHUwMDNkMC4wXHUwMDI2NDU3ODM4NzVcdTAwM2R0cnVlXHUwMDI2NDU3ODQ0MzlcdTAwM2QwXHUwMDI2NDU3ODY0NDNcdTAwM2QwLjBcdTAwMjY0NTc4Nzk0OFx1MDAzZHRydWVcdTAwMjY0NTc4OTQ3NFx1MDAzZHRydWVcdTAwMjY0NTc5MTExN1x1MDAzZDAuMFx1MDAyNjQ1NzkxMTE4XHUwMDNkMC4wXHUwMDI2NDU3OTExMTlcdTAwM2QwLjBcdTAwMjY0NTc5MTMyNlx1MDAzZHRydWVcdTAwMjY0NTc5MzcxMFx1MDAzZDAuMFx1MDAyNjQ1Nzk0NDQxXHUwMDNkMC4wXHUwMDI2NDU3OTc3MjFcdTAwM2R0cnVlXHUwMDI2NDU3OTc5NjNcdTAwM2QwLjBcdTAwMjY0NTgwMjEyM1x1MDAzZDAuMFx1MDAyNjQ1ODAzNzU0XHUwMDNkMC4wXHUwMDI2NDU4MDQ3NzFcdTAwM2QwLjBcdTAwMjY0NTgwNTY5NVx1MDAzZDAuMFx1MDAyNjQ1ODA2NTU1XHUwMDNkMlx1MDAyNjQ1ODA3NDMyXHUwMDNkMC4wXHUwMDI2NDU4MDc0ODRcdTAwM2RcdTAwMjY0NTgwNzc3MVx1MDAzZDAuMFx1MDAyNjQ1ODA3NzcyXHUwMDNkMC4wXHUwMDI2NDU4MDc3NzNcdTAwM2QwLjBcdTAwMjY0NTgwODc2Mlx1MDAzZDBcdTAwMjY0NTgxNDQ4MFx1MDAzZHRydWVcdTAwMjY0NTgxNTAxMVx1MDAzZDAuMFx1MDAyNjQ1ODE1NjMwXHUwMDNkMFx1MDAyNjQ1ODE2ODg4XHUwMDNkMC4wXHUwMDI2NDU4MTgxMjhcdTAwM2QwLjAifX0sIlhTUkZfRklFTERfTkFNRSI6InNlc3Npb25fdG9rZW4iLCJYU1JGX1RPS0VOIjoiUVVNNFptOXJVVUZ6Y2xKemEzcHpPRFF6Ym5weFIyOHdaRlZEZG54QlIzSmlTMkZyYVVSa2FVUlBkWEpyVTFka2RETnlWbVI0WDJsM2JIVjFjbE5PUzFsNFEyNWlZVkl6WWw5U1ZGOXdVbUZJWlRCSk5tZEJZM0ZVVld4R2NFMHhRVlJOVFdObVEzZzFiV3gwTURoZmMyTlBXVmRNUzJWTVZsSkVNMFppTFdzXHUwMDNkIiwiU0VSVkVSX1ZFUlNJT04iOiJwcm9kIiwiREFUQVNZTkNfSUQiOiJWNmY2NmNjZTJ8fCIsIlNFUklBTElaRURfQ0xJRU5UX0NPTkZJR19EQVRBIjoiQ1BtUG05TUdFTGY0Z0JNUXRkdlJIQkQ0eElBVEVMYWswUndRaV9mUEhCQzltYkFGRUw2S3NBVVFuOC1BRXhEZXZNNGNFSWVzemh3UXJ0YlBIQkNKNU5FY0VPbjQwUndRek4tdUJSREstNEFURUw2RTBSd1FfTExPSEJEdzN0RWNFTW4yZ0JNUTJ2Zk9IQkFBRVBhcnNBVVF2YmF1QlJDOHBOQWNFSUhOemh3UXRyV0FFeEQ1OHRFY0VKbU5zUVVRd1lfUUhCRGd0OUVjRUliaGdCTVFuWWE0SWhEeHROQWNFSnpaMFJ3UWlKRFJIQkM0OE5FY0VJbXd6aHdRNS12UkhCQ2UwTEFGRUxqa3pod1FpNGU0SWhEMjk5RWNFT0RxMFJ3UWpwRFJIQkNXNzlFY0VLU3AwUndROFp5d0JSQ0RoN2dpRU92TjBCd1E5ZW5SSENwc1EwRk5VMU40VmtFdFduRXRSRXhwVlVWd1VVTnVRVGMxUmxoaFowSjFRVmR4VGxWUWVVRk5UWFZCWW5wRVpWRkhjVkZoWDBKbGFUazJVWE41YjB0M1JVRTFRM1ZCWDNOdGRIVlJSelZKVlZnd1RYZEhlRXBKUm5sNk0wWktPVzVXUW1SM2N6VXdXV1JDZHowOU1BQSUzRCIsIlJPT1RfVkVfVFlQRSI6MTY2MjMsIkNMSUVOVF9QUk9UT0NPTCI6ImgyIiwiQ0xJRU5UX1RSQU5TUE9SVCI6InRjcCIsIlBMQVlFUl9DTElFTlRfVkVSU0lPTiI6IjEuMjAyNjA3MjEuMDguMDAiLCJUSU1FX0NSRUFURURfTVMiOjE3ODUxMjA3NjE4MTAsIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyI6WyJ5b3V0dS5iZSIsInlvdXR1YmUuY29tIiwid3d3LnlvdXR1YmUuY29tIiwid2ViLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwid2ViLXJlbGVhc2UtcWEueW91dHViZS5jb20iLCJ3ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJtLnlvdXR1YmUuY29tIiwibXdlYi1ncmVlbi1xYS55b3V0dWJlLmNvbSIsIm13ZWItcmVsZWFzZS1xYS55b3V0dWJlLmNvbSIsIm13ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJzdHVkaW8ueW91dHViZS5jb20iLCJzdHVkaW8tZ3JlZW4tcWEueW91dHViZS5jb20iLCJzdHVkaW8taW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iXSwiTE9UVElFX1VSTCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9lbWJlZHMvMzJkMmFjODMvbG90dGllLWxpZ2h0LnZmbHNldC9sb3R0aWUtbGlnaHQuanMifSwiSURFTlRJVFlfTUVNRU5UTyI6eyJ2aXNpdG9yX2RhdGEiOiJDZ3RYYWxkdGJsVkpjRXByY3lqNWo1dlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ1RtTGZBZ3JjQWpJd0xsbFVQV0pCVlhGQmMxZDBWWEV3VVVrMWJHNWlhbWhTY1ZwNFNFZGFWR1ZSTkRSNGRqRTFPRjkzUkVrdFQxSkZUVGRvUjBaM1pGRm9MVVp1YmpJeVZYZDBkMHRrVW5NeVdHMUxaRGRuVkhKRlFXOXhZVVJYYjI5WFpYZzNSWG8yYTFSRVZFNVZZMWc0VEhOTU1FRTVOMEl4YUdKa2IyTnRPV0YyWW5kcFRuWmllRmd3Y1V0cFh6WjNaa1pUTVVOdVpYZDJkM0JuVFdseFVsOVZTV1U1T1dGMFpVSlBMVTFqVURjell6RmFlbkZmYmxGcU1HOTZNamx4VFROV2NuaE1OV1JZZHpCQ1dGTnlSV2MyVEZNeU5tVm5XazU0YlU5WGNVUnZWME5ZVDJkcWJuVktWemx3Y2toWlNtRnBUbVpIUmtFNGNXRk1aemxDUzJGM1R6Z3dRa0V5U0ZWaE9EUTRWMVpETTNkdU4wWllWbVIyVEZsTGJYWnNkVVZtVjJrd1UwSjJNMWgxTFVNM2FucFJlbGRKZGpOM1gwaFZVbnBYZVZnM2VHa3hOMkpWWTNacGEyRjJhMkpyZHpJeFpqUnVTa3hrVFdzeE9WUlNkdyUzRCUzRCJ9LCJNV0VCX1NVUFBPUlRTX0RPVUJMRV9UQVBfVE9fU0VFSyI6dHJ1ZSwiUExBWUVSX1ZBUlMiOnsiZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlIjoie1wicmVzcG9uc2VDb250ZXh0XCI6e1wic2VydmljZVRyYWNraW5nUGFyYW1zXCI6W3tcInNlcnZpY2VcIjpcIkNTSVwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY1wiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn0se1wia2V5XCI6XCJjdmVyXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNC4wMS4wMFwifSx7XCJrZXlcIjpcInl0X2xpXCIsXCJ2YWx1ZVwiOlwiMFwifSx7XCJrZXlcIjpcIkdldEVtYmVkZGVkUGxheWVyX3JpZFwiLFwidmFsdWVcIjpcIjB4MTJjNzU4MWQ1NTc2ZDlkMlwifV19LHtcInNlcnZpY2VcIjpcIkdGRUVEQkFDS1wiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkdVSURFRF9IRUxQXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiRUNBVENIRVJcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNsaWVudC52ZXJzaW9uXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNFwifSx7XCJrZXlcIjpcImNsaWVudC5uYW1lXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifV19XSxcInJlc3BvbnNlSWRcIjpcIkloTUlfSldPaC0zeGxRTVY3Y0JQQ0IxaWN4d0hcIixcIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFcIjp7XCJoYXNEZWNvcmF0ZWRcIjp0cnVlfX0sXCJlbWJlZFByZXZpZXdcIjp7XCJ0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiV2hhdCBpcyBCaXRjb2luPyAodjIpXCJ9XX0sXCJkZWZhdWx0VGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC9HYzJlbjNuSHhBNC9kZWZhdWx0LndlYnBcIixcIndpZHRoXCI6MTIwLFwiaGVpZ2h0XCI6OTB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9HYzJlbjNuSHhBNC9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0ViQ0tnQkVGNUlWZktyaXFrRERnZ0JGUUFBaUVJWUFYQUJ3QUVHXFx1MDAyNnJzXHUwMDNkQU9uNENMQlluTEYyYVlKZnY0amtVSnlaRHkxdF9EdjRSZ1wiLFwid2lkdGhcIjoxNjgsXCJoZWlnaHRcIjo5NH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL0djMmVuM25IeEE0L2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWJDTVFCRUc1SVZmS3JpcWtERGdnQkZRQUFpRUlZQVhBQndBRUdcXHUwMDI2cnNcdTAwM2RBT240Q0xBMHVhVXM5NjVzekM4ZTFBSGh4aFc2c09WOTlnXCIsXCJ3aWR0aFwiOjE5NixcImhlaWdodFwiOjExMH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL0djMmVuM25IeEE0L2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWNDUFlCRUlvQlNGWHlxNHFwQXc0SUFSVUFBSWhDR0FGd0FjQUJCZ1x1MDAzZFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTER5d0FBcFNMNjdTdmE0bGdGVU9jZlRCdjJnandcIixcIndpZHRoXCI6MjQ2LFwiaGVpZ2h0XCI6MTM4fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC9HYzJlbjNuSHhBNC9tcWRlZmF1bHQud2VicFwiLFwid2lkdGhcIjozMjAsXCJoZWlnaHRcIjoxODB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9HYzJlbjNuSHhBNC9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VjQ05BQ0VMd0JTRlh5cTRxcEF3NElBUlVBQUloQ0dBRndBY0FCQmdcdTAwM2RcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xDdGxHTXpnbEt2bmNRa3BOTDdXVWowejZhMTNBXCIsXCJ3aWR0aFwiOjMzNixcImhlaWdodFwiOjE4OH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpX3dlYnAvR2MyZW4zbkh4QTQvaHFkZWZhdWx0LndlYnBcIixcIndpZHRoXCI6NDgwLFwiaGVpZ2h0XCI6MzYwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC9HYzJlbjNuSHhBNC9zZGRlZmF1bHQud2VicFwiLFwid2lkdGhcIjo2NDAsXCJoZWlnaHRcIjo0ODB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aV93ZWJwL0djMmVuM25IeEE0L21heHJlc2RlZmF1bHQud2VicFwiLFwid2lkdGhcIjoxOTIwLFwiaGVpZ2h0XCI6MTA4MH1dfSxcInBsYXlCdXR0b25cIjp7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9ERUZBVUxUXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBY1E4RnNpRXdqOGxZNkg3ZkdWQXhYdHdFOElIV0p6SEFmS0FRUmtxZm1tXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi93YXRjaD92XHUwMDNkR2MyZW4zbkh4QTRcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1dBVENIXCIsXCJyb290VmVcIjozODMyfX0sXCJ3YXRjaEVuZHBvaW50XCI6e1widmlkZW9JZFwiOlwiR2MyZW4zbkh4QTRcIn19LFwiYWNjZXNzaWJpbGl0eVwiOntcImxhYmVsXCI6XCJQbGF5IFdoYXQgaXMgQml0Y29pbj8gKHYyKVwifSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQWNROEZzaUV3ajhsWTZIN2ZHVkF4WHR3RThJSFdKekhBY1x1MDAzZFwifX0sXCJ2aWRlb0RldGFpbHNcIjp7XCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlclwiOntcImNoYW5uZWxUaHVtYm5haWxcIjp7XCJ0aHVtYm5haWxzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly95dDMuZ2dwaHQuY29tL3l0Yy9BSWRyb19tcC1hel92eEZmS1RmZHpVVXNYUFJzdWJOQWxyNHFDaDhCRXpFSmZPY1BrQVx1MDAzZHM2OC1jLWstYzB4MDBmZmZmZmYtbm8tcmpcIixcIndpZHRoXCI6NjgsXCJoZWlnaHRcIjo2OH1dfSxcImNvbGxhcHNlZFJlbmRlcmVyXCI6e1wiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiV2hhdCBpcyBCaXRjb2luPyAodjIpXCIsXCJuYXZpZ2F0aW9uRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQVlRNDZJQ0loTUlfSldPaC0zeGxRTVY3Y0JQQ0IxaWN4d0h5Z0VFWktuNXBnXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2RHYzJlbjNuSHhBNFwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkR2MyZW4zbkh4QTRcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fV19LFwic3VidGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIjcuMk0gdmlld3Mg4oCiIDIuN0sgY29tbWVudHNcIn1dfSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQVlRNDZJQ0loTUlfSldPaC0zeGxRTVY3Y0JQQ0IxaWN4d0hcIn19LFwiZXhwYW5kZWRSZW5kZXJlclwiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiV2VVc2VDb2luc1wifV19LFwic3VidGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIjI2LjJLIHN1YnNjcmliZXJzXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FVUTVLSUNJaE1JX0pXT2gtM3hsUU1WN2NCUENCMWljeHdIXCJ9fSxcImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSV9KV09oLTN4bFFNVjdjQlBDQjFpY3h3SHlnRUVaS241cGdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiL2NoYW5uZWwvVUNPUXJOVTQySEZTemdGSGVmV1hkdGtRXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcIi9jaGFubmVsL1VDT1FyTlU0MkhGU3pnRkhlZldYZHRrUVwiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19fSxcInZpZGVvRHVyYXRpb25TZWNvbmRzXCI6XCI5N1wiLFwid2ViUGxheWVyQWN0aW9uc1BvcnRpbmdcIjp7XCJnZXRTaGFyZVBhbmVsQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSV9KV09oLTN4bFFNVjdjQlBDQjFpY3h3SHlnRUVaS241cGdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3NoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsXCJ9fSxcIndlYlBsYXllclNoYXJlRW50aXR5U2VydmljZUVuZHBvaW50XCI6e1wic2VyaWFsaXplZFNoYXJlRW50aXR5XCI6XCJDZ3RIWXpKbGJqTnVTSGhCTkElM0QlM0RcIn19LFwic3Vic2NyaWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSV9KV09oLTN4bFFNVjdjQlBDQjFpY3h3SHlnRUVaS241cGdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInNlbmRQb3N0XCI6dHJ1ZSxcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3N1YnNjcmlwdGlvbi9zdWJzY3JpYmVcIn19LFwic3Vic2NyaWJlRW5kcG9pbnRcIjp7XCJjaGFubmVsSWRzXCI6W1wiVUNPUXJOVTQySEZTemdGSGVmV1hkdGtRXCJdLFwicGFyYW1zXCI6XCJFZ0lJQnhnQVwifX0sXCJ1bnN1YnNjcmliZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUlfSldPaC0zeGxRTVY3Y0JQQ0IxaWN4d0h5Z0VFWktuNXBnXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJzZW5kUG9zdFwiOnRydWUsXCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9zdWJzY3JpcHRpb24vdW5zdWJzY3JpYmVcIn19LFwidW5zdWJzY3JpYmVFbmRwb2ludFwiOntcImNoYW5uZWxJZHNcIjpbXCJVQ09Rck5VNDJIRlN6Z0ZIZWZXWGR0a1FcIl0sXCJwYXJhbXNcIjpcIkNnSUlCeGdBXCJ9fSxcImFkZFRvV2F0Y2hMYXRlckNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUlfSldPaC0zeGxRTVY3Y0JQQ0IxaWN4d0h5Z0VFWktuNXBnXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9icm93c2UvZWRpdF9wbGF5bGlzdFwifX0sXCJwbGF5bGlzdEVkaXRFbmRwb2ludFwiOntcInBsYXlsaXN0SWRcIjpcIldMXCIsXCJhY3Rpb25zXCI6W3tcImFkZGVkVmlkZW9JZFwiOlwiR2MyZW4zbkh4QTRcIixcImFjdGlvblwiOlwiQUNUSU9OX0FERF9WSURFT1wifV19fSxcInJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSV9KV09oLTN4bFFNVjdjQlBDQjFpY3h3SHlnRUVaS241cGdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL2Jyb3dzZS9lZGl0X3BsYXlsaXN0XCJ9fSxcInBsYXlsaXN0RWRpdEVuZHBvaW50XCI6e1wicGxheWxpc3RJZFwiOlwiV0xcIixcImFjdGlvbnNcIjpbe1wiYWN0aW9uXCI6XCJBQ1RJT05fUkVNT1ZFX1ZJREVPX0JZX1ZJREVPX0lEXCIsXCJyZW1vdmVkVmlkZW9JZFwiOlwiR2MyZW4zbkh4QTRcIn1dfX19LFwiYWN0aW9uQmFyQnV0dG9uc1wiOlt7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9PUEFDSVRZXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcImljb25cIjp7XCJpY29uVHlwZVwiOlwiU0hBUkVfQVJST1dcIn0sXCJuYXZpZ2F0aW9uRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQVFRLU44QkdBQWlFd2o4bFk2SDdmR1ZBeFh0d0U4SUhXSnpIQWZLQVFSa3FmbW1cIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImlnbm9yZU5hdmlnYXRpb25cIjp0cnVlfX0sXCJzaGFyZUVudGl0eUVuZHBvaW50XCI6e1wic2VyaWFsaXplZFNoYXJlRW50aXR5XCI6XCJDZ3RIWXpKbGJqTnVTSGhCTkElM0QlM0RcIixcInNoYXJlUGFuZWxUeXBlXCI6XCJTSEFSRV9QQU5FTF9UWVBFX1VOSUZJRURfU0hBUkVfUEFORUxcIn19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBUVEtTjhCR0FBaUV3ajhsWTZIN2ZHVkF4WHR3RThJSFdKekhBY1x1MDAzZFwiLFwiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJhY2Nlc3NpYmlsaXR5RGF0YVwiOntcImxhYmVsXCI6XCJTaGFyZVwifX19fSx7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9PUEFDSVRZXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcInNlcnZpY2VFbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3ajhsWTZIN2ZHVkF4WHR3RThJSFdKekhBZktBUVJrcWZtbVwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvYnJvd3NlL2VkaXRfcGxheWxpc3RcIn19LFwicGxheWxpc3RFZGl0RW5kcG9pbnRcIjp7XCJwbGF5bGlzdElkXCI6XCJXTFwiLFwiYWN0aW9uc1wiOlt7XCJhZGRlZFZpZGVvSWRcIjpcIkdjMmVuM25IeEE0XCIsXCJhY3Rpb25cIjpcIkFDVElPTl9BRERfVklERU9cIn1dfX0sXCJpY29uXCI6e1wiaWNvblR5cGVcIjpcIkFERF9UT19XQVRDSF9MQVRFUlwifSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQU1RLWQ4QkdBRWlFd2o4bFk2SDdmR1ZBeFh0d0U4SUhXSnpIQWNcdTAwM2RcIixcImFjY2Vzc2liaWxpdHlEYXRhXCI6e1wiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJsYWJlbFwiOlwiV2F0Y2ggbGF0ZXJcIn19LFwiY29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3ajhsWTZIN2ZHVkF4WHR3RThJSFdKekhBZktBUVJrcWZtbVwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP3NlcnZpY2VcdTAwM2R5b3V0dWJlXFx1MDAyNnVpbGVsXHUwMDNkM1xcdTAwMjZwYXNzaXZlXHUwMDNkdHJ1ZVxcdTAwMjZjb250aW51ZVx1MDAzZGh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGYWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2aGwlM0RlbiUyNm5leHQlM0QlMjUyRnBvc3RfbG9naW5cXHUwMDI2aGxcdTAwM2RlblwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInNpZ25JbkVuZHBvaW50XCI6e1wibmV4dEVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUS1kOEJHQUVpRXdqOGxZNkg3ZkdWQXhYdHdFOElIV0p6SEFmS0FRUmtxZm1tXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi9wb3N0X2xvZ2luXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcIi9wb3N0X2xvZ2luXCJ9fX19fX1dLFwicXVpY2tBY3Rpb25zQmFyXCI6e1wicXVpY2tBY3Rpb25zVmlld01vZGVsXCI6e1wid2F0Y2hPbllvdXR1YmVCdXR0b25cIjp7XCJ3YXRjaE9uWW91dHViZUJ1dHRvblZpZXdNb2RlbFwiOntcIndhdGNoT25ZdExhYmVsQnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FJUXl2TUZJaE1JX0pXT2gtM3hsUU1WN2NCUENCMWljeHdIeWdFRVpLbjVwZ1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkR2MyZW4zbkh4QTRcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZEdjMmVuM25IeEE0XCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVlfREFSS1wiLFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBSVF5dk1GSWhNSV9KV09oLTN4bFFNVjdjQlBDQjFpY3h3SFwiLFwidHlwZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUXCIsXCJidXR0b25TaXplXCI6XCJCVVRUT05fVklFV19NT0RFTF9TSVpFX0xBUkdFXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIldhdGNoIG9uXCIsXCJzdHlsZVJ1bnNcIjpbe1wid2VpZ2h0TGFiZWxcIjpcIkZPTlRfV0VJR0hUX1RISU5cIn1dLFwiYXR0YWNobWVudFJ1bnNcIjpbe1wic3RhcnRJbmRleFwiOjgsXCJsZW5ndGhcIjowLFwiZWxlbWVudFwiOntcInR5cGVcIjp7XCJpbWFnZVR5cGVcIjp7XCJpbWFnZVwiOntcInNvdXJjZXNcIjpbe1wiY2xpZW50UmVzb3VyY2VcIjp7XCJpbWFnZU5hbWVcIjpcIndhdGVybWFya1wifX1dfX19LFwicHJvcGVydGllc1wiOntcImxheW91dFByb3BlcnRpZXNcIjp7XCJoZWlnaHRcIjp7XCJ2YWx1ZVwiOjIwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJ3aWR0aFwiOntcInZhbHVlXCI6OTAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIm1hcmdpblwiOntcImxlZnRcIjp7XCJ2YWx1ZVwiOjV9fX19fSxcImFsaWdubWVudFwiOlwiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUlwifV19fX0sXCJ5dExvZ29Pbmx5QnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FFUTF0Y0VJaE1JX0pXT2gtM3hsUU1WN2NCUENCMWljeHdIeWdFRVpLbjVwZ1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkR2MyZW4zbkh4QTRcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZEdjMmVuM25IeEE0XCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk9cIixcInRyYWNraW5nUGFyYW1zXCI6XCJDQUVRMXRjRUloTUlfSldPaC0zeGxRTVY3Y0JQQ0IxaWN4d0hcIixcInR5cGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVFwiLFwiYnV0dG9uU2l6ZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9DT01QQUNUXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIiBcIixcImF0dGFjaG1lbnRSdW5zXCI6W3tcInN0YXJ0SW5kZXhcIjowLFwibGVuZ3RoXCI6MCxcImVsZW1lbnRcIjp7XCJ0eXBlXCI6e1wiaW1hZ2VUeXBlXCI6e1wiaW1hZ2VcIjp7XCJzb3VyY2VzXCI6W3tcImNsaWVudFJlc291cmNlXCI6e1wiaW1hZ2VOYW1lXCI6XCJ3YXRlcm1hcmtcIn19XX19fSxcInByb3BlcnRpZXNcIjp7XCJsYXlvdXRQcm9wZXJ0aWVzXCI6e1wiaGVpZ2h0XCI6e1widmFsdWVcIjoyMCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwid2lkdGhcIjp7XCJ2YWx1ZVwiOjkwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJtYXJnaW5cIjp7XCJsZWZ0XCI6e1widmFsdWVcIjo1fX19fX0sXCJhbGlnbm1lbnRcIjpcIkFMSUdOTUVOVF9WRVJUSUNBTF9DRU5URVJcIn1dfX19fX19fX19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSV9KV09oLTN4bFFNVjdjQlBDQjFpY3h3SHlnRUVaS241cGdcdTAwM2RcdTAwM2RcIixcInBlcm1pc3Npb25zXCI6e1wiYWxsb3dJbWFNb25ldGl6YXRpb25cIjpmYWxzZSxcImFsbG93UGZwVW5icmFuZGVkXCI6ZmFsc2V9LFwidmlkZW9GbGFnc1wiOntcInBsYXlhYmxlSW5FbWJlZFwiOnRydWUsXCJpc0NyYXdsYWJsZVwiOnRydWV9LFwicHJldmlld1BsYXlhYmlsaXR5U3RhdHVzXCI6e1wic3RhdHVzXCI6XCJPS1wiLFwicGxheWFibGVJbkVtYmVkXCI6dHJ1ZSxcImNvbnRleHRQYXJhbXNcIjpcIlEwRkZVMEZuWjBFXHUwMDNkXCJ9LFwiZW1iZWRkZWRQbGF5ZXJNb2RlXCI6XCJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUXCIsXCJlbWJlZGRlZFBsYXllckNvbmZpZ1wiOntcImVtYmVkZGVkUGxheWVyTW9kZVwiOlwiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVFwiLFwiZW1iZWRkZWRQbGF5ZXJGbGFnc1wiOnt9fSxcImVtYmVkZGVkUGxheWVyQ29udGV4dFwiOntcImVtYmVkZGVkUGxheWVyRW5jcnlwdGVkQ29udGV4dFwiOlwiQUNtYmxCWDZORnFKX1VOUHZYQzVjZjdGVk1aWDRMRnlzV0lBZ2pPQWxDcWJaUDRKMTBKUzl0b1dnOFU1QWRWSlpYQzFkZGpXWmgyaWtNck5kS1NGbFV0TW10VkZpUHZ6UkRud1FRSGhkU2c0dC1OUVg3Y3psQ3dxaDVsdDhYdjZMTl9tNDVUZ2FMbDFqcVAwODJoVmNrRkNcIixcImFuY2VzdG9yT3JpZ2luc1N1cHBvcnRlZFwiOmZhbHNlfX0iLCJ2aWRlb19pZCI6IkdjMmVuM25IeEE0IiwicmVzb2x2ZV91cmxfcmVzcG9uc2UiOiJ7XCJyZXNwb25zZUNvbnRleHRcIjp7XCJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNcIjpbe1wic2VydmljZVwiOlwiQ1NJXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifSx7XCJrZXlcIjpcImN2ZXJcIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0LjAxLjAwXCJ9LHtcImtleVwiOlwieXRfbGlcIixcInZhbHVlXCI6XCIwXCJ9LHtcImtleVwiOlwiUmVzb2x2ZVVybF9yaWRcIixcInZhbHVlXCI6XCIweDEyYzc1ODFkNTU3NmQ5ZDJcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHRkVFREJBQ0tcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHVUlERURfSEVMUFwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkVDQVRDSEVSXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjbGllbnQudmVyc2lvblwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjRcIn0se1wia2V5XCI6XCJjbGllbnQubmFtZVwiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn1dfV0sXCJyZXNwb25zZUlkXCI6XCJJaE1JMWVhTmgtM3hsUU1WT09sUENCME0xUUZ5XCIsXCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXCI6e1wiaGFzRGVjb3JhdGVkXCI6dHJ1ZX19LFwiZW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJJaE1JMWVhTmgtM3hsUU1WT09sUENCME0xUUZ5TWdobGVIUmxjbTVoYk1vQkJHU3AtYVlcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOnt9fX0ifSwiUE9TVF9NRVNTQUdFX09SSUdJTiI6IioiLCJWSURFT19JRCI6IkdjMmVuM25IeEE0IiwiRE9NQUlOX0FETUlOX1NUQVRFIjoiIn0pO3dpbmRvdy55dGNmZy5vYmZ1c2NhdGVkRGF0YV8gPSBbXTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJweVZtUjdXZWN1aTNEYUdMenJRNldnIj53aW5kb3cueXRBdFAgPSBuZXcgUHJvbWlzZShyZXMgPT4gd2luZG93Lnl0QXROID0gcmVzKTsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7d2luZG93Lnl0QXROKCk7IGRlbGV0ZSB3aW5kb3cueXRBdE47fSk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0icHlWbVI3V2VjdWkzRGFHTHpyUTZXZyI+d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8dHJ1ZTt3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlcz17fTsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24obXNnLHVybCxsaW5lLG9wdF9jb2x1bW5OdW1iZXIsb3B0X2Vycm9yKXt2YXIgZXJyO2lmKG9wdF9lcnJvcillcnI9b3B0X2Vycm9yO2Vsc2V7ZXJyPW5ldyBFcnJvcjtlcnIubWVzc2FnZT1tc2c7ZXJyLmZpbGVOYW1lPXVybDtlcnIubGluZU51bWJlcj1saW5lO2lmKCFpc05hTihvcHRfY29sdW1uTnVtYmVyKSllcnJbImNvbHVtbk51bWJlciJdPW9wdF9jb2x1bW5OdW1iZXJ9dmFyIG1lc3NhZ2U9U3RyaW5nKGVyci5tZXNzYWdlKTtpZighZXJyLm1lc3NhZ2V8fG1lc3NhZ2UgaW4gd2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXMpcmV0dXJuO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW21lc3NhZ2VdPXRydWU7dmFyIGltZz1uZXcgSW1hZ2U7d2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWc9aW1nO2ltZy5vbmxvYWQ9aW1nLm9uZXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgd2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWd9O3ZhciB2YWx1ZXM9CnsiY2xpZW50Lm5hbWUiOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSwiY2xpZW50LnZlcnNpb24iOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iKSwibXNnIjptZXNzYWdlLCJ0eXBlIjoiVW5oYW5kbGVkV2luZG93IitlcnIubmFtZSwiZmlsZSI6ZXJyLmZpbGVOYW1lLCJsaW5lIjplcnIubGluZU51bWJlciwic3RhY2siOihlcnIuc3RhY2t8fCIiKS5zdWJzdHIoMCw1MDApfTt2YXIgcGFydHM9W3l0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiL2Vycm9yXzIwND90PWpzZXJyb3ImbGV2ZWw9RVJST1IiKV07dmFyIGtleTtmb3Ioa2V5IGluIHZhbHVlcyl7dmFyIHZhbHVlPXZhbHVlc1trZXldO2lmKHZhbHVlKXBhcnRzLnB1c2goa2V5KyI9IitlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKX1pbWcuc3JjPXBhcnRzLmpvaW4oIiYiKX07Cjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9InB5Vm1SN1dlY3VpM0RhR0x6clE2V2ciPnZhciB5dGVyciA9IHl0ZXJyIHx8IHRydWU7PC9zY3JpcHQ+PHNjcmlwdCBkYXRhLWlkPSJfZ2QiIG5vbmNlPSJweVZtUjdXZWN1aTNEYUdMenJRNldnIj53aW5kb3cuV0laX2dsb2JhbF9kYXRhID0geyJBZlk4SGYiOmZhbHNlLCJGTDFhbiI6ZmFsc2UsIkhpUHNiYiI6MCwiTVVFNk5lIjoieW91dHViZV93ZWIiLCJNdUpXamQiOmZhbHNlLCJVVUZhV2MiOiIlLkAubnVsbCwxMDAwLDJdIiwiY2ZiMmgiOiJ5b3V0dWJlLndlYi1mcm9udC1lbmQtY3JpdGljYWxfMjAyNjA3MjIuMDFfcDAiLCJmUER4d2QiOltdLCJoc0ZMVCI6IiUuQC5udWxsLDEwLDNdIiwiaUN6aEZjIjpmYWxzZSwiblF5QUUiOnt9LCJveE4zbmIiOnsiMSI6ZmFsc2UsIjAiOmZhbHNlLCI2MTA0MDEzMDEiOmZhbHNlLCI4OTk1ODg0MzciOmZhbHNlLCI3NzI2NTc3NjgiOnRydWUsIjUxMzY1OTUyMyI6ZmFsc2UsIjU2ODMzMzk0NSI6dHJ1ZSwiMTMzMTc2MTQwMyI6dHJ1ZSwiNjUxMTc1ODI4IjpmYWxzZSwiNzIyNzY0NTQyIjpmYWxzZSwiNzQ4NDAyMTQ1IjpmYWxzZSwiNzQ4NDAyMTQ2IjpmYWxzZSwiNzQ4NDAyMTQ3Ijp0cnVlLCIxNjAyNjEzMTg1IjpmYWxzZSwiODYxMzc3NzIzIjpmYWxzZSwiODYxMzc3NzI0IjpmYWxzZSwiODY5MzM2OTAzIjpmYWxzZSwiODgyNjc0NTA3IjpmYWxzZSwiODY5MzM2OTA0IjpmYWxzZSwiODY5MzM2OTA1IjpmYWxzZSwiMjgzOTUzMTU1IjpmYWxzZSwiOTE5NDQ0ODI0IjpmYWxzZSwiOTMxNDY4MDQ3IjpmYWxzZSwiOTI4ODc1Mzk4IjpmYWxzZSwiNjgzNzQ5MjAxIjpmYWxzZX0sInU0ZzdyIjoiJS5ALm51bGwsMSwzXSIsInhuSTlQIjpmYWxzZSwieHdBZkUiOnRydWUsInlGbnhyZiI6MjQ4Nn07PC9zY3JpcHQ+PHRpdGxlPllvdVR1YmU8L3RpdGxlPjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUdjMmVuM25IeEE0Ij48L2hlYWQ+PGJvZHkgY2xhc3M9ImRhdGUtMjAyNjA3MjYgZW5fVVMgbHRyICBzaXRlLWNlbnRlci1hbGlnbmVkIHNpdGUtYXMtZ2lhbnQtY2FyZCBnZWNrbyBnZWNrby0xMzQiIGRpcj0ibHRyIj48ZGl2IGlkPSJwbGF5ZXIiPjwvZGl2PjxzY3JpcHQgbm9uY2U9InB5Vm1SN1dlY3VpM0RhR0x6clE2V2ciPnZhciBzZXRNZXNzYWdlPWZ1bmN0aW9uKG1zZyl7aWYod2luZG93Lnl0JiZ5dC5zZXRNc2cpeXQuc2V0TXNnKG1zZyk7ZWxzZXt3aW5kb3cueXRjZmc9d2luZG93Lnl0Y2ZnfHx7fTt5dGNmZy5tc2dzPW1zZ319OwpzZXRNZXNzYWdlKHsiQUNDT1VOVF9MQUJFTCI6IkFjY291bnQiLCJBQ1RfT05fVEhJU19DT01NRU5UIjoiQWN0IG9uIHRoaXMgY29tbWVudCIsIkFERF9UT19EUk9QRE9XTl9MQUJFTCI6IkFkZCB0byBwbGF5bGlzdCIsIkFEX0JBREdFX0hJTlQiOiJBZHZlcnRpc2VtZW50IiwiQURfQkFER0VfVEVYVCI6IkFEIiwiQUxMX0NIQU5ORUxTX0xBQkVMIjoiQWxsIGNoYW5uZWxzIiwiQU1CSUVOVF9NT0RFIjoiQW1iaWVudCBtb2RlIiwiQU1CSUVOVF9NT0RFX09GRiI6IkFtYmllbnQgbW9kZSBvZmYiLCJBTUJJRU5UX01PREVfT04iOiJBbWJpZW50IG1vZGUgb24iLCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSI6IlBsZWFzZSB1cGRhdGUgeW91ciBkZXZpY2UgdG8gQW5kcm9pZCA0LjAgYmVmb3JlIE9jdCAyMiwgMjAyMCB0byBrZWVwIHVzaW5nIFlvdVR1YmUgd2l0aG91dCBpbnRlcnJ1cHRpb25zLiIsIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiOiJZb3VUdWJlIHdpbGwgbm8gbG9uZ2VyIGJlIHN1cHBvcnRlZCBvbiB5b3VyIGRldmljZSBhZnRlciAyMDIwLTEwLTIyIiwiQVBQX1VQU0VMTF9TVUJUSVRMRSI6IlVwbG9hZCwgc2F2ZSwgYW5kIGNvbW1lbnQgb24gdmlkZW9zIHdpdGggdGhlIFlvdVR1YmUgYXBwIiwiQVBQX1VQU0VMTF9USVRMRSI6IlN3aXRjaCB0byB0aGUgYXBwIGZvciBhIGJldHRlciB2aWV3aW5nIGV4cGVyaWVuY2UiLCJBVURJT19UUkFDSyI6IkF1ZGlvIFRyYWNrIiwiQVVUT05BVl9UT0dHTEUiOiJBdXRvcGxheSIsIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIjoiTmV4dCB2aWRlbyB3aWxsIGJlIHBsYXllZCBpbiB0ZW4gc2Vjb25kcyIsIkFVVE9QTEFZX1BBVVNFRCI6IkF1dG9wbGF5IGlzIHBhdXNlZCIsIkFVVE9QTEFZX1BMQVlfTk9XIjoiUGxheSBub3ciLCJBVVRPUExBWV9VUF9ORVhUX0lOIjoiVXAgbmV4dCBpbiBzZWNvbmRzX3BsYWNlaG9sZGVyIiwiQVVUT19UUkFOU0xBVEUiOiJBdXRvLXRyYW5zbGF0ZSIsIkFVVE9fWk9PTSI6IkF1dG8gem9vbSIsIkJBQ0siOiJCYWNrIiwiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiI6IkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiLCJDQU5DRUwiOiJDYW5jZWwiLCJDSEFOTkVMX1NXSVRDSEVSX0xBQkVMIjoiU3dpdGNoIGFjY291bnQiLCJDSEFSQUNURVJfTElNSVQiOiJVc2UgZmV3ZXIgdGhhbiAkbnVtYmVyIGNoYXJhY3RlcnMiLCJDTE9TRSI6IkNsb3NlIiwiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIjoiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIsIkNMT1NFRF9DQVBUSU9OU19PRkYiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIsIkNMT1NFRF9DQVBUSU9OU19PTiI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iLCJDTE9TRURfQ0FQVElPTlNfT05fTEFOR1VBR0UiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIChsYW5ndWFnZV9wbGFjZWhvbGRlcikiLCJDTE9TRV9TRUFSQ0hfTEFCRUwiOiJDbG9zZSBzZWFyY2giLCJDTE9TRV9TRVRUSU5HU19MQUJFTCI6IkNsb3NlIFNldHRpbmdzIiwiQ09NTUVOVEJPWF9QT1NUIjoiUG9zdCIsIkNPTU1FTlRfTU9EQUxfQ09OVEVOVCI6IlBsZWFzZSBzaWduIGluIHRvIGFjdCBvbiB0aGlzIGNvbW1lbnQuIiwiQ09ORklSTV9PSyI6Ik9LIiwiQ09OTkVDVF9UT19USEVfSU5URVJORVQiOiJDb25uZWN0IHRvIHRoZSBpbnRlcm5ldCIsIkNPUElFRF9UT19DTElQQk9BUkQiOiJDb3BpZWQgdG8gY2xpcGJvYXJkIiwiQ09QWSI6IkNvcHkiLCJDT1BZX0RFQlVHX0lORk8iOiJDb3B5IERlYnVnIEluZm8iLCJDT1BZX0VNQkVEX0NPREUiOiJDb3B5IGVtYmVkIGNvZGUiLCJDT1BZX0xJTktfTEFCRUwiOiJDb3B5IGxpbmsiLCJDT1BZX1ZJREVPX1VSTCI6IkNvcHkgdmlkZW8gVVJMIiwiQ09QWV9WSURFT19VUkxfQVRfQ1VSUkVOVF9USU1FIjoiQ29weSB2aWRlbyBVUkwgYXQgY3VycmVudCB0aW1lIiwiQ1JFQVRFX0NIQU5ORUxfVElUTEUiOiJDcmVhdGUgY2hhbm5lbCIsIkRFTEVURV9GUk9NX0RPV05MT0FEUyI6IkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIsIkRJQUxPRyI6IkRpYWxvZyIsIkRNQV9DT05TRU5UX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIHdpbGwgdGFrZSBlZmZlY3Qgb24gTWFyY2ggNiwgMjAyNC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9DT05GSVJNQVRJT04yIjoiWW91ciBjaG9pY2VzIGhhdmUgYmVlbiBzYXZlZC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9HRU5FUkFMX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hpbGUgbG9hZGluZyIsIkRNQV9DT05TRU5UX1JFQ09SRF9FUlJPUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB5b3VyIGNob2ljZXMgd2VyZSBub3Qgc2F2ZWQiLCJET05FIjoiRG9uZSIsIkRPV05MT0FEIjoiRG93bmxvYWQiLCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIjoiQ29weSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2UsIGZhaWxlZCB0byBjb3B5LiIsIkZMQUdfQ09ORklSTSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBmbGFnIHRoaXMgdmlkZW8/IiwiRkxBR19DT05URU5UIjoiU2lnbiBpbiB0byBmbGFnIGl0LiIsIkZMQUdfTEFCRUwiOiJGbGFnIGFzIGluYXBwcm9wcmlhdGUiLCJGTEFHX1RJVExFIjoiSW5hcHByb3ByaWF0ZSB2aWRlbz8iLCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiOiJGdWxsIHNjcmVlbiBpcyB1bmF2YWlsYWJsZS4iLCJHT09HTEVfQ09NUEFOWSI6IllvdVR1YmUsIGEgR29vZ2xlIGNvbXBhbnkiLCJISURFX0FMRVJUIjoiSGlkZSB0aGlzIGFsZXJ0IiwiSElERV9QTEFZRVJfQ09OVFJPTFMiOiJIaWRlIHBsYXllciBjb250cm9scyIsIkhJREVfUExBWUxJU1RfVklERU9TIjoiSGlkZSBwbGF5bGlzdCB2aWRlb3MiLCJISURFX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiSGlkZSBzZWFyY2ggZmlsdGVycyIsIkhPTUUiOiJIb21lIiwiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCI6IkludmFsaWQgcmVzcG9uc2UgcmVjZWl2ZWQuIiwiTEVBVkVfQV9DT01NRU5UX1RJVExFIjoiTGVhdmUgYSBjb21tZW50PyIsIkxJQlJBUlkiOiJMaWJyYXJ5IiwiTElLRV9DT1VOVF9URVhUIjp7ImNhc2UwIjoiTm8gbGlrZXMiLCJjYXNlMSI6IjEgbGlrZSIsIm90aGVyIjoiIyBsaWtlcyJ9LCJMSUtFX0NPVU5UX1RFWFRfTEFCRUwiOiJ7XCJjYXNlMFwiOiBcIk5vIHBlb3BsZSBoYXZlIGxpa2VkIHRoaXMgdmlkZW8uXCIsIFwiY2FzZTFcIjogXCIxIHBlcnNvbiBoYXMgbGlrZWQgdGhpcyB2aWRlby5cIiwgXCJvdGhlclwiOiBcIiMgcGVvcGxlIGhhdmUgbGlrZWQgdGhpcyB2aWRlby5cIn0iLCJMSVNURU5JTkciOiJMaXN0ZW5pbmcuLi4iLCJMT0FESU5HIjoiTG9hZGluZy4uLiIsIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIjoiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIsIkxPT1AiOiJMb29wIiwiTUVOVV9ERVNLVE9QIjoiRGVza3RvcCIsIk1FTlVfRVhJVCI6IkV4aXQiLCJNRU5VX0ZFRURCQUNLIjoiRmVlZGJhY2siLCJNRU5VX0hFTFAiOiJIZWxwIiwiTUVOVV9JTVBSRVNTVU0iOiJJbXByaW50IiwiTUVOVV9QTEFZRVJfU0VUVElOR1MiOiJQbGF5YmFjayBTZXR0aW5ncyIsIk1FTlVfUkVQT1JUX0FfUFJPQkxFTSI6IlJlcG9ydCBhIHByb2JsZW0gd2l0aCBZb3VUdWJlIiwiTUVOVV9TRU5EX0ZFRURCQUNLIjoiU2VuZCBmZWVkYmFjayIsIk1FTlVfU0VUVElOR1MiOiJTZXR0aW5ncyIsIk1FTlVfU0lHTl9JTiI6IlNpZ24gSW4iLCJNRU5VX1RFUk1TIjoiUHJpdmFjeSBcdTAwMjYgVGVybXMiLCJNRU5VX1RJVExFIjoiTWVudSIsIk1FTlVfWU9VUl9EQVRBIjoiWW91ciBkYXRhIGluIFlvdVR1YmUiLCJNRVRBREFUQV9TVUJUSVRMRV9DSEFOTkVMX05BTUVfTEFCRUwiOiJVcGxvYWRlZCBieSAke2NoYW5uZWxfbmFtZV9wbGFjZWhvbGRlcn0uIiwiTU1HX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIGhhcyBiZWVuIHNhdmVkLiBZb3UgY2FuIGNoYW5nZSB0aGlzIHNldHRpbmcgYW55dGltZSBpbiBNeSBBZCBDZW50ZXIuIiwiTU1HX0NPTlNFTlRfUkVDT1JEX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHlvdXIgY2hvaWNlIHdhcyBub3Qgc2F2ZWQiLCJNT1JFIjoiTW9yZSIsIk1PUkVfSU5GTyI6Ik1vcmUgaW5mbyIsIk1PUkVfTE9XRVJDQVNFIjoibW9yZSIsIk1PUkVfT1BUSU9OUyI6Ik1vcmUgb3B0aW9ucyIsIk1PUkVfVklERU9TIjoiTW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19DTE9TRV9CVVRUT05fQVJJQV9MQUJFTCI6IkhpZGUgbW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19GUk9NX0NIQU5ORUwiOiJNb3JlIHZpZGVvcyBmcm9tICRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLCJNT1JFX1ZJREVPU19ORVhUX0JVVFRPTl9BUklBX0xBQkVMIjoiTmV4dCB2aWRlb3MiLCJNT1JFX1ZJREVPU19QUkVWSU9VU19CVVRUT05fQVJJQV9MQUJFTCI6IlByZXZpb3VzIHZpZGVvcyIsIk1VVEVfVk9MVU1FIjoiTXV0ZSIsIk5FV19QTEFZTElTVCI6Ik5ldyBwbGF5bGlzdCIsIk5FWFRfVklERU8iOiJOZXh0IHZpZGVvIiwiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiOiJTb21ldGhpbmcgd2VudCB3cm9uZywgcGxlYXNlIHRyeSBhZ2Fpbi4iLCJOT1RfRk9VTkRfQ1RBIjoiQnJvd3NlIFZpZGVvcyIsIk5PVF9GT1VORF9NRVNTQUdFIjoiUGxlYXNlIHNlYXJjaCBmb3Igc29tZXRoaW5nIGVsc2UsIG9yIGJyb3dzZSB5b3VyIEhvbWUgZmVlZC4iLCJOT1RfRk9VTkRfVElUTEUiOiJUaGlzIHBhZ2UgaXNuXHUwMDI3dCBhdmFpbGFibGUiLCJOT19ET1dOTE9BRFMiOiJObyBkb3dubG9hZHMiLCJOT19NSUNfSU5QVVQiOiJEaWRuXHUwMDI3dCBoZWFyIHRoYXQuIFRyeSBzcGVha2luZyBhZ2Fpbi4iLCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iOiJZb3VcdTAwMjdyZSBvZmZsaW5lLiBDaGVjayB5b3VyIGNvbm5lY3Rpb24uIiwiT09QU19NRVNTQUdFIjoiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcuIiwiT1BFTl9BUFAiOiJPcGVuIEFwcCIsIk9QRU5fWU9VVFVCRSI6Ik9wZW4gdGhlIGFwcCIsIk9QRU5fWU9VVFVCRV9BUFAiOiJPcGVuIFlvdVR1YmUgYXBwIiwiUEFVU0UiOiJQYXVzZSIsIlBMQVkiOiJQbGF5IiwiUExBWUJBQ0tfU1BFRURfWCI6IiR7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcn14IiwiUExBWUVSX0NBUFRJT04iOiJDYXB0aW9ucyIsIlBMQVlFUl9DQVBUSU9OX09GRiI6Ik9mZiIsIlBMQVlFUl9DQVBUSU9OX09OIjoiT24iLCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIjoiMngiLCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIjoiRG91YmxlIHRhcCBsZWZ0IG9yIHJpZ2h0IHRvIHNraXAgMTAgc2Vjb25kcyIsIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiOiJEb3VibGUgdGFwIHRvIHNob3cgb3IgaGlkZSBwbGF5ZXIgY29udHJvbHMiLCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIjoiRXhpdCBmdWxsIHNjcmVlbiIsIlBMQVlFUl9GQVNURk9SV0FSRF9TRUNPTkRTIjoiRmFzdCBmb3J3YXJkICRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfRlVMTFNDUkVFTiI6IkVudGVyIGZ1bGwgc2NyZWVuIiwiUExBWUVSX0xJVkVfTEFCRUwiOiJMaXZlIiwiUExBWUVSX0xJVkVfTk9XIjoiTGl2ZSBub3ciLCJQTEFZRVJfTUlOSU1JWkUiOiJNaW5pbWl6ZSIsIlBMQVlFUl9ORVhUIjoiTmV4dCB2aWRlbyIsIlBMQVlFUl9QQVVTRSI6IlBhdXNlIHZpZGVvIiwiUExBWUVSX1BMQVkiOiJQbGF5IHZpZGVvIiwiUExBWUVSX1BSRU1JRVJFX0xBQkVMIjoiUHJlbWllcmUiLCJQTEFZRVJfUFJFVklPVVMiOiJQcmV2aW91cyB2aWRlbyIsIlBMQVlFUl9QUk9HUkVTU19CQVIiOiJTZWVrIHNsaWRlciIsIlBMQVlFUl9RVUFMSVRZIjoiUXVhbGl0eSIsIlBMQVlFUl9RVUFMSVRZX0FVVE8iOiJBdXRvIiwiUExBWUVSX1JFUExBWSI6IlJlcGxheSBWaWRlbyIsIlBMQVlFUl9SRVdJTkRfU0VDT05EUyI6IlJld2luZCAkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NFQ09ORFMiOiIkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NQRUVEIjoiU3BlZWQiLCJQTEFZRVJfU1BFRURVUF9VU0VSX0VEVSI6IlBsYXlpbmcgYXQgc3BlZWRfcmF0ZV9wbGFjZWhvbGRlcnggc3BlZWQiLCJQTEFZRVJfU1BFRURfREVDUkVBU0UiOiJEZWNyZWFzZSBwbGF5YmFjayBzcGVlZCIsIlBMQVlFUl9TUEVFRF9JTkNSRUFTRSI6IkluY3JlYXNlIHBsYXliYWNrIHNwZWVkIiwiUExBWUVSX1NQRUVEX05PUk1BTCI6Ik5vcm1hbCIsIlBMQVlFUl9TUEVFRF9SRUNFTlQiOiJSZWNlbnQiLCJQTEFZRVJfVElNRV9EVVJBVElPTiI6IlRpbWUgZHVyYXRpb24iLCJQTEFZRVJfVElNRV9FTEFQU0VEIjoiVGltZSBlbGFwc2VkIiwiUExBWUVSX1RJTUVfRk9STUFUVEVEIjp7ImNhc2UwIjoiJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJjYXNlMSI6IjEgaG91ciwgJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJvdGhlciI6IiMgaG91cnMsICR7bWludXRlc30gbWludXRlcyBhbmQgJHtzZWNvbmRzfSBzZWNvbmRzIn0sIlBMQVlMSVNUX0NVUlJFTlRfVklERU9fSU5ERVgiOiIke2N1cnJlbnRfdmlkZW9faW5kZXh9IG9mICR7bGFzdF9pbmRleH0uIiwiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIjoiUGxheWxpc3QgZGVzY3JpcHRpb24gY2FuXHUwMDI3dCB1c2UgXHUwMDNjIG9yIFx1MDAzZSIsIlBMQVlMSVNUX01JWF9ERVRBSUxFRF9MT05HX0JZTElORSI6Ik1peGVzIGFyZSBwbGF5bGlzdHMgWW91VHViZSBtYWtlcyBmb3IgeW91IiwiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiOiJQbGF5bGlzdCB0aXRsZSBjYW5cdTAwMjd0IHVzZSBcdTAwM2Mgb3IgXHUwMDNlIiwiUExBWUxJU1RfTkFNRV9NSVNTSU5HIjoiUGxheWxpc3QgdGl0bGUgcmVxdWlyZWQuIiwiUExBWUxJU1RfTkFNRV9UT09fTE9ORyI6IlBsYXlsaXN0IHRpdGxlIGlzIHRvbyBsb25nLiIsIlBMQVlMSVNUX1BBTkVMX0VORF9PRl9QTEFZTElTVCI6IkVuZCBvZiBQbGF5bGlzdCIsIlBMQVlMSVNUX1BBTkVMX05FWFQiOiJOZXh0OiIsIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIjoiVW5saXN0ZWQgUGxheWxpc3QiLCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiOiJjdXJyZW50X2NvdW50X3BsYWNlaG9sZGVyIG9mIG1heF9jb3VudF9wbGFjZWhvbGRlciBjaGFyYWN0ZXJzIHVzZWQiLCJQTEFZX0FMTCI6IlBsYXkgYWxsIiwiUExFQVNFX0ZJWF9FUlJPUlMiOiJQbGVhc2UgZml4IGVycm9ycyBhbmQgdHJ5IGFnYWluLiIsIlBSRU1JVU1fQkFER0VfTEFCRUwiOiJQcmVtaXVtIiwiUFJFVklPVVNfVklERU8iOiJQcmV2aW91cyB2aWRlbyIsIlBSSVZBQ1lfUE9MSUNZIjoiUHJpdmFjeSBQb2xpY3kiLCJSRUxPQUQiOiJSZWxvYWQiLCJSRVBMSUVTX1NIT1dfTU9SRSI6IlNob3cgbW9yZSByZXBsaWVzIiwiUkVRVUlSRURfTEFCRUwiOiJSZXF1aXJlZCIsIlNBVkVfUExBWUxJU1QiOiJTYXZlIiwiU0NSVUJfU0xJREVfVVNFUl9FRFUiOiJTbGlkZSBsZWZ0IG9yIHJpZ2h0IHRvIHNlZWsiLCJTRUFSQ0giOiJTZWFyY2giLCJTRUFSQ0hfQVBQRU5EX0xBQkVMIjoiQXBwZW5kIHN1Z2dlc3Rpb24gdG8gc2VhcmNoIGZpZWxkIiwiU0VBUkNIX0NIQU5ORUwiOiJTZWFyY2ggY2hhbm5lbCIsIlNFQVJDSF9DTEVBUl9MQUJFTCI6IkNsZWFyIGN1cnJlbnQgc2VhcmNoIHRleHQiLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU0iOiJBbGJ1bSBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU1fTk9fQVJUSVNUIjoiQWxidW0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fTU9WSUUiOiJNb3ZpZSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9TT05HIjoiU29uZyBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiOiJTb25nIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciOiJUViBzaG93IiwiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJTZWFyY2ggZmlsdGVycyIsIlNFQVJDSF9MQUJFTCI6IlNlYXJjaCBZb3VUdWJlIiwiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIjoiU2VhcmNoIHBhaWQgcHJvZHVjdCBwbGFjZW1lbnQgdmlkZW9zIiwiU0VFS19TTElERVIiOiJTZWVrIHNsaWRlciIsIlNFVFRJTkdTX0xBQkVMIjoiU2V0dGluZ3MiLCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSBhbGxvdyBtaWNyb3Bob25lIHBlcm1pc3Npb24gaW4gZGV2aWNlIHNldHRpbmdzLiIsIlNFVF9QTEFZQkFDS19TUEVFRF9YIjoiJHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyfXggc3BlZWQiLCJTSE9SVFNfVEFCX0xBQkVMIjoiU2hvcnRzIiwiU0hPV19MRVNTIjoiU2hvdyBsZXNzIiwiU0hPV19NT1JFIjoiU2hvdyBtb3JlIiwiU0hPV19QTEFZRVJfQ09OVFJPTFMiOiJTaG93IHBsYXllciBjb250cm9scyIsIlNIT1dfUExBWUxJU1RfVklERU9TIjoiU2hvdyBwbGF5bGlzdCB2aWRlb3MiLCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiU2hvdyBzZWFyY2ggZmlsdGVycyIsIlNJR05fSU5fTEFCRUwiOiJTaWduIGluIiwiU0lHTl9JTl9PTl9XRUIiOiJTaWduIGluIG9uIHdlYiIsIlNUQUJMRV9WT0xVTUUiOiJTdGFibGUgdm9sdW1lIiwiU1RBQkxFX1ZPTFVNRV9PRkYiOiJTdGFibGUgdm9sdW1lIG9mZiIsIlNUQUJMRV9WT0xVTUVfT04iOiJTdGFibGUgdm9sdW1lIG9uIiwiU1RBVFNfRk9SX05FUkRTIjoiU3RhdHMgRm9yIE5lcmRzIiwiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiOiJTdWdnZXN0aW9uIFJlbW92ZWQiLCJTVUdHRVNUSU9OX0RJU01JU1NfSU5fU0VUVElOR1NfTEFCRUwiOiJSZW1vdmUgaW4gc2V0dGluZ3MiLCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiOiJSZW1vdmUiLCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCI6Ik5ldyB2aWRlb3MiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfQlVUVE9OX0xBQkVMIjoiVmlzaXQgc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX0RFU0NSSVBUSU9OIjoiVmlzaXQgaW1hZ2Ugc291cmNlIHdlYnNpdGU/IiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX1RJVExFIjoiSW1hZ2Ugc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fTEFCRUwiOiJWaWV3IGltYWdlIHNvdXJjZSIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIjoiSW1hZ2UgZm9yIHN1Z2dlc3Rpb24iLCJURVJNU19PRl9TRVJWSUNFIjoiVGVybXMgb2YgU2VydmljZSIsIlRJTUVTVEFNUF9NSU5VVEVTIjoidGltZXN0YW1wIG1pbnV0ZXMgcmVxdWlyZWQiLCJUSU1FU1RBTVBfU0VDT05EUyI6InRpbWVzdGFtcCBzZWNvbmRzIHJlcXVpcmVkIiwiVE9HR0xFX09GRiI6Ik9mZiIsIlRPR0dMRV9PTiI6Ik9uIiwiVFJFTkRJTkciOiJUcmVuZGluZyIsIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSI6IlRyb3VibGVzaG9vdCBwbGF5YmFjayBpc3N1ZSIsIlRSWV9BR0FJTl9MQVRFUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSB0cnkgYWdhaW4gYW5kIGFsbG93IG1pY3JvcGhvbmUgcGVybWlzc2lvbi4iLCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSI6IlR1cm4gb2ZmIiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIjoiV2hlbiBhdXRvcGxheSBpcyBvZmYsIGEgc3VnZ2VzdGVkIHZpZGVvIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkgcGxheSBuZXh0IiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIjoiVHVybiBvZmYgYXV0b3BsYXk/IiwiVU5NVVRFX1ZPTFVNRSI6IlVubXV0ZSIsIlZJREVPUyI6Int2aWRlb3MscGx1cmFsLCBcdTAwM2QwezAgdmlkZW9zfVx1MDAzZDF7MSB2aWRlb31vdGhlcnsjIHZpZGVvc319IiwiVklERU9fTElOS19MQUJFTCI6IlZpZGVvIGxpbmsiLCJXQVRDSEVEIjoiV2F0Y2hlZCIsIl9fbGFuZ19fIjoiZW4ifSk7PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9zL18veXRlbWJlZHMvXy9qcy9rPXl0ZW1iZWRzLmJhc2UuZW5fVVMuXzg4VHd5eUhLSHMuMjAyMS5PL2FtPUFBQUFnQS9kPTEvYnI9MS9ycz1BR0tNeXdFdTJUUVV6ZFNGMEFjc0ZCTVVyRnF5dXJLbHV3L209cm9vdCxiYXNlIiBuYW1lPSJlbWJlZF9jbGllbnQiIGlkPSJiYXNlLWpzIiBub25jZT0icHlWbVI3V2VjdWkzRGFHTHpyUTZXZyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIiBuYW1lPSJwbGF5ZXIvYmFzZSIgbm9uY2U9InB5Vm1SN1dlY3VpM0RhR0x6clE2V2ciPjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9InB5Vm1SN1dlY3VpM0RhR0x6clE2V2ciPndyaXRlRW1iZWQoKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJweVZtUjdXZWN1aTNEYUdMenJRNldnIj4oZnVuY3Rpb24oKSB7aWYgKHdpbmRvdy55dEF0Tikge3dpbmRvdy55dEF0Tih7J1InOiAnXHg3Ylx4MjJyZXNwb25zZUNvbnRleHRceDIyOlx4N2JceDIyc2VydmljZVRyYWNraW5nUGFyYW1zXHgyMjpceDViXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyQ1NJXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJjXHgyMixceDIydmFsdWVceDIyOlx4MjJXRUJfRU1CRURERURfUExBWUVSXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJjdmVyXHgyMixceDIydmFsdWVceDIyOlx4MjIyLjIwMjYwNzI0LjAxLjAwXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJ5dF9saVx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyR2V0QXR0ZXN0YXRpb25DaGFsbGVuZ2VfcmlkXHgyMixceDIydmFsdWVceDIyOlx4MjIweDEyYzc1ODFkNTU3NmQ5ZDJceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkdGRUVEQkFDS1x4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIybG9nZ2VkX2luXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2RceDVkXHg3ZCxceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJHVUlERURfSEVMUFx4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIybG9nZ2VkX2luXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2RceDVkXHg3ZCxceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJFQ0FUQ0hFUlx4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIyY2xpZW50LnZlcnNpb25ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjIuMjAyNjA3MjRceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMmNsaWVudC5uYW1lXHgyMixceDIydmFsdWVceDIyOlx4MjJXRUJfRU1CRURERURfUExBWUVSXHgyMlx4N2RceDVkXHg3ZFx4NWQsXHgyMnJlc3BvbnNlSWRceDIyOlx4MjJJaE1Jb2RHT2gtM3hsUU1Wa3RaUENCMFJWQ1VkXHgyMixceDIyd2ViUmVzcG9uc2VDb250ZXh0RXh0ZW5zaW9uRGF0YVx4MjI6XHg3Ylx4MjJoYXNEZWNvcmF0ZWRceDIyOnRydWVceDdkXHg3ZCxceDIyY2hhbGxlbmdlXHgyMjpceDIyYVx4M2Q2XFx1MDAyNmEyXHgzZDEwXFx1MDAyNmNceDNkMTc4NTEyMDc2MVxcdTAwMjZkXHgzZDU2XFx1MDAyNnRceDNkMjE2MDBcXHUwMDI2YzFhXHgzZDFcXHUwMDI2YzZhXHgzZDFcXHUwMDI2YzZiXHgzZDFcXHUwMDI2aGhceDNkbXB4Wjg2dFNMeW9LMk9yaWVnMWx6TmhKRFl4bXFzS1dFRmxGamROUEVXOFx4MjIsXHgyMmJnQ2hhbGxlbmdlXHgyMjpceDdiXHgyMmludGVycHJldGVyVXJsXHgyMjpceDdiXHgyMnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZVx4MjI6XHgyMlwvXC93d3cuZ29vZ2xlLmNvbVwvanNcL3RoXC9iOHFYckZBdTlQSFZyR3FNWmkybnFLbTlUVU5QcnJ6RWg0MFBBbC02b1ZvLmpzXHgyMlx4N2QsXHgyMmludGVycHJldGVySGFzaFx4MjI6XHgyMmI4cVhyRkF1OVBIVnJHcU1aaTJucUttOVRVTlBycnpFaDQwUEFsLTZvVm9ceDIyLFx4MjJwcm9ncmFtXHgyMjpceDIyUnJ2SzFZN0F0M1cxVTZZdGpSTEwxS1NjVUhvcU51TWZsM1kxNThNaUVMazJhR0srOHhFS2lOdnJcL0Z2eVV4THJoU0lDY1U4dWNNcU1HWmM5K2VHdUpsRmFwcnlXalMrWFdTbVJWc1wvWlVQMXhnaEY2MWNSdXFWOW00ZVwvNWlWNUpQa2VYekRicTVZWGtKanREYXE5K2JJdCtyUjJ1aWYzMGFTazh0OUxvSE5PS1c4T0ZTV0pNdFlabFc2M0trNCtvSmlYNmY4bUV1ZDdweUF2YWpQVFpZc1ZpUTIrUjNcL3o4SElhWlwvdkU3Tkd4bkllOGFlS3RyZnZndjdFa2d0Nzh4RGhcLyttUDZUemhGem52WHY2Q0FxQ3lpanhPQURTMnZCNXFFRzAxOUhxZUFEYTBcL0FLd2hmXC81enFnT1p5dlR2b3YrbXFlbGdUSjlkQkFSMkVhb01UYmJZRUFXUW5peUlpZzhmckZMakR2dmhETXVYUlNTRzRHRytJODRCcVNHUEk2MmhNZjlnK0dlU3d4WVg3ME5XdFB1WVBDNnI3ajZtNGwyWldTUmxvc1NIT1VZQ0p1SzFrZjNFcFFLS2d3VmZEc1pUa2c2T1wvY1orTHlXUTRhZHZ6d28rZkgwaVZES2NvekdpT1l1NEZnMnVRSWZZNDJwRlJXaTNqXC9JUndaQmxVdTk5QXN5Vmp2Y2JqU1VscTl2djRDNEo3RjVNSEZXVmZacTMwSTY5VVwvUkdzRkd5ekUyXC9QTkhkb0dHYXdIQWJGWHo4WDAwdXBsZXBSTUFRZUkxaXFyZHZPcFdkUTk2d2h6OUN2NXNIdWUrdnRPck53bXVjb0pvZGJhRUkrRFJvc1JvXC9YbWZBTllReGRMQXV6cjVwUGhYZlU3XC9qZDNlNFE0QzFQemtweXJPMklRMmwrWmVGYzBTMFg5am1Kd0FIU1IwazA0ZlFDdWhaR0xRd0tXdVZDazhkbEVobFBqeWJWRGc2TjJjWTZLc21semZ5RzE4MVJiRmNVM25yYVo1Rjg0c3RVUlVUXC9zcXB5MDFIeFAxaE9MelEzQzBaV2VCSEZaam9yXC9MUkdZN201TEdPblwvU3VzR05hN2I2QlRoZG5OeVwvNGloSUZ2QkVQUldOVEk0NTJQM1g0bm9YUmw4dCtDUUR6b1RYbDV1SVwvY1llbnRFWlhaVGx0cExNV3R1YjdIXC9JbGhidkhjbjRGeWpOVmJObDZzUHFtOHRvVlB1cE5MY1VlQVU0WVpYZzhoYnNoaHJBOU9rd1BmRTN2XC9FYkhjd1RhRVcrNmtjRFdUNk5QMmRGd2NcL2VOQnhcL3JRcnBjNTNaamRLTUJxTVkrbnVJd09mRENteXdwXC95d1N2V3FuVUJLRUhJa05YNW5oUGVydkFnbGdYb2NURmpEdUVsN1RLN25FckZERlllakJnbjFEZm1zTDBEb3Q0VTVQSXNLTkJpZWp4OENMVlZZNDUxSG5YWXN2VklTZUN6dzRUSVVmbTZ0Z1J5YmpvaCtxODFcL1NLcFNoVEIyd1htdVZ4OG8rSHY2Rm9acWJGSDlHTXlaRUtyc08zVWc5NFMwUjNwaGFFNXR4YndpYnBObVFtXC9mTWtxem1xbU1GRGtRa1wvS3d5XC9XT2d0MjlnNHljaDFZXC9hN0pzSitoc2VzN2c0YzJpdm8xTHdUS095c1BFUmhjSjdqSlZDWmNBQXdic1FMQjc3SUkrbGZLM05IZllDZzlFK0dVQ21QS29vSzdhSmZrcUVvWVo2TURVWjJsRk5sZWJUSldEektMR29jeVFpMUtNT1BBcThIaWlMZVdNSzFUaEkySzNPcHd6XC9SS1lBd0xIMzhqNW1zRDdMckpBbTZ6dGl6VW41VlwvMjl3T1pWS1FESFV6SkhlYmdMejdrUmIzbGQzSmU3c2pWUVVkclJCTTRzUjhIb2x1ZkZwYmg2bFBUaGhuWWkzVDFObmZuRWFTOEFNeW5hSkFnMjlJM1lCc3hFZjIrQ09LXC9mQWlsRHJnclU4VFN5OFFraGFcL1wvbUhHelBCM0JjYmpLU0s2YmhnZmtjNTdtNlVicHhCbFFtcERSdkd6b01wNTZHXC8rd1lIV1ZBaGNQeDc3NWpzRmpcLzRuN0tMbWU2bVwvdUJIS2MzTHNnSk1nOEw1d0xBUXFQZHhkYUd0NTI0YThxNTBGOXlCNDc4ZG8xallIZm9NK3VkbUV2VHE1cXZvRnhzeVpicFAwdHFBblFMSWVtR1kyc1pUbk5oaXYwcHpCZHRwSmFWRUpcL1JneUVNQlRrdUhER0dYUnlLQXUwcG8yS2VvajZxaWJhVHBnNVcyTVdLWTlNZjRlVkdVVnJnWmhBOUw3WDhjeWRLQXlYcThhQ0NRMGxYbE1PSHFwazBmOVJ4dGZmMjZYUHRIcEltYitFYVdDZ2JpK20yTzNPcE1Nb3NPSWl3ZEZMWTlrcW9tVFwvXC9rXC90dXJsTXlDcmFCYVVRVGJpdnIzaDFMUXk0MFowNCtQZFBSbUFSQmdnVjJXK1dVbmIzd1IwMUNLU2t5RDEydjRSVUlwdERSN281MTdMOG9EbWh5YVRncXVlV0FXSDd6R2RHZDZhZnIya3JIbTQ2YUZ0ZVRodGlcL3J3bURsSW1LcTBNRFFhSnFuVlFxb0trRlFFSGloT21yYUlCZ1wvbHdYTGVnZGl6N2o0OThoek1HNVVvVHhsdVhENWVcL05yM1FBdWhIUE0wVDZ4Nlh0Mk5hRDY0TUdqR1FYeDB2SlBiOVwvVnJ6akhkQ3NOVGxhSE5SZklET3BRWVZRQ0QrT3RVcUFVTE5kWEN0ajhOQzBJVXNUaE9Jbk5oN2VSMU54WDNwaklndWxsYlFJUVh4ZkZNaUJOVXYxTzhQNVBzXC9GaFN3QzRscEt3WHJBdVUyNFVlclZkZFhsb2ZSNFVmMFhXTjZSd1BoRVY1dVwvdHVCK1JzOXBIOUFVaG1rREJ2NkJ2QThRbG05M3kyME1FakRXRWpxNzBRa0c3RklvNVRTQTFtR0NqQ09BdVVEKzVGTk9nNUJlekR0bXllNUViYlF0V0dJSWxaZlNzbTRXSzVXUHVYcklreThEek5rUjdJekZ6NWQ4Z3BRdFZaWW12eUZTazBPXC9BYmd0cENkeUlPVkFTbjVyRGZzSnZzYXoxdDE5VmlTUGZiRDlGM1VIeHVhelRGT0VTelI0QnJnaUxjU0pEQ29UT215dU9cL3hBYlVSZWhkODM1T2hLbUlZQktLNGNKU2dnR1RmQWRRaEMxeE9jQTY4cXpUbGp1ZGJlbElrUXJ3XC9MRXpkNnEwVkRDU2tzVmJqT1wvMUZoQk1TZXh1NTZIZWVkelJ6Q2ZKQjU0MUNaK0RyTGNaWk0wM29QSUNXVFZpSTJKdGlBdEJCVEVuc3VReWh5VjNtMk5PU09WWnZyWmdVT3hVNStHRVJOdFdmSjhKVWdOXC9tNTUyN2E2S3hJaHFYNkFtc3JBWE8yOElwM3FJaHRCV0NaYk9TbWZiMzkwN3llcWVvWjJNMU9ZM2xWRGQ2RVE0TUFFQVVFcWs2eE5GbEs0UHJYRzV1YVwvWkpWTDB4Z2JtQ2srUmtEMUkxelBGbTdpbzRwMWF1N1FnN1lSSjFtWVR0WXNTU1BoamJwV3VXVkdzdkRLYkVVZHhGZU90djFHVFd1Z3F2d2xnME15Y3FzMWY3UlJFWDlGd0k4VDlJMTJYUVVIU1wvRGU5TTZIYWZaSFhFc3dEOWdQbGRtSWNMYUdQVmFDTHgrbURrSCtueW9FaUF3RmdFbXlNMGFldldxVFNFdFFYUUJvOVowWFBIQVJvN1wvblczbzMwTlVNZWx6YVFtbU9XWlVyOVV2WW02V2kzazdhNWNSeDVHTkdNVnNRWVl6QzhFc1FVMnMwMytKclpSY3BTZzhuc0lWUjlNakp6cnNlVWcrVzVkV29rWkZ5bHdIVFNjZVJMdE9wTlA5dFpKbHJtZ2c4c1hXYWdQaGZ2dlJHYnFreWQ1MTQzc2N2Yzd3NmltakkxdlRack9zVkk5c0FFNFloY0huTGdZeHl5clRNOG1TU3JxM3h3Um81M1NtT3V4RTlQZHdcLzlwWTkyMDdrN2dsSmRyYyt5ZndoK2F3VVA3ZVRHZ2NXdzczNVN2MXNVTnVvT3J0UHFEWW9RU2NUTUNIWUtHdUpUNmRWZVwvanV4aWo0WHNVU1VIV2F0YmJsWjFJK0IrQkZkZCtMdEtHQ3Z3NkJmTk5mbmlvZUFIM1phVW54Vmo5S20yelVYcHgxU1FLeFl5UGlXRWxjMGVITUtqaWJuWnpEcDh6aHdOXC9Vb3BqUWNRdnFLemkxYWlMSzVodmFEdjd2WmR1d2NVdThKOGoxM2VqYUI4dTNSR2FwR0tObFZ0RHBiTXpuSFdTU2hIRE5iK0ZjWGZmbjl2dHV5aXI3MzdqZk84MWZtSnliV2V0NFF0a3pWY0ordlljNXMyamhvVVQrWURrVUtpcVlNdkxPTmtLaFpcLzVwUzZ2bGNSZFMyTm56ZmFFUThzblE3QVNUUU9SK0xmVkROamtKdHhMMHJEZU1WdTVudytidFhWSHBCUndZZWltYjNQRFZiTWRmU3ZpRlcxeVFMdE9SVG45cDdTc0lSdmFINStjVHNydXpXZlltTFQ3blBwNkE3NmdqSWMwVnBNRElpRVFFWFhad3RDYWQ5enZ2eTh2TmNITTNVWXlrYU84Y3d3MVZ6eWpDb1F5SXpZeUZiQ2pFUXRtK1oyT3RucjdJYlVYRFVIY2hnOGUzZUZHMzBZZFlMMGR3VmpZQXhHdVR6N1RjcnNDVTRmazgyTXo1N2xaT2I2N29OWE5xWXhEc0U5dGpTNE1ycFVIRTMwbVg0bnNLdHNWd0k4V280T3kwRTNGOFp4SVpleUF4SHN2MjlOVkk4ZVwvMnJXNWVpSUJCYzMwUkxlOGFMWGl2SlQ4WmlFQjFLa0l0THdNRGdtRUNjXC9ZOXRuajU5Y3E1VlJ2STBHRHE0TGxmTnZNSDE1MDg3VXUxWFVidCt5SFoyMXpHTVpFWnhWVW1vZEU2bmttQVdPMUtOMnJ6dkVxYnNySHRVZVJKMFRncmJsM1YybWpiWlJqN1dPMDFlV2dcL1VTVk1tY2dPNFpIUDVwR0lOUVNpVG12STB0N0NPWjBJNElZcmFSWVZmbzR0S1dCVzl0Y3J1VkhzZGVCaXI5a1JVb25tZDFXZmFGclNkOCsraW1SSytZUGQ4S2djR0lNZWduN3Z1OVRVU2RVdEgzYzJEZDN1dWptVFwvQWRZS2FIdjNDNHc1ZUs3M1AzT3lremtoUXk2NHAwN0xpaFVjbUNMdGxEcWQzaEVQRG5YbEZzVDRacGNiYndkZkJDZGxjNzQwRzZHWGVtK216R1d0NWJSNnNJZFIyS0VWMUREMmZackwwU2xWaDlPWjU1Z2Y4WEZHZnJLcFlDQnh1T3oxWVoyeUllaEprWElhcWRHOWFcL0R2TkJQdzNHQnQ4cXFIZWRBQWk3bnJRMW1uOGk0M1c4YzhnSlZTeUpBTjFKWWRFeEk1RDRaWllcL0RnK2ZpZk1ZSTkrQzFxREZiRmQ5XC9HTGwxbkJvdkxPYVF0TnVVbytvejk5a3FDdXVMY3Z6VStGR2Exa1pia2U5anhDOGM1azE1YkJ4VlhTblZQOHdSNmZZbmlLT28rTUl1WEZvK0o3T3ExK1BHQlVkMXlyRUJcL3diUFJKMmVaZFNcL0NQQlpZSTM0THJheDVrVUVGekl6cGJIQXFBR3p3QzdtaEhEY1BJMFQ1ZXdJVVNoUXJkZHlWNU55c1BTMytrSytqSkFkc2RxaUs2WlIwUkczUEtVNHRaOXo1UHI5T0l6MXUwQ1BhenNBOEhZYnV1WUdWd2dVQXBQUTU2ZGJQRXUzUVNXTW9aM3JrdGhJWU0wbFMzaEJuQXBUeFFSaHBhOVRteTBDSFJFSnRCeGs0YmlEam91NzJoZlZCSnFHT0hxTUtOeDZMUG5Iak15ZU5oTzVOWTNMXC9BNXRvemVqTzMwZGVqYWlXMDVWY2NkUWF5VkZFK3FjbWk1WGJcL2hWNjBGUlloUWQwXC8rdkpJMGpoaUFnY3ZrMGFKb3lPd0lkVkR6VU9EM25vckJjdWxkbE5Ua3BEdDBaOTRwcW5VNVkwWWpXTW1MTnJUZERwcHRFQkNqUFlrczh4QWJKdWdJWEJrdnJsWmpzVHJlNVg4WVhaeGNNb0NVSmc4ZytQU1lVSW1RaEJ4XC9KcXZGbjZzOXpaTDJNMWdJd3NcL0Z2cEdQT0N3SW16QXk3NForaDdPSmpFcnBhNDdaR0lKdzVaYkhsb2RqUWxoVTd6RVMyc2dUSTd0ck5meEx0ZUMya3BhOFc2TUM2cUMyZVBMY203RUFKazcrdnZtQmFCamVWMndPdlJ1Q2xTaVNPMmw3TUFpNld4MCt2YUxYeFk5UktEbnFQTWE2bnNJeERHcEh4dkdvNmFZd3dDcXRMUzQ3cmxcL0NSdVdiY1Qzc3VIMzZDelhtMUszR2VoQUdObVwvOFphakRJOWQyOXl3NldPTkNZVGRaZVFKeHZPc1hraThKV3ZCTEhaXC92SnZUczhQNExWZ3hGTUZjSmhFbGRTa1hGNGV5c0RvUWtWMVBSU0NOejUrZlwvYmdNSWoxSGxFclV3VGJsUFFOaVBsalk1QStyRVI0SFpmZDM5aFV6S1UyVFQ5U1JwcWR1WFk5Z2QyQXF4YXplSXhrTFJrRE1PbkpuVFFVTlRnWEVkTEdOU1U1dWFOUEZKM3JTcTJkM0FhWFVCaURudDlZbDErTmRwazhMdWJsTTN4bVF0dWlwOEVVaExUVU85dSt4K0hWRU9ibDBuY2xKTGp2Um1jZFwvSndkNmhBek1BZkpNS3lkdlpLMnRnSXp4TjA3blwvSnZwZEZ1YUU5UmhRV3E1cU8yc3BcL0lWYVpqNFowdmNmRTQwNGdVQmFLaFBYbFwvQ1FLQmVSQktwWkRTUjRkSWVhb3VoeTZHcldZWUF6Z1hYSEtOQzhBV3ZFM1RZSkRnaElwekRqT3VkekdRMUREam5Ib0tSWjhkOENSVFdweDVyZ2VZanRoU2dkS1lhS1c0b2I1eXphbzR6VzFmRHdENDVKMW56aUx0R1wvZUJpY3dlcUU3ak03WVlXMnZ6TWkrY3V6MGEydWh4a0RONTVVSUxrenpNM2JwTGNYQ2gzWHJQaFRicFwvK280MVFtXC9nUnJ6MlZVNXhzdEo5dTIwVSt5YjEyZURLMEtHN2Zzbkxublo2OTZSbHFxSjR4MFc0N0xtMndCbzZYK3U3WVk2dXRUaFdqcm5mQ1ZiaFJidGZ4SE5YWVVQS3JzdzN4bnNMRXRoa1ZpWE51dmxUdGlXMGlrMlJ1QjlENGNXMk9JMitmQVZTTDVhZGh4K0xBZStnb2F3cXFLWTBBNDN1NnFxdGoxdm9SQ3BOUFl0dmNrc2ZiK1JIXC9MOU9UTkxTaWdcL3FLaU9FTjczNHhoUCtEOTBZTzVKenRaRUZxak9LYTZRSDJScndYWWE1QU1RMnZxb2Z3cHJCUElQVkxEVGR5dTd6OE1tSjJhcE9Ocmw4cUJ2Tmsxd00wVUdtM1R2VENBMElIQXJvb0drTzZjSmpsblByUEE3ZFVSWWtacXJmbFdWTGptR3FScFVCNXZDMEZLTzZaRGlHdFA5MGFBVEZxY3JtVGxrNUE4T2NpcjFKSDlPa3ZYaVlYN1UwR1NIQjBUMW9tSDZjSmdWRXE1MDdIUEtvMFZLeUZZTndDWm9DSGpnVWIzOU1UMUpQNlVHd2RLMGdhS2Z6NHFpNWJjd2ZKU1wvbm1cL29GYUFIbDJPUVwvUlRiVVJ1WlFHanRZNjRYXC9IWWdsVklubHFCRmtLWXlaTXZNMk5JME0xNGhXeTNNcHMwbDlRcXA4dVhTZnA5R2F4WWZTV0VBQm52ZWc5RFdjMXI4ZkZ2eWtPdFBYWmVvalJvTmgxKzd0ajFsU1FlMTJOXC9ybk9GUXMxTm1Falp4N05BMFg5XC9ybThMenA2RVBHdWxtYXFCZldrTDhCZmRCR081aFVCYTVzZWlyWGxDcXJMcXZtV2wwYkYwZUwwN245VmpFZHBBdW5oQmV2RlFUNDlYK2orMGt3d3lhdlRMaXMxSWlIM0lXeEo2V1JIdU5URHFoK1J4MnZFTGVyRFJcL1pIQ0hwUTd5K0lBXC9kQlFXM2E3RXJkbnZBY05HRzh4WWVYY3BWSmM5VlJVSjRoQ0t5RGI5K0ZUT3RDXC9JaVYwR3lXNTF1UStOeEtkZjR2RWJvOURlUzBQRkdQemh5V0oyeXhBWjN4V01EbG9WSEJDekcrNVpUbVhYWkJFM3BQV1JocVZMWkNLbGpGYU9GRmF1N0lJUVdadjhvODByOEs5U2dVR0VkeUtiUDlZZHdwQmhodHNYYzM5cVRHRzhIclZFVElKaFBIUTlKNGk1cXhFOTlQZDRabWhiekg5THhJZUJielJDTHViVVBKZTlJa3JqdW5KM2xTZDM0eTNcL0lIblZyekpsUU1EaHhPUEdDQ0xHQ3BMNENxbkdka1lDbndRQ0tqXC9Qa21tNnIxR2FzMmdCTmJraGhoVnhYcEhRQlFtaHhiMlV4SlFFcEJQMjNBTXEyOVRKblBINEhqaU1QSVJPQUlQV09EQk5uZHB5Z1VXbjFOSkNaN21cL0JpelRjOStGWURxMTlsMlJcL3EwaGYzKzNXdXc1ZkdlbHJOaE1LNHBtQXVJWXE2SWpjZXNEZmJcL21BS3VEZjJaXC9TZEc0a1RMaFR6WmxWaU1jazB6cVVEcHFFeXFrQkNxTXVpOUJmckZaaCt6ZXNpakk2bGdBS1ppdGM5UFp4Y1VDUzk2SlFyUnZcL1g5Njc1ZXhzTnlSeWlHZ1wvNzNTSU0yNlpPa0JjSXA0RDBLUDNcL2ZjbEFvbUFwNFlwb201MHNaN2dGNjgwZHNwYTlvcTVRUTF6K1FiYzFCdTlqOE5ZRzBDNlRcL3R6SWN0Qmp4K2dYaWgxZHdGNnZneks5R2VkUHVZaWRNUTJjMFkzQXlSXC9DZEFSWWxYZ2cwQW4rRVBSdVhqM0ZFTk9wa3FQTGtRYm12RkRFYVIyQjZDVVM1RVBXZkZjOG5SODd2c1RUR1RuS3M5ZDJVMmQ5UlhDbEtScTRIelBWMExKNEdmcDFsbFozQVBEbVhldStrVlNzTFwvMkZMbm1HY2gxU0xJMUg1c3FSaEFTOGtJUlZmdWVzZkE1MlhqSmxSeEV6MnJkVFh2V05tdktjUllUZEpWWTVkT0dyYzJoeW9PZlpoeDJOMVwvS2RPanArZFMxVWRVWDZXQ1plbFNyQXFTMDNFZzYrRzJOSlNcLzQ4KzJEMUFGYUtmSk5UN25YeDg0WlZKbmF0bzhcL2RLOGJMbVNPY2xpYVBRN1lPUkNvaGs3OXNEOFZURlh6Rk9XMDNlZk5JbURwUGFsZWJLbSs0MUREcGhcL3YwSElFWDA3eXJHUlZ3RllQWVd0M3RzY210d21aQVM3N0hoWDE1QUdzU2swVDdwZXBNdDFxUDhLaTFIYlorUUpsMDRucTA0MlRJZit1UGtvYkZhanI3Z0VXUGROcHdvK2VTVFJXNVE0b1FneXdoMzF5MVloNUZQMm1LckQzU24reDhrU0FTWEx2dVRxVFFkVzZXUzZwRm84RXZsSnA0cnZoS2hBYzJneTRwdURWTXhjWWFGc0ppbFwvR01LOExiSHg4Z0JLY0p3M2NLOXlWQzhtY2lFd1U4eDlneFdpQmZRZEpVWlF6c3lvTHNzMG9yRDlCREdURStleWNncXRrTHFNdjQxZ3h6NGVSM0JVNGxVRG5Ob0VxQ2tlMCtnXC92ZWg0ME9QeWtCMGREUExYUUJWdXp0UEw1eTliSFRkODc1K2pvTTVHdFJJMDMwZk1HaGViQ2JhK2hWOXVjNW5xb3NiSmU5UGx4Wkt1cGhNYXdMWndvb21zTXpuaElrdzdRa3BmaXo4b1d2WVJCckRNRHRQSTNUWE84TWtzK3pXMFQ4d2ZMYTZ6d2VnQ0N1WHQwUFlka1NYT3c2MUF4V0FldWJOSjF0Y1AzUTlvMCtpaFwvWmU3QVwvXC9tbUJuaHFybnpPV1hiRzZ5OTNzandMb1BpUVVrdFUrS3ZwbXJpNnlKalNQRlZZTmtOYllPNUt6Y0dmYVlGZERSNFp1NVdOdXJpUkdnbEl5dFE2ZlRKeUlrRDNTZWZOeGpueHd6Q2pIY1o0NjNyVUFXWWRFUUVhNlhnNmpYOVpvSDdMdnRnUXd4Njg1bXFhOWNVcnA4ZEVpS3B1VFZZdWZKMTkxaEF3ZXhnNzhzdHFBMmFPcjhCclVQYVFTclBuc25wOERreG5TalkxdWQ0bFpoUmZKNURGemNQK3QzTFhHRmhxeVpuK3NacUEzcmU5MHNwYUI2ejcwSVYrUGlxYXZtRWx0WTh4V2grXC9hY1E4dXNRYzFqSjJ0T3hQVWVBZzBDQnV3Nm9ndkpXd3E0R2tEK1wvXC9aVG15clNiSTN5YXRvVXBnTzUyV2drRW4raUJpdmJGSHg4TkYzb0FCN3Z4RjIzdFwvb1VcL3o2M2NpbFA4dVwvVzdpOWhyc0VzczZKSjYya0JNVXo4NzVyVDZHQzVGbEtLTlREb2dHSXRMcGV2UUJnV1A1U09mNmVRWU9Kdm5KS0dXeFdkYUtXVHF3U1dCdkxCXC9sbVZZenczZ0JaZk54VUdcL0tSYmozWEZjXC9rOVhhK2pTeWFmWGRrcXhMSDhua29oWjcyN2JcL1c4MEdqSmxIYjFvQ2taMWl4YURxQUZyWkhhM2t0YnNkMTFjWkVERVRLYW5Bb0VIVmU0Um9rb1ZhM0lGWUpEc1M4bGFUZWhrcWVtMkFhQ3YrbzBMUk8yNmg0bnM4cTFxcWlhTmhKYUVDRmJZcFwvWjRTbTVtVGFGajdrcGlIaUNUTEY5RFhmaWI5T2lrcjNNM1YyZHZVcFMrR2ZuNHNraCtzc1dCUW0wVTNTQVZoTE1wZFhOOXRGc0NRa0pVdjB4bDJtOE4yYnJcL2JcL0ZYS2pCcGtyTHF6M1lhNWVONUg4YWFEaTRPd3QycXh2dXllYUtXZU05OFFiQzRjUkFEY2RcLytiWXNmWkRFV0lZQ29na2w0Q1BHR1lTYVd3VGd0ZmpreVdBMHFVU1VEb2pWbCtEQ3BXYUZwTzlyd1daSU1oT3VYNGJPUWNcL1lSVHFtXC9OVjNoakNmdjRtT2hGaHdRbmU5ZE9qbStoYk1MT0JiajJJNERtRjcyWDNSNHpJN294VHRhWExRS0g5eWw2RjVmZXV3YXpkWVhXMEpZcmRCZE9YbVd1a1l5RGl1NmNcL0Qyc3R0VjJEalZZcFlrRkVjN01cLzNUODJ4OUdSenVld0FNN09OWUhhdW4xdUlIS2hzeXFsVHlnTnJUNjZsekNCanViRWVkZkhHNFwvU1wvSXVuS1hrZWpVUmIwcFlva1wvZHpXN0ZGZFwveGFFT1RIWEwrell1YzJxRVB1MDE1XC9zQ1NVaDgwREsxZjVVZktheEhHY0FrWDJ5eU1WTktaeFMwMzJHNWR5S0tsV29WSnRxNDNhM2ZSbnVReDdoUTFnalNZMFZ4Vm43XC85ejRiU1loZG1WVXJMT1pqb2tOKzlTZk9DTkd2cEl1RUFiRXUrb20yUndTTkJZK1RxU0FRZjNkNFV3cThWNEp3UVhZS1NBMVU0a0NyR2c3TXNTZjJ4ODBUZzZLdFpHb3VkS1BsUXhGYTh1Sk1KNWVOZlV0aFZib0lLRzhZNDlEb005eFUxQW9uRUNSV3lub0ZsU2RkeURUZG1lQkM4N1NxSnpiOTZtMlRvYmlmcEhoOEhiZnpkUlN4K0oxVEQwWVwvOUNqNExQV3pFY3hvNlNuNXhcL3JTQjg0a2JDaVN1Sk0wSVdvdmxSNHFHckY4TVorM0hJSFdJSnFFbElGdHNIMDQzbEVRbUlJQjUwMkpZV1dNZDk5TitPc2g4ZE1zSUR4Q3BJOFV5aHZvU292KzZ3NGRmSENsdUVzd0tUMWVWXC8yMVZQQ0xQdHhDRUhjT3UwRXFBR0RjckhuT3FDamp6Q0F3NkpzTXhPM3RTSE1YVkZLM1JBRjNkbEJvYTlWZzRPWTFhMXJvY2dYQjFXRDdUVE1Jb2U2VFBHcEFMbWgzNVdPK1ZxNTFENDc5UTBFMXBPUjVzTUk4aWZFTVVQVmN1OGlpdnc3bUFROFBxOUM5VHIrUjduM1RkVmNNQ0xZK2VrZXRPRnMxc1dmQ1RyRTB3c0JJZ2lUcWFaWWRYQU5lR3hWSzNKdkZIUUE4RUdRMkJKOEdWd1FDSFdDXC82K2JwUVBcL1owSUNya0k0djU3cmpXMVwvbGpFTjlZaFI0ZWxLcW1NS3pMMDlXUlwvU0lIME9DY0dOSWk1bkZtWXFvaTRPMUprY2xrVmI2VW9acDgrM1VRRDhOdkhrUk5qc1RDXC9XOXJsNUIxbXBqeUdVMnJBSkpCNEFGSjB1R21SaTd3ZUtGdWJuR3M2WUQ4SVZPYXdQallpYnBCcFwvSWc3aVo0WWVHM3JBZnVSZm5yaDluVlBKR0F1aFZcLzZaWkp5cnI5SUlRMTAxRGVyYUoweUE4ckRMVG84VFI2dGxDVTZRQkp0TlllYW9STDBqU2diR0JzSXlSMFF0aUVHMEhGYjh0b0g0eVdaMDVoUThzbVVoOHRnK2t3Sm5leTB6XC9zQWcwazF1WjZaS0JEc2JOTW1acWJqeVZzQnBBSWNGR1wvb1h2aXJqeUVGRW5MZFRuTHVcL0xtbnl5SHVSK1FjajdOU1ZTOGNyQU41WENHMG5CUjlmNG8yTW95QmJGdkVqVmQ4MXZJK25wTFY4RmhOdXltS1lFa1wvNTU3S25hcEdwUGVsZXFnYldcL0Y3OWk1cE5TYk54NDRDbFZwSHJTQUQ2M1NScnZBUnQzV1VMaHNRZ1wvT1lxM2pBdWVZNGF5cEN4MHJzN0c0OW9BWEhXRnF3Zk0xZHJ0Q2x1OFhwcGsxbHkxTTZ1Q1ZSbENJXC90dTJBQko1REcyYWtCVm9zU0RcL2htQWowS2RGZzlicUxOakVaNG9QWlZGQVVlNVwvTlBHUEphT1dNWlU5M1VjWEpoN050ZHUzRWlCZkZHdDRwc0RGMEExT3g3SzFNdXRSVjVnYUp0UnE0SjYwTmQ0R3FIWXJBTkUzSWhDb2dXQmdNb2R4NFYzeW5qdHZsT3hhT2lsdGFYU0xYeWY5dzU0RGhcLzZ4Z09UeEZJR0ZHazNoaGpxb1VXb1F0WW5CWDNBZUhRNUY2SkZXZmZJY3pkXC9PcWhqMStXU3Zwc2Z0VVwvNWtwNTE2Vmc5YmExRFBmalI4bmpqb1RFZWYzMzdqaGZFbzRteVEzalFGeTNNeWFGMG5vQzJNaXlHVnhyTE5OOUhOdlJQTHdjWlB3VG9uMTB3WTBxWmVDXC9ZUnRXNldKTFcyK2lFRG8xT2h6blBBRUdmZVRLUitJYjlaeW8wcERjMzA2YzZJVklXYlE0RnFKeEFPd0xHdVUreFJibWVnSUNaT01RTXk0S2VseU0rR0lXM0EzdjZlRU15blQrbllJWmlwNVd2alwvOUlHS2s0WjZFVUxOWStYcDJFOXFYaGVVczZ3Q0QyTWsyNE9oTzdheVhtWHNMUCtxQ1hkc3pnWFFidEkyNmtGU2tQSjJ6UlJWazhRXC93aE5IdDVWRldWdkJycFFjaUhtbzFNdUlFSGVDdDlCYnA5dnNOcmVhdVNES0hKRU0rSWFaaTR0TnRRUEI5R3FWRjFsaHd6TityTEF5ZlZITVNWYzl6UzJEb2hUSThod2FkaWE3VzZyTFdZUVVldUVjRFlPSWVrbko2OU40UTY5eUw2aXhcL1RwcllxbzhRRmRWTzVcLzhERlNjcnJMZmhXaWxtXC94c04xZkU0QmljNmRqOW9sRStUcGttSnJSWnRyRCtPRVU4WmhmckpTSFhmdm5ra0Y0YzNrZ3Z2Vmd3ekFGa3A2XC8xOGlocW1Kc09VbXJYZG5yajE3UlR1MWxSVzRsR09tUEE5VEpkZzNRTEJETTI1K3lDeVpBcW9MOUNJWkxmWDlld1ZMMnBROTlMZzFYb1VXWFBBR3U3bXRHZ2lYRnpLV2pBQzhHbXk0VW9VUWFQYXlHaFFDRmxGN2JaVWQzeHNyN2xVUmJINHdYWE9OXC9oZVJaaDdOaGttN3RuaDVmY1RPU0lQYWlDMHY5UWxYcERsMVwvOEFGaVVqUEpWWWF3cjJnR2hNWkJKd0tJOEJGTzYrWHh5b1ZOdFwvb1p1elVRQUdPclFYbFg1T3JDT2kwUzBTS1pcL3hmc2VsdURRVUVtTTlISmhVZDdDMDRRYzBUZVBYWmdoZTlkZTBOblgrUHZFMDNnK1hwSE1KbmdQaXY1U2lZdW9kTmpDYjlkc3RnMXNZeWhSVmhOdngzZUxzMlB1enBQN1k1TEhaTFRlZFRiaEs3eU0zNEZBS2sxdHdrWWRmZVNDejhvc2tGUVA4Z1VHZFJJaDhEampSaVwvd3J3QmhUa05IYVRQRU5lYmlBZlwvWnR6QUFNMXhpdlpcLzdhbUMzOEs0YWV1eE40S3h2NkR5Z1ZQYkxtS0JYT1QzUjVISUFIQ2pibDEwMzBUM3ZcL2VneUZmaGdVN1dYd3FraGhmTjlLUTYxOUxJQUFjR05ORjQ0RnVDU2VoVCtBUVY4cUt4SGRvRHBDYWZIYjltYUhhZlwvZTJCeGRBdStUOVQ3blJNWERvVGtZa2dcL0lRUzNuVFwvQjlLWktMM0wwb2lCeVd1a3NGQXhsd0JmYTVkWSs4VnVKWTJNRWtrWllwWGxEZWU1b1k5aURiTG1iWDkrVVwvdHo3K1ZcLzk0MkFpUXVidW5VQVF2UzZBdmlUb2RYcXJcL0U3QWU3cGpQZmJlWnNJOXp2Q3NjZldHVUZ5TXNtTGM0MlVQSmlsVVlpTWFOOXBpTWhmQ0tJcTYyUWloYm9JdWJaWHdVRU5RbzNxekhMcGJ0WHJ6N1orOW04ZXlrU3JnS2VlczVMNWV5NEhDYkpLNWUrSDB6a2hcL2FDU0xOSkdGOWtQakRCKzZQZ1NsY3A4TnZnZWN1cHA5VmtBVXAxOFwvWkw4WHFuUFpGWXIzZjNPdFBxQkZtcHZzajlEWHQzamRuQlBMOUZJbllIT0RcL1RURFdKXC90Z0lcL0xBVUFZMkhsUUkyRmRuTzZGRGR2UEpJNFhOR0lzSnBIYnpmNFg4Y3hvZEk5QVE3S2VTMVNJS0s2c2YzK2JqQjJcL2xRR3dnbTBMbmFTQU5MM0crd0hWUXdKelFsNFZTRlNoMmhaTzlxNUJNdTAwMTBta1ZoWmpFVWxZSHFPc2d4UnBFZDFwdHZHdERcLzZzNjBYUndUMHRtK0JTb2NFcmhOdWpcL1doM2hsdlBET1U1ZVQzYU1HOGdiN1Mybmk5YW9LM3NrUmxNV0hUMXBXQkFDcjdDZXJDS3lMbnQyZ3pWK3pTV2pjc0swMDBSMHF4b203OHk5WFpuc3hzRW85cUZGbkFEc2wxQ085M1h3Z0NLOEprN3BBY2xOTXlhbzJUK2o0WkJvWHBcL01MWG9Cb0ppbUdTY3R0eTlpajlBN3JVMTVXaXZoWlVKXC9weGF3ekNwZUw5Um83MGxiMThsZjZZWFcraWVqcXhMNmhQaVV5OG9rd2hmVkMzOWlaVWJSbXE4ZGdtd1pUdm9XOE44WDh1XC9GWjFCVVhQWTJ1cG1CQmJrXC9PQWFCU1ZzQnBrT3pXOFFmTHVjRkl5UjY4UDYyemtYNWlcL3NTczJocDY0TlkzNVg1TnhHSTJjQTdzYVlPenNCYTc3QndBSmZUS2dMYzdMMkNQaUU5RXFBazM4Vm1WTVVhY09oclR5QUxsOW1OTzhTcmtnOTZFVlwvM0ZKb1FTYnBObWJLSTFhZGxIYmRYRlh3OUtFbm5ZTjRYSnNqczV0OWNVdTR0OEpmTmdySCtKeTZjTEZXcTgrNmlFYmZJSW1XU3M1QkNEMVRtQjRsSTd0OXRWelJaNSs0NWwrY0Jud0dPcFwvQVV1RTdTSHJRS2tPUWkxbjJVTU85d3JNRElQbnpyYTVLZkNMdEJTakszNU5rZUIrc0RoaEh6N2I1Q1p3dnhxR2RYOE84d1wvckpZMDVvUzNEaXZIUDdBdTFvS0dHYWo0T296XC9RVFEzdFd1ZjkxakRjb0VFMTdYMkQzK0JcL0wyNUdyXC9yQ2RKa2VyUU5lTmxZOWlPU2lWZDJwSTFiTzJLUDBQN0VTaXN5eDI2SmVEb3hxblRJazNhamJcL0RNTElcLytTb2ZzaE5lRnpneDUzTWQ4S2ttSStMYTQ4ZnBaZzcwXC9BOUFkeDVxd1FXREgrMkRFdmxNZm5BUk0zS2I5UWJXa3ZaOFVSTzg0VW93VWdha0ZMSyt0V0IrTHlpd0VrSzR4SE1XZjVSUGZZV2pkeWV1SFFIZ29OdVJ6K2FydjQ3c1ozblVUcEFKcnliVU1NelwvdVZiR1hGQU5SbWY5S3RlelExWlhQS090K0Vrc2huU2pzZ1JnVlwvODVrTzRHOXYzeWpuZ1wvRUdcL25yd3dTV1wvd2wxWXZwdTB5SFhhT216OGtGUmcwU3NwTlRkYmhRTjMxMmJEYU1RNGZuWkR3bkh5dytodDFPaEZ5MG9QTWRYd2YrQ3pDczBuK3k1WmdVT05VY1N2cWhDUGN4TjlCUitrSXkzc00rNFpjUlk1cEFRdWdIQzdpMFl1TllKc3F6dGQxRDExK0F6MW4wUXl6TnQwMmF6UWRud0hoYVdlRzVjWlZzbWZKVkFIVHM1V09rM1VpV1FSajFZVCtrOTRLeTc4b0tUQm9xZ0ErWEtJWitwd1wvbzhwYnQ0T2NFQ0MwZGJaVXNaRmNuNFVUXC9YQ0xhb3ZiY1Z4blVjaWlCdkxcLzN5MEZlc2NWQkNCU1lhSk8xR0pcL1V4NDd3d2JBcEh1T0dLVjNJZkc3aVVjRFFhMzVSaklkMktOWGlQWmdSczdtS3J3a2ZBeDZ4QStJSENkMEZ5ZFMxcVhpbWFQU0RoUlRWVEFqbXRGTkNkYTN6NkdMXC9xMWJxQlpEczZUbzdRb1Q2RDVQSElvOTlYSXl2Nm9vWW9GM2VoUDN3YmNRSEw2SEtIUGpTRXJPVVZVam1yem9VcXBoYU1aZytyb25nTkxrVmFkUnFLOXVhNUlXdTRIT2lUazkrVDJsY2RKQVpBQ3JOM1NNTmdiVFJSb0QzUGxIV2ZWS2RuTHM0eEJaVFFYanptK3VCd3QxWXhDZjh2dXliaHlMYlVuWmxNSE84cG5OekVTOWp0VVc3UTlGY0h1XC9DS1gyeGpIeFk3RFRUYnFTaDdaMUt6UjYyWnB6dUlTZzJ1aGhlaWcxbWQyUmZYZlZxZHBjUnZ3TVdKeXY0a3lNcURGNWpKN3FqRjFxSFwvRU1LdGR3XC84Mmt5OWNQUHU1QXB5eFwvcCs2R2tJd252NHdkSFJENDlKS0duSDZHKzBWOHJVZG5WejAzbnZzbWN3dWkxM1h4ZjNjYjlGUlRSNUxBQlZabUdWamQwNnNOT250ZmUrbGpvOFhhenUwY0pkQVBNWVVcL0NEVzB4Z2lROGJYYm53NzlhMU16SkZKbmlOMWkxK0FGbmFncnV2QXNObWdsZmVLXC9iVVNRTGZDRW5HTm5WemNEaExSR25mcE5JeGt4dlRybzJlZ2RYT1JDZlFIWVwvb3hrWUJoNGgxY0xcL09CRGQ0Q2hFaHhucW5oWVBZRFUrZGFsZnh2QXB5dkdsZU5sOHZGc3c2TVQ0SHBQd3UrU1FxeWhrbll6eEYyXC80S3RKNUEzM1JhSk04VWhrRDFYWmlLWmxiWHlwM1NcL2JoMWRzSHdvQWVXZFZGNmlWMW5BS3dtUFwvc2hwc0l2clhqd2U2MjdJXC90UTM4b21Qcmxhc2JCSG5oYmlQU0pYNUxiNTkzSitBWlBqQWljVEltaURQRnpNSlpRVWxHM1lraUpjWVFydGRDRlVNc1N4cUVTMzdQZzNqWENaeUFncW1sYmI1dXpGcDdBTGt6U1h4UmwzVVhXaXpJTVJ4ZEhaYVVGVE1TN1hza0l0dm91NUYwZFEzdmhBNlR0RFhCS09CT1g2YnlJZk0yVG9kNlpENStWRXNDa05DZVJvM1wvNDEzSVF5UFRUcVMwT0QrdldBY01EWVcwaFludkdLSWJweVpNRlRMMGprZzI1aktyWTV4TzFkQXNQSFJVWWZCQmxDb2xWU3hrOUNFSUhxN0twYzJSdEttMjJtM1BCd2hlRXE1OUtIWVB6dnUrZDk1MkFXYm11WUh1RG5IM0hXWVdabkFKREFEQXpPOW9reVExbCt6MWtLbEtCQUZBekpiSFhlWVg5QlE3MU0xa2xzTDQ5OElmWDhkU1BlZHhBQ2J0RTBMc2wzV1ltTlJrNlBjZUphMTREY2xMb2lsWVwveUJkTjB5eGIzcmFuTVFvdGZsR3pmQlRITEhwdmRjbUJlUjZPMEQ3MWxVV09VY1hTOVl2MzJzcHdMZDB2VlJuRTlyRU5aOUsxSmpHM1I3ZXlwemZSVFpOcFRoMUp3NnBYNTk1bHBac0gwQXFsam9odndPOUppUXN2aFdvSWg4TFJNUWt6NVZzUHJyY3FOXC90SDdhcm9iYXNMdm9nanhVeit3TGpFczF1Qk9oMUJlSTZMY01ZWkFKbURzM0pieTU4cWpkVzRwVlZOREMwK2hYcXlNV0x6Vk41VjZLYW1jRThpSlBVTjFSek5pdHNhand4VGlnXC9wcW1pUnZNRGJVYkdBUm4yRTdhcnpEMDNWTnJFOW5LbEdlT0tXWnpwSFVqTG91cmlNcXBKaURQY0JMVXczRGZMdmkzMUJsZTVJOU5DYjBFRlNPTXpIS0JEMUJIRTJ6ZXNLME1tUUpMN01oVmpjVFVCQ1JibkMzeWlSMnpESEZieW12ckFwbGlIWGVYa0hQcXhBTjVQeUJnaEFYZHZmeXp1T2h2VUVpQStocVJtQWdWRFwvTWc5M3JBc3UxcG9cL1wvSWtCb083T1lwTm1SY3g3VHZGaHE3OVJrdmJYcjQxTk5MZUJFN003Snl1cWgwUUJZbHNXSjRxdVlZXC9SVXNnNklNQmJiYkxcLzFtTjlOYmY5ZlVxdG5nOExPT09NblZCeXNHM09mTWcwNEc4SWx1WG1VcE8wNzV5eHZ1OTF5bUVaTEF0dDBmTnpEYTd1cnBvMEtBTFdNNlFaMitvTGMyVHJqeFBId2oyd0hxc2U4MTNuaUc4dXBnR0J1d2J4WXFvKzZTNHZZc0NreDBBM2FzWkFIME5PVXRhRGk5ak1KMGFBQ0lGZHZ3TVpLQWpmd3RKMnpuS0xKK2hjZ0k0MzRsVDNYN2RSck1cLzBMK29vdFFKd256Z3VPRjBPMHBBd1RcL1hReGdvRU05djJqV3hsNm9cL3BjalBiZkVEWWlIQlJRdVJxT3BXV1BRMVBqeDdKVXoyT2JqKzZVdlZESkM5c0NVZWgrZlRCXC9HK1QzZzhpSW1qNURDV1E3TTFlR1J3ZWJybGF2WXdLclUrMGJ6SWdSdDd0TWozbUNqOHNzd0ZRb3h4QkRuelwveVEzRkl3WUpkS1lMcUt2S1VFSWlaVkl2Nk9BMFRuRFUxWXJRY3BLdnhUeGhER2laNWpKS1hnOHpUd2ZjWWdrZFFraGM1STBLXC83Q2JlNlBwZ1V1YVVXTkxcL1wvbGQxT0pHUFBhSHVwYXBwUzY2TkRwc3BGYWJySlwvOEJqNUNBQko4NWlFQzBpb3BTbUw3S0hEVW1yN2xvMEkwWEtxUHdWK0huT0dPYWF1Y0NaY3kxdkhGMERYa0pJQTZORlRNVzVCaSt6dnhLU3BDOU1yRXpUWHcxWHRKYW9EQW1CdzJkYzJLOGtUOXBndVgxakJRVm1wVzJcL1R1TURBTnAxQkxyOERGZ2FLTTZpYWc1YzRkY2QybUFKUzE3Vk12KzdMSXprT2w2eUc2bDNNc0poM1J2NVhEdUYrdElIU3U0XC9cLzNcL0VNNkJyMVo0eXpiWGdrTWsycUF1cER2XC95UDRpYSswa2l1eEFMZDNld0p0Y0lVN2pUajEzMGFBY2o5OHh2QzAraStMKys5RkR6aFdHa3Q2K1E2SDZ0NGJlcHNycWoyd3NpdzlBc0psNDNcL0tDWXN1dzErQTUyV3B4R0pVQmswd1B2bFVSWU44RmpiTm9xXC9WK0hwbm84aUMrU0FaRVM0MDRZRW9BUFh4dGFQYVNxUllsT0lzN0RwQ202N2s4dXNOREoydXVNV0hDSWtPcDhvcGRTblpYZkI3T1lWNUVFQjFrY21JT3Y5aUszTnlidGpsVkdPRmNqV09Ecytpc0RnY2thZzB3cG5PQnNmQTFoQkxcL2xST0E0cFdzSmF3ZnVKVGpNRnRhZW9jeG9PcDU0MGt5WTQ1R2NJa0dTQ3lJNE1yN1RyUWVheThrb243ZGhGaWxybmpXS1BqWFBuekc0UzIzSEpPakRJWHRCMXRndXdLKytnRHNwNXk3N3dFVnJiQXRpcEZHMUdBV0k3ZURzOFg0OWpNSmkrREszaUhcL01WbGVmVWl0R1V0VVlLb1wvRXFUY05Qdmw2U3FjbzRGUHJHa1hKV1l5bnJFdGNlcWErR1RiK0hKV0lSRkZod1h4RG9nYmFQdU95QytcL0ZGTkQ5UUt3dFAzVW9xZjJzYU9CN0ZWNEpXRTI1NEdaSFdhaUpSYlpDUGJGYlZCVUVQWTVCRW4wSHVDYUpaeTNBODJWQnR5WnJxcWRKbFZQbUd3TEJDbVJrZmoxV0JZRCt2XC9NUm5UYktKQ2ZsV2t5U2NvYnJueXE5bFwvYTlGNlFpd2E4YVlaMEloaVIzbXdtS3FHaDdqVU15MGNnNURlWFJUMlJJNnJ6VDNyQTBYUXRQMURnRkF6SWZIVGlLSFI4THozMUQ5UytZUXVxMjFsR1VBMnZ3S0JGMm9oMW5mRTE1K0MxZDZyQ3pHV2t5ZEJ4WmtZc2dja1puMURrQVdSdENrVVVrQkdQQThob0lSK0lVKzhUeEljWnc4TEtBSk1QOEQreW92XC9hWldTWFpSb3BIMUo1VWVGdHdNcTUyR1RtTEtVYVE5UW9ycGUxc1wvSzY5S1cyWTA4WllhcStid0l4VnRFOEprYWdMa3lZK2dDUXExRmVJcDNrc0c1ZytUNXNNdWhyNjhcL1ZFdExrOFQxc1lOa3NCOGpPdHJDSXdYYU1zXC9hTkpXS1dcL2FuMEx1ZHFNS2s3XC9mdFNTcm44ZkpQVUpUckhsM0ZoMjhmTXg0K0pzbngyUG1ycTdzeGo2MndtbDdad0YzRHBSWVhlNkpmQ0ptaWVQanRDWG1JVmxRWENNNEZ0MDBrdDZiOFM1UmRocExKNUREYnl6U280VzY0WjVFb0hkR2VKanNUTlRiSkdqOFRmV0E1TDNxbjI5VGNmRDRaYXNsWms5SVVxNWNEOUxrdzRkNFRqbGlBXC9qUktrRzhIR3FQU2dISFRkNGpIYlNGdXo5MFBVSmI5SXZiNmp4Rk1keFpHc09La1d0V1crS1lHa0p3bk1yMWtTT2hud1Bka1JEdlR6SU9PTUp4RlBOdzNMcXIxQTZ3bW1XanJFMktONW1DQWRlSEVaR3VYdzNMVlJUVGxvdHNiOGxyNlhqWngxa1lDRm5BQjgxT25rMk0wbndsSG1vS3lcL3dRZlZyYUJhbDNEdzJtZkY4SHpnR2xlRUFYdjR3XC8xSXFmVU1GMlE4SWl2dCtIajBjTUdUWExBb29aQTRZTVVXQzVuOXZGSzcrNzFmMVJOREZvak1ES2lSTWtWOWVNRzk5RzdnUGpJbWpZXC9vRDR4OXlMZkE0cFZyQTlMOXVTNWZ1bXZYblBXSk1IN1RwaFU4aVc5b3hoVXR1Y2IyUU92TFNcL2hlanB6MEtlVUJIQkFpRW1hclMycDJUQWx0MlQ1N21UOVwvdjU1THJ5SHdiVDlXbXA2ZVRCc0c0czZmWlpIblZiOVZxSGIrSm4xa25CZzNEdXZHZE1SdHlyVm9JenE5MWJZdGNFVmFYckc1SUQrVFgwYjlobTlHN2p0UDNNRkFvVUQzMk5qZ0hRazVOMWNKZExkQUJySURjNjFIQzhycUdvamNqVm1hTHNITEY3Y3FCdW5BZmdaUVFTZkVlOFJUR2RrOW81ajY2XC9xczR2a2lpdDlHbDBsSzVQRzBGY0ZJenYxOFl4QmtyNHZTbTh1SlRxZyszNitYV0FuckNRbVR5eUR3M2taOUdZNDRKRVAzZllVXC90bnl2YTZFY3lkWnF5bHNoWXpwSlwvb0NZQTdGUnpycUpsWlwva29iNVN1NVNNK25RNEtMY0taYmJ4V04yZ3A3WGxaemJtdnZPOGEzTnZhb29LemZ2djE2TTBQNnZ1Qm1BOVF0YnRMRDBwYWVxb2N5eXI5SXhYbXZscGtqXC9FQWhYMGVwNllGSlVLMmVEb241YzdLV2ZcL2tES2hHZzc5T2Z1ckVlNjU1SlJJWDhHMlg4bTE3bWlONmFuMDBpczBLM3lGeUU4R1VxSU0wQUFwUHlMXC80eUpxWmQ5WDdwV3oxQnl5Qmg1bGx3azRUWjNmODlMU1FLQ2NPR2JDbHllU2VtQk5pNStDRUU0dGxjS3hYWkhyKzNvbjJiNmxnR29mam5YejdjdFFZZk8ySEw4UzBQT3BDNVpsdmpMVHo2UFdhQVVFMWJJRWFyb3dJRGluakZYSGZIMFhTNm9DVE5tZnBOaVVqNmtMRnpjXC9aY0l0RFVBdU4waDJZalU3ZGU2RlwvVG5JWG5PcXp4ZEpvZzdRMm5kb0JBY1J2RzBYaGwzYXRETjNqNHBxS0tVeXpKUnFKdlZVUkoxc09jd0NcL281OG5XXC80STNYUFZVeTY5MDlMSU1GNFUydGFGdmdSaFM3QktiK0ppeE5EdlRsWnRlbVgwOGhmQWRBNVpuRHZuWHBBMmhtOVhuT29nUXhJVXFlTExmZmlMczh2TDlFSnI0Uk1oVlF2RFZTbFwvNjJvK3JxeXcrWWJjRWZ2Y2ZGcWhQeExEdklyNUdYZTh1SE5jNHlrSFVFNUhDYUZnNGNUV2tTVllsWGdyeDAxdnlPNTNrZ1FNM1VNSTdod3ZabnpJUW5VTGVvZlIrRkJqVWJXZGhWTnZDSE0xY1YrQmQ3R0VxTXN5OHdEUyt6anVHdGlIRDV0bndJelJkY1Jpa2JSTzg5VDhtTVR5QjM4enlRd2RFWDh2VFhWWWF3Y2RsYXJwbHByanRSV0NBWkdcL2xmQzJGSyt2cTcxcWRpbzY4VG0rdjMwbGVKTHU5b1FIejNkXC9sQk0rSUNEZE13SkJQNlhKTmtuUVA1OW1KblQ0VXIya0x6ZWN4ZzduT082YWc5YlFVYjB3Q0VwZEpcLzRGbjVcL1BxZkhib1wvN2gwc3ByUDA2ZmVKaUVQeFFuRzNNTXBjZlo2UDNpTXE3TThZcXVrNzh0R0Jwcko3TFl6N0F3c2c0MVh2RmpJUW04SHZQY1B5dlVteVwvK2RjTmlcL2c4MHlUYmQycmhQdHFrMWVOOUZSRHp3WEN4dTRRSkhwZ3RpXC9mMHZhbU55a0taSHhTdmpvM1RyQnJKeUV3dGpmcWZNMEQ0Sjh4YTBic25OaDRqYjF5eUljNFRDa2RmdTBjVmZxZGJCdXJwWnVzK0JJeHZpb2RzMUowUytadHI4a3RlNmxjWmF1TnhRVFRId0l2UFwvTWFVdk85TmkxNUI4NjJic0VDSnNlSURCMElkVFdUYkNTNHVOdUlpOTFLNmNDdGlFNUF6UTEyXC9GWm94OXhIWHpaOVcwRzduWG1tSHNYZDZlUkMwMHJ3Q0p5alZPV2M1NEVEZitCaXBMamtnV1pVRzNjN3NPZ0hpRDdyMml0WkZJdkI2VzIyUHgzeE9lWWMzRHRzdDZCV1l3UjBKODQzMGtnd2xWcUV6bzJTRGVVOXZwdU5hTUFaSmRVV0pJZDlLYU9oVStzZWRMZEFEMTBmSTdjZlpGUDd6RjRyRXBtVGVQazVWcVZHQW92QVErSDRsRFRoVzhqb3BYRVhRaEdCOGs2UU0zYlRCUVBxakgzSE9IU3FzVndKSUo3ZFRpWUxUcFQ0KzJrdCtJOGd6Y3FITEJGM0s2RGRlVXRtZFFxdFpjS2wyZnRhKzNFbXR4MTljdVA2cGpWUGMrNngwN3Z6V0twUWM4OFh5RTFqZFVSMlRSQklLU21lMVwvUkJaaHJJcXArSkhHWGhEbXVHQTQ4b2xNQU01U25DNmtDOFpPVkR6V3dFWE1NOHoxc1Q1R2ZMQnZobUFPVWF2M3dyTEk3ZWN5YmtISGkzWUszd3Y3cDFYaHh6S3BYOEU2b2JWaDJNVkhpZFg0dmU4aFlFUlhFUDFMU3BhdHlcL0x0aGdBckNIZTRqZEtuNEZIOWNHZUZXR0JLYU1rZUNkK1cyaXdydXppYkRQNGJISkNlem4yMG1BZjh0bk5lTjlaUzlFZndaS0hyVzdqN3hNaGpWWG1mcDY0VmU3cDJDbmRlMVAzMWVMZFwvRmx0M1wvcEh2dVFZRHdUazNKOWk3bnBvdUk0Ylh5YWkrK25xS3NmSlh3MTZQbnZodW9cLzRNVHRERGc5N25ERHM1QldWaUthcXZuV2xiMzQyaHZXTUwrZnlIQ2NKWm1GVGNvblM0M29ZV2hQazVXRzJvYWI1VGZJUlNsdWFpTElYQWk1ZHhwQytGbHFVQXlJUU12QkJxV2U3VGJUdFk1aVRcL2h3bCt4VEJrdXJHYkNaOVZBbmxXbUp4VTNxM1wvSkhMbUI3QmlNWmM1dDJLVDBrSUp0Y3hBajUzMzk5QjVyQ0t4WE8wcVduK3h6S2gzTjNNcjFWdjdBMGJnZ2FyZllia3hsRFVcLzNzb3hIVlFqMTl5dCtMWTJvSFdZenVwQjJJYUNPVHVnNEZJcUxoK3VCemduWGRMRVZoOE95VlVrOXdHeUF4aFBqZnI5dHo2YVdIcVEwWVwvZmRvY0tYZ0hiVHRSUXQ3V2ZwaTlaXC9tUHd6bURvdlNCN25oNWsrbzcxR0Y3XC8rZnlqWDg1bjlseHZ2anNOSmtwSGJlREhhWEk5WW82UERWNzl6VlFwXC9XVjUxVklZWnB3QTk3ekk0MWFFK1NzRk52TlwvbVF0YitMc2hmampUUjBpeVh0YnlwUHNRNmY1Z3R4Zk1nUkllK1B6OTRydkFPenB1cUdKSWlTVW9mSVV3UXRRWEdtaVBiV0lhVWZUK0txeXFGS1dzOGpHZHZYcVIwWnNsV2ZTWnh2aHFhSUVRQ29tS2RHOVwvZmJ3ck9jSTRJZ0dJTFN2dmZYWmFjZTdjZFd5bWErTHF0RlFTTWc2bUhERVlha1JMcUVqcDNJRk52Zlh3d1ZaVkpZTytUbmwyZ3haRUZVMDY2eDA1RU5MVFQ3bTVHN0RrR2E5TUUreTg2UUNQd1k5OTZoOTU2Z00xc3lRQW5VRTFucURZXC9hZ2ZHU25MWlZxZVRoOTRxRGN3RWVWYjhOaHBkUW5MU2hqWk82bDJVN3pWdCtPZG44K1VobTd0RjBZcFlLQ1UrMnFSME1PM0RNYktvU1pjR3VwR0FFNnZFZTFCXC9BWlI1RTN3d3F5XC9YXC9CYmF4Y3g3aytIVWtXS0ZyNTBLcklNTWhGbUJvcVF6TVwvUU16czRcL09MbU56TGpScHhNSmVDTGx0Qk9yODdXZzRyeEx1eWR2VEVSU0JjV0pXYWV4dE1jd1kzT2lSRmJCbVJcLzE4SnMwdUE3azVOTnpTQUV2S3puRlJNOFNcL2xiYzk1Y1hZdUNqbVNlOUhud245M2R6OFVBT04zZlFsUHhlXC92NzZXOEZOR3Z6YUljeWxabjF1WGJTTUdWemd3bzQxKzh1RUMySUkrdnRORk1VYlFGQ21SQzRjSDhoeTl4SkQ2V1VoTHNtd0QzaWszbkJ5VUFnSE00MXNISHdVejdRRmRFUEdzY0cycnV1ZEp5dWZjK1A4Rm9uSnE1M2lBXC9ma3hrOXBPUmV5QWdnaWtTQmJMajRYSGYrcmYwY0lYWFVVSGxqSlJ4RzNOaWdOcEkwcEhcL2lCY0xmVmRHanJPQ0dFaDFBMVNaVFhjMXc0Y28zZVwvaTBQcVRLV1pjN0sxd1M5RDZNK1E1YnFtTnpjdFVVOWZ4T2hLZWhYWm41UkxLWGdESkNvTk95dkZnVVZcL0NuMVJQYmcrbkNTQjh4alU0UHZJMTNKQms5bjhRck9oNit0YUt1NWVCRlJ6RUZwRlV1Z2ZRNHBnSU1uUnVXZUlkKzJDVHBhRjNsZkQ4Zjd6VVNNRlJ5bjVRa0VFRCtzWjFrZzMzcGdyYUtuOWdRT1NsV2VYb3N0Vlwvb2RoV1NsbUtubzVWT1dsdWFWVmlFckN5cWwzMEphSWJpdGNrWk1FNWtzUDBEM2l3QzhKa1NYZzZnTlRtQUdsOUNMcmp1Z29rVXo3TDlhdDZwODVaYnF6dkFScURwd3dlZ2pNaXFjTWIxYUVlZDVkRFVLTHo0Nk5yQzFBVHN0Y3h2T0dcLzY4eWY0enRodFQyemM3akF5eGcrVXRmRFRWXC9MSVlmQTRPaEM1VVJpaGp5UzhnWTFYTUVXQ05PYmNJT3JMa3NoRldYbkJIYmNucDNIR3krVVJUWkxYc1JKUXczK3Y2dDMwSDBhQ3hjczZISXI0c0RGV1A2ZWVBQ2tzRTRVXC9iR0p0SUZRT05XdUhCQVhMRWZld0xnQWRWMkw1UnhyK3BJSzBUUGpYeTRLc1Bmc25MMllDRHdrQXo2eEozNnl1c082ZzBOOFFiOUYxN1Q1NEVFSGhYTGRBMkE2XC82RGphSlhSWGRiUlhmbUowY1RZYlIxNDNjMStpMzE1Zzk2VVJDeEl2Y2gxQmV1XC9yNXNyWDNTMndlaThYUWxFOFp4WllxY2Z2ZUViZWQySkdSeU9ZQ1BhdllseXlTXC9lMVwvNlJENG0rT3NqSng1eG9xbHY3dlNiYUFLTHQ2cmRhOUg3aVlsK0U1UlwvZFVFREp4U3JNYkRXanpKWG9MUjROOHhmZXA1RENYcjE1Q0tqaDVUdEtFRG51WnFIMjFsdFVOS1ptZzA5a1ZhUTc0cldIcFwvb0xPSHZ5cnJQTTBcL3ZYTXM3d0Y3ZU5oelNNb3l6cUQxYTdiUEFJcmE0Zmg0cmZXMW5Ec2ptaGpHUlo0XC82QUhOTldoVWNPVThyc2pza3ArdkErQzFrSnBrMWlYdk9Ub2dvUXNHcmg2QUtaSXYxV1kyY2lqcURMYTdIdkxKMVlqbGIrTDVRY29IVjdcLzNcL2hlZFk0bVBZdXFJNHFOdVVOUWpieml3RFZzcFU3OFhxWXQzVTdZd3VjVVBGcnkwZ1pOSm5haGJBUlwvUXdjdUx1c2VqVlg4b1JpTlpWeTJBRWNvWnZNaEVoWVVwWWhwTXpvTmM3dXkzSHl3XC9waFZ3dmJQS1EwZE9tMitaS01OVzFYMit6bjEwRnNsNVhqdFJoOWZPdTM3RUtQXC9FdEJwNk5MNzNpT2RuMm9ySmY3dVpwcllkZ1AwbDFQNXN3NmpWc3Y4TjdJbytIRWRsUFNkU2pBYzF3VkFcL1p5RTJjWW15eEI0RjdIbFwvOW9tTkZVazBhcDVZcUg2anAzWGVSZzdPXC84VVhVUndHMll6aFljQWVCSnBFVGhydnE2eXV6YVVNQjFzM084VGdNNWNLemVyY2NBTnE3NXp6a1ZvZGtCcmFURVVVUnB5TlJaR3lrK1wvM1lLeVBXSU51QnJcL2RiQ05qNUdsVGR1TGtOSkIrdzdrcU9URzhaeDg3UFR0SEV0bEM2U1VLbnkreTFKK0g2cm1KeEpXTTFaMUNkWHpDd1R4UWg3ekNycWltR2dHRGttY1krOVdHeU8rYmRIcTYzTFhVMTNWckJMd042NmM5K1hwdjZManNqQlwvdmFrQjhUcGJyamlFWHhrMUhSTjZkTEdLeUhkVTNMbmN4b1FhWnoycGVzU1hYS2w0N0plbEhINHRaWnRwVWlEcXArMXBXXC9mMHZtNWN5dmNqTkFSblJhNVd5M0xTSTV6TkxpeGZpSCtTdmVcL2xCcDNOcjEyaTBhaTJCUnJ5a1BuXC9kbXJ4azJEd2prUE95UUFWVzBwQ3lDM1pza2V6b2J1Q21RMENSOHdNQWhuREYyQUdMUWNHUVJtZ3JmYUI1YnBMck1YbGZrdU9Tc2JvUkM3aUhzbjJXemVTWUo4R3UyamE5d2JzRCtGUWs1RFRMT0hjbkNMU3U0K2VKRElHZU5TODZWWmVcL0lRUytRaXpqWDFabk1HcjRTdTVmZlwvYjJ1SG5UdXd4blR3SU5CU1l0eEJFSEtWN3FvaVQ5bTRLVW51SVpJWWNXSVBKYjZxa1hcLzdqUXFYZnJEM3dXdmZZdnFYVUhWbjRxVEMycVBlTGdwWURVKzdJS0plSzlJQmgyXC93UUlDZzBHME05VFdMVHd3b2VRZ2ZqWDlRcDF5bHVcL09XSUY5WEpoRGRIRFVySUlHdlU5M2FVWEh1clQycDZ3NkNxaFZCcGNXK3JwYVI1SStFQWEzQVZxNlhMN2dYcjRxU1loS1pcL2FsK3I0KzllMm4rTm1BamJxcWN1aTZlN1RSV2c4SG1xSHdSZGwrNHl0NVwvXC9yXC9WMG5wakpQN2x0blQ2ajU0RmF1eXhWU1wvSHZcL1FzZ2V5Rzl2VTdxRmFTTWc4WTNiUTlqR1JsaWM3dnYwSFwvS2NQVVRxRXI3bklwdU9Hajg1VnZ3ZE4yM2oxMjZ0SHN0alRuTkVEdDhQUGtHb0M1TFVvN1JBMFZGSHh6TGJpRU9TVVwvZFNyNVNvQVJaM3lzQWlHVEc4ZVNvbW5iOE95SXpYVWRDUDJuTkJveVptU0swN1RFaHprbGZ3MkVyUUpldm5HK29WVDM5YU8ydXl6blZmQkF0dFlNNUpkN1BSRkVoNDNYVnRLUXZyelUwQUsyb3B1bnNNNUlpQm43S2M1SFlKeHpiT0pibm1QV0JQelJ3MkFCVks1enYyVjZlNVBIeHlPWllWVTQyK2FHNEtZK0dTSnJkMEgxS25pREhTdkhUZ0FET21yQXlwYlFCWE5LXC9XS2RGdFBMNEtHSjdORWdUOGcrRHA5UDNaNmlKeFlvcG01TzRkbFU2RkthMjh6NXBRWnlzYVJhc3V3SWZ2UDRhN2twWllnWkMySDVncEVRcHU3T3dLWVJQSEdka2NWXC8xV1RtcmFjWnh2eEozbDVhMmhWZDNURmMxaHI0Q3dycEQxZzNsUUg2VDdZOE1rNGlGZVhmWVZ6SUlvT05cLzQ2UlkwcTQ0VVpTdWJsbzVBdjJBR1hxbmdzekgwMHB1U2FtV0VVdk5cL3g3RWpYR2xiWm4xTFJUbWZxQTJhZ1hhT3NQVWMwUGxUdCszRTRCRFJhNThKYklCcE1iSDR2bGFSYU15cXBZK05GNnVmYVFJMFF3MnVBKzZjZEFRYkRiSzg1SGRkMEhqRXNZUXNqanhiYjFFeFFTTlFzR0Q3NmxlbElnSWV6REtSSzVLS0toTTZBOHQ0ODVjdW1mUXNXUVAwMVB4RFNuOGhqUDdwd0VocndtXC9YSWlvRHFYWlBvVFJLeDRhVWZWZXlzdU04cDJcL1lBXC9GdldMejNVVUNMdGlGUmN4TkZERkpxZWJcLzJnejJ6TFVZemNTVWNicFhVblN3bHJxczYzdU5ya2dPWmZ0YWtCQmVnbDNlZmhBRkhGTDVxVDlENnZUeGRqSVorcm1PekpnSlYwZkxTZ0xub3BicFlqQ05Zb05NMHVuTDVKbWkzcWV1aDRmSHlyMkFDM0orQmlPMkppaWFPZXFaUWUrXC9oc3g0TzhGdU1cLzFFQ1haV1E1Z3JKNFJmUWUwXC9qV3FpUm1GQkdJSlprYVh2N3IrenlaMWVocUppMTJTb2ZKY0RtT1JWbTMxVzk5TzBSVlNzdnlmUFhteWFqYlJNTXlrSEMzTGFNbHBNVVdRWHpQRUFVc3o1bno5NkhTVjFpRGk1ajQ4UEFkYnJrRHRcLzlZRVh2Y1wvNW9DTWJLdUl6UUxwVDdxWmVRYlJ2dmxrVU1rXC9VODlSU0J0M05QVXpnZWZWNUFkMHBmdEJmNCtvXC9TTWFnMG1ucWk2RzJYbkNzN2g1ZFJ5WlhXXC9YbEcwRlk4Qm14QW9CTnhVaXJYaFlTS2FUZ1FsdFJtc1lxdG44V2oreVJuWnZmaVwvM0IwZE96MElXNGU1czRMTkdCeG1KOTBBY21JWjlwTXlzTzFBOVgzYzJqd3k1VUdzbVJcLzlTcWNcL0JQSHdBZ2Z3aTJSZ21KQnVhNnlMU3g0VWN4NXFmUzRBbkNCSDZPSkRtQjNVVVlMdHdjXC8xUGI4MWdSckZTcHp6Vkc5TVFJMXpzc2Q3OGtnVGV6SDIxeVdER2d5cXVUSzAzMUFKNlpkMDY1aXJESjFtT1kyR2ZSQSt4TDBSdktCcEVkYlR2VjhydEszUit2VU5zTGhxV29qN1dTZWVxRXhGZFwvUW1YZ0d6SWt5TldxZjc5TGZhZkp1bVllUmJsRytrZVQyR1J0RFJ1bnZuYUo3OHNqd2ZLNzhGN2hHQlpyd0NZZDBFYzZJWXc1U1FTWk5VTjJkYzdkRllwRTEzSHJGU1RkSmZNOUFHZ1VFQ2FENXExcmtFUVR6WldqQUF3WHc3SWkxTHR1NVJITXNMd3pZbzFtamtIcGN0XC9uRDRDOEd2TWFyaGxJQVBpTVMyZnp2UldvcTEzNmR1d2MycU9oQTI5bWVPeW9uTzdMd1J0YW1yWmlKSVJyUnFGNW56cWdrZXk2Zmw3RjhVUWNscjZ1Nis1S3QyREhlNmNQT0dVMnBnR09Tc0s0TjFvRkxtYjc2UzlGVUw4bVwvTGVJMzVheDhuV2Q1UmhhbEJMK3dlWXZRRHpNend4Q1Rxc0pzc0tHQ1k2d1doN3N4MjlVQ0xnVlBGQmh6aFIybGI4a2Q0Nkt4eVBaK3AxS1liUU9zd05RUEpQWGpFbTV2Q2UzbzYxb2lFMU1oSWFcL2dhOUtYVU1XSW12aTIrNXBMK2o5YVluUkR5bWlVYWRHVXJuWDR1WGRuZXBSS1kyZ2c1clk0ek5hMzUwRUZKc2hQR09PRm5mZXQzVnVPclA2ajQrU25jeHBRNlZ0WDEyNWhYWVpESDlBemh3QytoYVNuZzlvNmtlMzR4dmhLSnVVMmJPaGk4RTBnbGxEM2RRTk81amhLOEM2Y2podGg3MWxNUnhQN2xEejdwblF0aVwvcG1JMHZKKzc0SHpIdjJmVHNlNHNMQitoS1RoM0ozTlY0MFE0QnNPZkpTa282K2t0SStTUzE0bDdEZWZaZUNjdFhLMUJZRXRhZEpaR2MycWRVbXRJWHNWVmN6bTdsTWlsVVlEQVJZb0hOUk51N1lUZlwvMlF0dDZoNkhIUm1yMitFNzlzUE9uN0J1WjlkWjBPejMwbFhKY3l6OXE3VlJ1amhRcllBQjRCaEtXZ0VvV1BDdnk0MFd4U0h6RFJXamdRYXEreU9DK1dEcGNKTHFLM1hMdWZydTB3Y3RmRlVEd0k0VHFHb2dYcXVPbUxrMUlzZEJVaERURmFpb0c1ZEFrUFZHcElpYnE2Q1BHWlNWd01UdnArU3E5MnJMc0ZKNFA1VWI2ZkNMXC9OOFFmUlZDVExQSm1DZTI4OHpiY2VWK3dqbFlVRW1PXC8rNUhydEhXTzhIcFlTcWxueGFcL1FJVzdaaU5OZ2NreVljOXF5cEhDRThSeEVZc2k5cVZldGI5MmhoM0o2Y1pGQkUyVGFPUzRqOVZiOFNTMkNMSGs0K1pvOEYzMEpPdVE4M1I1UFJpRWpGMzFOcVpTZmc0bldoeG8wd0pBbHQySEZMclgwUEhyd3JzV2dDXC92eUFqY0tKbnlwYmFYV2p3YnQ5MGVkQks5a0hnN1JWSW9hNmN6TCtPaTJtb0RQNUtqYU1wZDFMSnJBZDQ4RFBRRWVISFZpZFNkTzZYWFwvS3VXK2pCNndBWHlBME10dlo5QnZ1SjM2ajByMVJib0hrT0l1VWhoZFJXWmZpNllYb000TVdDa2FET3FFOFVoWmJBNnNJRmVuU3dsKzFjS3B2U0pacEhZb3VJQjZpVjBEU1hsTHF3aXg4TGh2c3pjbzNOZndYWkVXb2tVQnhDbWhFVXFSNXJ3WmdZT2tvWEZIRnZqdGlHanNNdEFudXdWY0xoQ0MrMzNpWEFObUVBNVJuc2xXY0V3MUJnd0JtYXNUWFBxMzlGSGtxMnNVdUc1VnpkRWM4SStWcDZtVlRXeUl4YzlQb1QrZkE3alZWa0xCWkZCSGlUNDdoOENnYXdiNDBLVHRrZmRVa1UzN09Ka2lwYWYydndaTm1Vd1FwM1dVSENCUldCMXhHYnhDTUVpUlFyVHo3MmR1eUxRK2ZBVm9tV3JLREUrUkh3XC93M2xFQ2RnRFBtaGZsMEE3MTI1dWMwa1QzeTBXXC9LeWZaeUFiMlE5ZmFabVRiZWd2K01mbGZVZDNHTWtxVmZWeWpPQVZVVm02MGFyaWNuSm1qXC9WZ1wvQXc0bkdVVU8yQ01rM2w3WlFFZUhySTZiMTBqa3V5dUJoVWpLNklUdHNRMlpOQk1SbUdUbk9jMWJTdWMzeTRYQzFXaUVcL1czYVwvRzlTWlA1U24rNkNEYXIwT096MHYwUEhnNzNiclJiWmlhQ05nZEY3aUViZGM4WnMzb0pJZE91cVJzT1JYSjk2ckVmSzJvcXRrcnpOUG5XRG9BUXlNT0ZkeklXUkRlS1RHYmdJXC9laUo0RmgzM0ZOdzJER3MrMFFuXC9qZE9HeG1PcEVXTUc5WlZkcTFRZVwvbTRxdWR1QUhNVU1ReU0wc1pBRSsyTWVPYllyaEdSVUFGb0E2RzNpS2hFd3Fwbnl0c1VUaDhnZGZXSHBxMzhVN3k1TldrUFM1aUQxY2tOeG5lRWU1Y1lWXC9ocEluOEEyeGwxT2tVSE0yNmtGSXlGekFGWGRBb1ZVZVJpbW5BQjdwWTZWc2tZSzFRckFQR0JsazRxNHVyMGVQUWJKNWpUdGxrdzNhNDdleHhacVZsY2Y5d1E1MlU1aFJrMmNDXC91c2NkSmZNYmxYQzUrSDVVRnhERDA3VlBwVVlhZm9UZGlhMU0wOXlBcVRDSjZxWFA0Y2dpOEVoOG14ZmpTeUtURmdcL3ppM3N6cFdsekpTaGwzbXFSOUxLcEZpbkRnTVRVRk1QOWx1amxkZGVJQWd4QXhkMk9Sa29cL3kwcW52aFdOc3Q0cFlnbnhsbjZQQ3BmQndVUSsxYTVWM3lnbURuSW44ZVhNOTJUMVVVQlhPMnFtamJHWmF0YVl3bWdqVjFRYkh3SE5zM2J2djNLZEhsVHNnSGtoTVdyNzRHU1dDUFlia3BjbWFlVW91dVBJUzFnM3hIUXBFS1Z6M2JrXC9nbGFuVklNNmdpUHR2Q0hPY3M3V2duMDV4TE82RHlpMnFjVGZnMDBlWnNVVndmY3FhYW5wTUJQYkxLNnZWdzNDVDlLNHVuNXV5bG9mYkNJdWVrVG5jV1RMMnl6em9QTWZ6SXNSdWJvVVo0K3loT2xNS01mVEIzRTRGU0t6R0QyY01yUW5SSmRLTllONnpzVEVhZ1F5OG0zeVRmXC9ZNWd2Q2tsZEZOemt0SnNyamhkV1wvWFB3YnJwZjRObTFCVXVLWDB6Qkt1b3Q1d3M0cEx0YVhLVmUyR00zSndVeWtXNndwZWhWVzZQdjg1OGQ2cHJJZ3pmK2pWSHFZM2QycFJyTkxMelV2TTA0Q1oyQnJNUm9CdG4rNXh6QjV4UVZ5MVhpcXpaMk1lbGxVbk9RenIwaFFrXC93R2RYMjJGTHVPK1FZZTU4UFNmc1RmaUdHN3Y2ZkNSWTl0OXRSXC9ibTF0cFwvTUxkUERrTkROVlVlOW5KdDhzWWYrbkdGR0ZEOWVrQm9JN2s4aGZsTCtOM0paOXJ0OUY3K0NFbzZnQjl6N3g1WGVkRjdyb2h2WHpjY1lqd3ZBT3NsM0g0S3ZkVU8yaEVPeURtQlJ4SGttWjI4bStTWm9sVWY4cEJRUGJ6XC91VXhoUHhJTDg0Q0hTVzVTcUZIbU5PNXByRXN3NVFrekhXdGpreGI1d0ltcVdodSt4eWxJMnpNNXU5QTA2SmR4elRESGdnMmFTS2FxM0RCTG1Fb0huZWhqcmNwMzh6a1JxNFl3RjE1ZE82aFFoa0tnR2hLTzM5QlhpT3BuTkZQQ1wvSEl2RkdYZzZaYU11U2w0NzQ0RjZReWNYbXBva0FvVFBvZ3NaNGZnOENkWlZvZ1hMeDNwbGlpOWxJNllFZjJUQTM4bklCMmRkenYrTlhDenhwcFVQT0RlVnIxaXVVSFBBWFh0K1pvUTdDbFd4N2dGZ3BHZ01jeGJNR3pFbUFleWlDTU1FRjZwR1ZkblRtVEJFY3Urdk1pU1pGMnRncXR0MUlLVnhrdUlJWGtyVSt5dlY0NkV6UDNHYWw0enJFb296cTZOUnI1a3JQZFVucWp0aUdpVlY5dlwvTktqS1g1WkxlSms2NzdnU0pTM09aSm1DZ2tzYXhxZWpESTllQW1XbE5Ec3RGNU9scTdEZTFWMWF5cXVNTlBmK0ZuNHNPMTZ6bmpqOEVFY0VtTDJqWlp3aXpadWJWN0ZkeEtRS0VrMlFJVW1OT3ZVXC8zSXc4TjhZRk5HZ3NTRUMweFhPVXM1eTloVUdoN2txQjhJS2FNdCtcL0ZFMWVPYnBtTlBMNGg0K3piSmFOU1RZN2xIZ1B1ajRzZjR0NHU0VEF2TUt1eDIxTCtHbEdmY1JxeEhzbFwvWE9majVYd1JpTCt0UjR1dGdlM1libjNlUHMrY2Z2QUdZd25BRjRKNVQyN2JETHp3bUNZSWd0Q2VwdWdBY2E4Rkt1ZGNJcDdFZ3ZqY2NOYzhwQTRHdGIyZEp6N3crZTkyYXI4aDd6a0xBcndNZ3VmU0RweXZcL1V2eHRla2lGSldTWnBJWFBaYkRucEw5Y3RwWVNBYnQyaml0b1FUbDdHTUtLQ29RT01IbVVCRkh6ZmRXNCsrSjl5WXlsMDQ4UjZ6elBwRkhEQitxMll4ZmtPY3JSbVNtQm5jeXhHYUtJY2NZblJTczJNcm9TTExsK2V5aGl2MW5NWUJCUEdncHFTdXRDK1RvT1JSU1FNRVdvaStSYWtKamNTSHhWMEREeGFZUUZcL0F4c1hiZ21vZlZzY1pFQmhibytiNlF4aFc1aDlNRWJzaUR5eGowWWlWT0hLUzFFeHZaXC9SbE5rZ3d4NVwvWVczWVROVk1ZMFY3RmRyNElpY01WaXR0bXFJeHBwbEtPakw0UmMzOTl5SVZCVkhONDBIV0lQcWNSOTJWc0U1N1hmMDluUG84T1dvY1wvMXFneldIajZhRUVxRGtCMEwyK3NyVUZWdjNWd21yb2VrbkVEZGRGakVGek5rXC9LTXlsSU5WUzhpZmdiWU5nT0VHRXdtMUtJWW1VUkg0SWUyTGE4b0xLNUJXbmh0TXRxVyt2YkpKZlB3MHlSUWh5TlNaTWdlUDd6bWlzbmhEa1lESGpDV0R6aVpoYWNBaThJNnRJY2ZmZTRKVk8rTUlVXC9XdmxyWitLajk5dE41YnZmdWNpQ3B1YWZtUU1PclA4Mm8xRm5aaEhlZEo4VXR0UjNDbDNLWjR2NXZORE8rNUxyZ2FOSXdKc3M4K2Y4R0JHdzdsRDhsbWNGSjQ0eDg4OXZVNndSYmNYaGFtUk1zdFc1M2VtNFozMTRZYVRJdmJtQWljQWJ5bm8zXC9jNkM4UHViSjZOaHZXWjFGVkJnd3YzTlZYQktYQ2Z4U0xic3dwUXUyYVBEN1U0MFwvTmpTZnQ1SUt2dVVzVEJyWXNEa004TW1Hc21EWFpGSUhcL1QybXE5aE4yd2swb0k1U0k3Z1hGeFN1U0FOYmNNeTFoN0h6MmtOZmFXNHFEN21vMlV4ZXk1OW0weFA0TTZIcUpXZXE0a0daUVdjTmNzYWQxY2hMTEV3czJxd29YZTY0ZEJVb1JEMXNTZTN5Z1RiaXdXZXYzMnlaKzhsTWsxTFwvZ3EwRmNod21hdnlzbXNZaGhkcDF3WjhhMmZPU0U3U0lXU0JmZ1wvQVlCZlwvUlVVeWF4VHo2cm9yOUY2RkYydkFTU2pmXC95WkNaU2Y2UWpwa0lQMUR0U3JUdzd3OFwvQ1ZYWis3d1FlRGF4V1RaVDdYZlNHK0c1amRnWThFaE91ZThXYlI1bjJ4WFVKRklHWHV5U2daMGxsWVU2RUFWK1wvK1BTbjBcL0VWMDVUTFV0YmNxb1VsQVVob3VtejNqMWkwRUx4ZTEraXJocUEyT2JoK1NcL2t2NHFiYVFYZld6VUNoU3gzY25vXC9ob3pEWVRyWUNXSmtJREhtVXBBb2x0aGpsS3BSaHkzb2ZDUmtNNWp0TlhCR2FaS0JrTTJQQjI2UDVWYUFoUjU5OXVRNkQyWXQ2RTFxMVFoanVWQXI1MENwK0pPY1ZLR1F3RXNrcFwvTXVtbUtMcWtLN2x5dXUrekE4RWVTdG0zZjd5S1wvczhyd1d4eFR1QjYyN1d2NE9WeFFXdVVjR2dwUE5GdDZBdFdrbnhhc1NTVUs3T3NBOE42ZTVEOWxGRmQ4UUZBOFViYUJFNDJuOXZRemRTT3JGUkR4ckZqSm9RQzVDZk9vOXF5c3hOclozMWJYK0ZWeUxLcWRKK2hSZkZIdnJoTm50N3RPMHNKdzNqaDhSNWhEeCtudWNtRmdHWENGQk0rVWV2amh5eVBXdGNYMGJhOTlsWnV1MmIyRnVJYkZYRjc5cWVRSjdWY3l5ejZFQnZva0FXZlpPXC9TSXU4VldRaHhDZ2oybkowYkdvUWhVQUQrcEl5YlFNS2FpdjdrZ3l2Y1grb2tIZmp3VTRGZ0ZqV2xBVUpmVFRQelJ0Q2d0aDd1K3RWMFlING1IRVlXSldhZWJZdEJhbUVCSlNIeEtjajFVN1ZCd2ZSUDVuQnRrc0QxSE92ZlwvVFo2WWxSWTBsc2t5TTMyWVJndEE1K01VdGl2aVwvMnVJc3pCQjZrdCt4SUp0R044T1RqdlBKNzZTZ2N3dGw0UEd0NGFPekVlMnRnYzZXSGtcL2F2NlwvK1hBc2FtbUowRk1tYWVlRWgybklsOG95ckUrN3BUXC82Sk5XeEdDTzFwR01NQjk2Tm9oZkh2R1YxVloxUzM1RmdpaHNTTFwvcjFUcVJJZktVQksxXC94ek4zXC84dnRXR2ZGYndDZnlmZTVOQlpxQXpNR2FEWHZ3ZzRRMlVrTzdab1VUQTF2a3NjMzBWcWtwR0JxUkhZRFFsQzFlbzYyK3BiS0s1TEJ0ZjdROE5aaXZyekZHS0RhbE50d25Cd2RuNWJNMmxnajN6MVhidkFiejZjZ1ltM2ZRWHd4M1JnQ1JmZnRNYlhHbks1WlVOSVNER1NQaGJpWkR2N2hyUXNRTGk4S2FFNEVaclB0bVN1WVwvNUJHZ3VEb3M0WnRCQ1Y2eUsrN0JpZHUxTnVQa0JoRnQ1WFc1dzZPQmpWNEVFMGFLYnFXd1FFcWNnalRuUHFEVmI0ZGcwb3c4c3JQS3QrSk9Wc3RtM2ZSSnk1RzRYXC9oSitzV3lOc1AzTUpGMWM0ZVZxb0FKVlwvNjM5WXRpRU80WnpEeVVmZEw2NTFMaVdNTmJ0RDJXSHZnNXluN1lGelwvMWRybHBQazRvMTJmWjJPMERSNE1cL0xQV1JUOGZXVzRRaFdxVnkyRFhZajFuZVVJQWM5M0crdmdzTGd4RmpOSVdBYjVjY05Hdm85TFJ6cllBQUlqMFBVbXVKS29PaDlqZUNZVnd6S25sTWVzNHBEYUFMQmEwNmJuNHFLVDA2ZjNiK1c5RlhWZTNWTXNNUUdHTEo3czkrMWowbXRIajUxMjI0bFBES3ZWeHQ5cGd3RThyVXZNSGJXMXRhNEE2cHlubVNsRnFuMFRNdjBrSkRVMXVvZHdTc0wrR2dLQUlsc0dKT3RSemNHXC9wK01Yb2dJS1Z5OGZlaDA0SngySkV2eE9MSjduNG5QVFwvTHZlTkFcL0lkOW9wNUFtclBvVWIxSStKSnpzaStRR1EwMUhiUnZmNTNqQkZtNG45dkQyQ1RUb2hoQmFNRERMTnBpclwvYmFLa1JxQnNqdUlVcWxJNko2cWFTM21XMElyOERPNlVRXC9XVlVuYXhrUHJBSis2amYrYWtad3NjQ3dHQjRIUVc3QWJYK1hmZmhiVGNPd1lRdjdMbTR1RkJNazh2azdmanhCdVJlb0IwMXV0aGJsV2VTRUxSbHg5Qjg0RlBMSUFCMHhvTjJyOWtySkQ4SURLT05BN3FmM1JFOFBzQmNpVFI2eDUxZlRveThPZlVpT3FRa1RCM3VcLzhabTRybTl2dElyQmlkS1gzSG03XC9VM0kyU2pGNWNScVN4djN6c1RZNEZkMklCU3E3aXpNR2hcL3ZONUl0cGo1STFjcGtHenZlcks2NmJXSXZKa0hEbTlzNXg0azB5TlVqRmk4UXc1eUlhZjdodDBSbXJPNCtSSUpSOFpoZFFcL3JjWEprWThIazFTb1FqY2xxOWczbkUzQXVIeUVtb2kxYm5DRTM0Ujd5WFFIVitzUzhXUFNkMGFMemtvdVpVVTRySGhrRllHelwvZGFra3AxTkVjVSticnM2QzNwRld4QVRmc2lnRDN1MlV3Tmw0SjgzUm5GdTBtSm11R0tWbmpVZXVVd0E3KzYxd25cLzdHMnMwQytBY285STA5OHZVc2FpdG5NNml0aSthaktTZXBXcmJFeVwvUVdKSWFGYUVpMzhKTUpOWE1nUnlsRWN4aVNUV3V6Z0lrXC83NDBsNXNoTmd5OHJQVnorejNjdVRoN0Nhd1hjSHAyVXJqXC9cL1wvVmk3OTJtOVh0QjNxbGtYOE9ud2VhbHozejM5dmUwTjJNVkJCMGkzdU93clVSQ0Y3dVVTMEl3U1lxVENLVGxVYUY3NXBxekdqdERnOHRSSkZ2dnZ6ODZsTXFkN2piUjJ5bERhUTU1cWMrcENIZ1F2QTJZTWh2SDI0TzVXVWFQS2xKVVNXV1A5VWttenU3ZnNnK1BmR1RUWVNFNUZHMGkzbm94UmRkT0g0bmRyRG1CXC9IUHJBMUNhbmlDR2hcL2JaaUZGMTQ5MjJkcFpyaUh3Rmc0dnNIQWJYaHBITkNBWndMRUhcL1VJRFJpbXV5cU95VWxveFd0RHNkTHNsb1J2RVNRUXBua3FFYmJPU1l2OFBsZFQzOHlTQkpTdW5EUHZ3RU5BMDkrQmVFVUN4MFZsOGNFOTNXNStpNVE4Q2ptQkhSUU04TDFPQ3ZvWU4yQUhqQkpSeXlqTlRWMjVPXC9tR09IXC9KUStUVWh5SXBsK29rSWhRMHhLODhwWmVcL1pHeEdvOXpLVGxnQkdzbUMxak1HQkhwaU4zaXNIUFwvR1A4RHorcHhZOE9mMGtEdU1pdUlsU2dqUWMzZlZwUmZlS3QwZ1wvbnMxbU9PaEIyZFBlclNVRlpuTVhHWnNodERvYzdXa2xGXC9nUU1iQmtNbkhEbjkybkNDcFN3WmVTYndUT3ArZEh2WkZkK0JyYnJ3YTBPMmp5OWdyMFpCMXNVMk9hcnNIbkN6dW1TYTluWlhkNmRlMHZ5a1JIbnlDQ1ZBN0hnS0tXMXpNMlpaa1QwcWkwUkdIXC9LWW9wSEJLUmNvVmlOVEtnYkFUXC9SOStzZWxscXRwaDdaRVwvanE1cDdQNGNqMGRUQlVoVGRITE5aTTBseUZqVklNZjVXaThhSjFaNDRZZWZUVWFmMUt6U01YdWJ1Y1lSSkhpeE1QSTlaQjYyZUlyTCtcL3YraFp2ZnRFbmhhaXZuQnBORzNjY1wveWJoUG9PVG1SQ1VWclhjbFg2Qlwvc25ad0FRXC9mSHZcLzVlOFk1V2RSNko2cmw2VU9LSUdqbVhMREdxZUQ2aE9vNEZ6WmFybnZ2NVNXZCtpalNOUVhOaFYycks4QmhKU2QrQ1NGTkFcL0tFTnVnVWM1TzdQTjA4OU96M0xjenFtcDczZFhjMlVWREVHOXZTMzRKaUNpa281SUlUME5ZUG5lSlRWdlAyMzk1UkVxN3NUbThRVUpqOHErNE5KRlgwUVBocm1ja25uQ3pUNWtZRXQzTFwvaEE4VnBxa21QRFhpTTc5M1RYcXVuSDdkcU5KcXlDbVZTQzVZYU1JbVwvMUtJWmFvZGlLNGRBR1oxdmZkenZISjRLTXFKUXB3TFhNQU1iVDdYVzJpVW9ZeEtlQ1F2Vk9Xd2FvUmJ5MU5ISzRYNFR0eTZLNld3SjE3blwvYWFZUmhUVlEzQUVza1wvYVlmb1V0UDZld3JpOUZ0dnhrZGRJTForeWdrRXZXRFRJTkFXNTBLbzhpcjc4WjFXV0xjWHFTS3J4N1UxZitQa2lsNlh3WThiT0N2VWtobmVWUElMdXU5SXpWSmVEK2tmRmpoUFM0ZThJb1I1dklzYVFydGEwZ3h5YnY4S2ZOcFF4NVNrMFdLamtOa2hUMUFCMTlKMGMrVHIwclprU3pCd1VhMlNKT3QyN0lGTGtUbHloTk5iaGluXC9Lb0R1Z05lQlwvQjYycERjTFlKU2tacldGdE1sUFNEdlEzd3I5d0FtZ3pXa1hNY0hsXC9kTStGbEhoMTRcL05VT05Zc09xdEU5bW1RZ1FtWHU5WG9LZkVwQzNyc0MxY2pvQko0T0hQY0ZVZUNHSXYrNlhrbW9vMFljRFNsbVp4c3BqeTFzZ1lseGhQMG8wM2xPaUJWS0ZQQ0FRZnRWMzdSS0tPOUMwNEFoZ0ZJUm1wRExuSGE0WUxUU2RhaHR1Q1NUTWo5WlFzYjF1cjNWeHhERGUzOWhwVzl6WG9SVGd0YUNwdlZ4NWl3UldKN0VQS1hPNVhNcldZd1l5OXBzZUorbkdLZVhLZmcrckRjS1wvN3RXK3NRVnJHOEE5Q2hId2I1SlhLUmJvODhxRW5pd002WHZFTGFiUWZSckhtbzdHMUlUanBKQndETWFDMitEVjdBUXRjWVwvMzVoTGtlRlJaM0NBeFptS1FXMmFXWDZMVVExNU50d0FxdzM5R3Nyc21JZGZGaHRKcXNnVVE3YzZpXC9xNGRvZkVmcmNvMDc5VFppOHNpZTRZZ0xGMUZZMzE3OGJaSVNWK2NRZTZ3S1FOVDNrNFwvWHdjWG9xR0NsclhGNDFCaTZGTERQUnNLU1g1VWRRYTBNMjRvMFpUblJFVFBHYVZSeEFBZlFlZG1PRHpXR01FKzk1RWJVYkxpS0piSmdFajNCSGJ4bWlMSVozRTY1YXFhdXhDRGh0XC9NUk4wUjcxSWQ2YlRnaG5KZnJxK3dkbVF1SkFsVGNleEh5SFk3UG1NNWgxT2xHZVZNRVNiZFNQVENLTHNPQ1NEUGNldkxEU2s1bmJPVW53dHB0S21HOVdtZFlOZFQyR2ZZUWFQUW1QQitkOU1YM2tqYVwvZVIyVVFFMEVvOUVoRThEU21rY1RmNmYrbGpYdEkyQmxZdUJreGlxXC9YQVkwMEM2WWdheGhHbE5xSEI0Q3ZhZFNzVUFtQmVpREdTRUcwZUpcL2xpeEdnYlY5R2pzcENhK2MxbzBrQmtLNk9zbE0yVFdFMStKNk5vVUpMRFwvZFBJV2JTUk1nUThiZUszUmc1Q3pQRWQrQTg2bGFPM0hXVTRSMmk0TTBmUFNMcStXaEVGNEJ1eFRxM1pWT3owQ2doRFBPaUppR0xaVGZHQUs0ZzF6dndKTUlmTGsrN1JibTl0TlRLeW5mK3A2Y0RnK0FLYXZDYThJU3B5SlZkM1N3UG1NdVFpbWRwTjQ5N002RlNSK2VCeFZqcVwvd2Y3WkhnMklaXC9BaEZpZTFmRmxYYUR1amU3YytVa0ZuV2xSTG1USjQzVVpFc2x3NEFJdUtqY01TUmY2RndqTEFDMW9Ha0krNWJkOE05R0QxSGx3eWo5SUNhRGxoQkJUYkhZQW5Vdzk5UVRqa01HWWlKVkwzQkhxVzBmbEYzVHlUN3BOSGpjTlN2WURPczFtWjRIeTg4NWRLZjVrS2FKN0hKeStwR01PYWUxeGxjNUZGTTd5clZUTFpSY1Nzd1hUYzh2UnRRa3o4VzlLRGxsbGhhXC9sXC9GZkljaThMRENoT0gwViswVnF0YWJNU2pjR2E0V251V2xKZVo0WDYreVh5TUs0QXZyN0NqM2JkaWF5KzlnWGtJblpydDRKbG9scXc4R3o4aXljNWNkcUh5OGhicTJoMXZrTm40UTlUdkczSnE4YXdDOUR0K2llT3ZabHJBd29ZeFZDd3dYaXJ4WTN1XC9YOWU1Q0tPRkZ5azhMcFdySUpnWXVreStpdlZZQkczZUZsbGM0Tm4xTUdjRURhNVM1a2cwMXRQWGlVOFYxZDlDYytRdm1SeklyQ09XSTdVUVlsSzRJV0drMTBrMnpnaDFNRUZacDFaYUhhSkdVT3NFSzNUVG1TOUkyeTlkZUs0dXduNzZJd3ZwTWs1RzEwWXgwTjN6UUdiV1lWQ0pRUFwvSEdvaklTM3JDNkFVOUdCMDJUVHRwYnhnT0JwdmtZZ0pMeTltRmVEOWlOajkyTTBiVWc4RG40UG1WaDZaSkZpNThRMTJCb01BTzFTaEtcL3BvN1FoMHJIdEgzR2VLSnBpZ3NsTEdHbEFjaGJaZ0FTcDJ5MjBFSFdJSkFNdDhMTk1uNXREZWFORnQrb2tnZFMxNTNnbUwrSDQzSkYybzk0czZMajBkY3pvbjJqaWM2U29OV2ZsUTRBRFVmNW4rQkZTRWVJait6NWRiektFbGVLcWJ1d24yaWR1NTFueFpIeVMySmZJYm9ScCtVYVNHSTZaY3VLQmZ6Q3RvMHJhaXNKMUVCTzBsZW1LdHJBakJCZGdXVDJEdG45UzZ3T2hXQnJ4enZKbWFjaVg2OEFpaGVjWVk5T1wvYXBXUk1qWmtDVjBuUGpZR0h2aWdrcysyaVR0ZFBLeHZpZkM2YlJzYjNpeSsxTUk0ZU9iSFhySE1POUV6QUh1TTF2Z2hwZGUyK3lUY3V6cURcL0V6NjM3bEozYThnZUQ5U05nOFwvWXRxaDVGQXEwb0xFNDdxaE43b1wvUnFXejFkalZKbFwvWnhxWWtaMXBHTzIzSXA0OTg0XC9UNE9ObDA5SVFMQ0lTVmlSdVQ0MHZ6bmR1VVJ0SEZFK002c05CeVU4MXBJWmNNd3FZWEppNnQ5Z2NJSlRsXC9NeWh4RzRcL3RWTTFaakVqMFhleVF0Q0s0dUplQVl2bndlZVUrQmFiOU4wWFZKQWQ3TGZqTEpGcTNPc0FnOVNGS3hxczJJYldzRUN3NCswQUtvamdPOER0ekdyZWd6KzF6XC9DYm1MeWZmOEtDbEtEMWxhNDVCZXBwQkxTeURXQ0VTaWh2b1FtWXRTVlhuVmsrRXdZNGNDRittSlJVZkQ2eSs4ZzV1QkpKcFFQN0VPM2RvNG0rSFFLc2VhOFhpaWhaZHhXTDNYNG5wdlRHbGg2Rk1BTWNLSjBNbEFYMTBkUWVMd3ZYRmV5ZzZTZXVmK0EzU0swK1ZVRnM4YUJLWEFtMzRZMHZVUDdCUWNYSEZ6emd5SGNKWnFyek5EV3l6VVFWRlFNNUZ3b3l6NEUyUVdWcXc4ZzhMUktja1MrKzhJY1JobkFlMXBxYzFVSFJcL085ZVBlZ09jVmJRMGNheldWNllcL1dJZHI0Z05RcEpaRmRRRlZhU01NRkJHaU45OTNEc2FkRld2T2gxUFRacGZLUTU2VWl2dmdlN3lzaHFmMSt3aXRyNHB1aEx1OHdIK0FaVHZPbmw3NERKZHYrMkloZnQ3QXljWHRJdzRDbk9WclJkeUJDZEpIUlhZZnRcL1wvdExEb2liN3JkZmRvZm05cVhOTTYxbjI5S1ZBXC94NTJlenM4aUtkTEVkakZEalwvZjVmdE0yWlwvVUtjVXJ3dlhjSnM5QndjejQzRG5EaiszRGxcL3I1UEZnbUpDOFdUQXJ2UWE3SVdpbjg4Qm5sUm1TMFY1bHpIcWc0aU5iYTM2eWdLNWt1SGdqeDZOWFZGYkk5dFo4cTNUNlJaVmI2aUYyaWFnU082U3M5eDJKUUpJMTlvWDNnRW1Ma1F1NUxDRVl0VDB4emQ1a1ErYVZsQ0p6ZnpaYnJrckJBRU1KR0p3YngrM0RadmRXUnBxaWozc2pmZmh3QjF5V1JJZWVJQWJvU2NwbWdZb3NxaFduRFVDZ1kxZ01zOFpkZ3FVYkFjejV3N2FyRXpkRlVLOEdmcTBPZUkyNUdYYWFEY1hcLzE0V25TVzFQWnlYXC9IOWFCR2NYN0p6U1BlTDBKT2l6VzNmVDZteUVmRXp6WVwvTlpRaTBRbjZvVkVmQmVLbXJBZlVCNTlycGFEbHljXC9TUU00bkcwaFVFcW42UlBTb2lmcVwvZVR4c21VVnFtdE1LVTNUenMrZjUrNHFqODVTZXdLVlEyQjJZSmN2aDdtVktYUDZtb3FwRGc5XC9KeHhXWWF3RmZRTzNmQmxkbEw2Mk1HamJkWjJxbFQ4NHRGU2pZSHY0V1dFcTh5VlJFM1wvY2s2NURzUXkwSklXNVNiVG11dDR6NVA5KzNFWlZUVlhCMzgxN1wveEFhNHJRY0h3elQ4clhNWkc4MTVnNEt5TWRsaXI2OTZ1UDFtOHlVUTNqUGR4K0FkdlRNcWdhOXhHT1lKN1JIaVVjY0k0ZTN5eU5IaXhQWE1FRlBSalF0b0R0VGJqQkhwclBQbnNYaEhiM2ttSE52N2tFN2Jub1dTNUdQaFRnRVRXcEhsbnkwNHpYVE9GUUQ0MUdmQ01icXJaQnhGSVcyeVV0WXN6czl4T0M0R0RvbVp1ZjN3MlMzSmY0MnZLU0UzaGloUGMzOTVKUkpsSTBNalB6ayswaGQ4a1Fsd0JVenRoMEc4Mk1va0JoeUFlQXd4UTlJRXpVRXFjZG5yOW9OUCtKZ1ozYlZ5RzRVQTdjT0xcL0V4Ymd6d3BWM0FwMWU2cCt2YzU4WXl3ZGJZQ0J2b3haR1daNWZPNTVvS25EK0hvdEdQcFdPT3dacGxCNG1GbXZTRitNUXAxQzhkREJVN0xXNWtnY3VVZUE4c3dkejd0WFBsRlBHYzVvSHR4eFdzN3MyVFZcL0NCeURDc2VWTXpnNzhIczhVRDM4M2pKUEQ5VVRlRnhyckp2K2dOS0xSeXF6T04xN1dKZzdiM2t4Q0dxNXVvcEM4eVRmZHpCMjJVXC9Ccnh2OG5HSVdsZzFTZXpMZEdWeTN6dFUwOFhxUVN6aE9cLzlEdnZcL2hnbmZSSWhBUFNuWGU0QVM3M3dObmh6Z01mejA0M1REM05MSzRlbmtmRlQ1blNqOUMzOXYxQkN2bmhtT3JndnRkcGZCbjVmWGZzblRSdnJ2K0huYWRlM3dlbW9JWUMwb1R1eW1wYzBpNVV6eUZyOGVRVmV1QXJxckt6WGVrMmtrUm1IelBDVVhGYmQ4aDhralAyV01vWlQ5c3Y1alJtcEJnSFBJMEVyZnJrQmZlXC9EV1J6TTBaOHVCb1lBSmFVdGEyUjQ3aUptZFpRWHJ4QktPaXNDb1d6U2ErUFJLSFZWbXBoYWR4UHcyZjA3NHZNTFwvMnhpWTNONVJ4VHJsT1lJaVg4ZjhPUDAwRk9hNjJlVHl5SnF0TE91TEVcL1FDdVlSeUtsdWxVbW9Dc2VXNmxMM0d4cmE3SXdLZldaTUFUZzdneGN3Rm9TbEs1aEVJaVFJY0tKT1NmYTZJVG5NaTVyMzdmSE5NYkFcL0h3K3JHTHgwSXpJSWU0dmNVWGdLV2NFd2phMkdoaFFRK2d3SkJpbVdGMm8xalRJVEh0elJMVEFpb0Vyc2NhT2lSV1gxVVl2SHVuaWhDRlNWd0JCa3NMd2tPeUFceDNkXHgzZFx4MjIsXHgyMmdsb2JhbE5hbWVceDIyOlx4MjJ0cmF5cmlkZVx4MjIsXHgyMmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iXHgyMjpceDIyXHg1Ym51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXHg1Ylx4NWQsXHg1Ylx4NWRceDVkXHgyMlx4N2RceDdkJywnVCc6ICdBU0FGQVVJOTZTaUh3S0duT29sNzU0NXJNNHV0VWgwY0tHOU05MzN2Q1ROSHU1TVhIeHQwczRVT0hqYV8wbkdtZmNmd0hNRlJkZHZONHlJdUc4Y2JzeEtLY1JJXHgzZCcsfSk7fX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0icHlWbVI3V2VjdWkzRGFHTHpyUTZXZyI+aWYgKHdpbmRvdy55dGNzaSkge3l0Y3NpLmluZm9HZWwoe3NlcnZlclRpbWVNczogIDQ5LjAgfSwgJycpO308L3NjcmlwdD48bm9zY3JpcHQ+PGRpdiBjbGFzcz0icGxheWVyLXVuYXZhaWxhYmxlIj48aDEgY2xhc3M9Im1lc3NhZ2UiPkFuIGVycm9yIG9jY3VycmVkLjwvaDE+PGRpdiBjbGFzcz0ic3VibWVzc2FnZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1HYzJlbjNuSHhBNCIgdGFyZ2V0PSJfYmxhbmsiPlRyeSB3YXRjaGluZyB0aGlzIHZpZGVvIG9uIHd3dy55b3V0dWJlLmNvbTwvYT4sIG9yIGVuYWJsZSBKYXZhU2NyaXB0IGlmIGl0IGlzIGRpc2FibGVkIGluIHlvdXIgYnJvd3Nlci48L2Rpdj48L2Rpdj48L25vc2NyaXB0PjwvYm9keT48L2h0bWw+"}},"time_used":104,"timings":{"blocked":0,"dns":2,"connect":8,"send":0,"wait":68,"receive":0,"ssl":25},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_ticker_tape_widget.962f777c23b660d830a5.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.459Z","timestamp":1785120763459,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/runtime-embed_ticker_tape_widget.962f777c23b660d830a5.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/ticker-tape/?locale=en\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 02:52:43 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-23c8\"\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:32:03\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 01edf579bc6b1955a128baf7f0b55f1f\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-07-27T05:14:11.3544Z","times_seen":17556491,"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.tradingview.com/external-embedding/embed-widget-ticker-tape.js","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":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.155Z","timestamp":1785120762155,"http_version":"HTTP/2","security_state":"secure","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 /external-embedding/embed-widget-ticker-tape.js 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://360trustwealthavenue.stglen.com/\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\ndate: Mon, 27 Jul 2026 02:52:42 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"2671d4a92091986b7abd2e1e685669ca\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:29 GMT\r\nx-amz-id-2: MmO7S7qvpk7e7uAwyKi1zjeKKbKi5IBRI9Fnw08J6tdMbbVvXvrURHIxu7TxhDm94C2BFQDD1p8=\r\nx-amz-request-id: 6FDA3NKBBMZWPGT3\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: wQVqs5hr7RnUyN2oXxLylh_AKdOK0U2U\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:30:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 479f4563849b89dd566d89cb16819ff6\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"]},{"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":13608,"size_decoded":6236,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"2671d4a92091986b7abd2e1e685669ca","sha1":"b59db96af3dd1593356058703fc7af3cd7269919","sha256":"986cfef49d6a6ccd5cb1f1cbf562e8341ed581936885830831a2f4c3dc2b5901","sha512":"c07159fc500c72469ba6dfb7ccf5afdbaf476906fb039e5bfc7ab2c95e79b0067a47e6e02ad44915b9ba426273dc39996ffb1899c029253b56e4b02f7d419883","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6Or26ZMViZMEmkfknYH:uD5Unb26nD6Or26ZkFE9fknE","tlshash":"8e52d8a9b660ecbd51d945dbe07a2321b6193944b203aca4b9ecd4c510fdccca131f7e","first_seen":"2026-07-20T13:42:57.5385Z","last_seen":"2026-07-27T05:21:28.658542Z","times_seen":953,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxrLEEpLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgST10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoST8odChJLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxJKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKG4uaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLGkpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1yLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19Y29uc3QgZz03Njc7dmFyIHUsbSxwLGYsdzshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0odXx8KHU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0obXx8KG09e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KHB8fChwPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGZ8fChmPXt9KSksZnVuY3Rpb24odCl7CnRbdC5UaWNrZXJJdGVtSGVpZ2h0Tm9ybWFsPTQ0XT0iVGlja2VySXRlbUhlaWdodE5vcm1hbCIsdFt0LlRpY2tlckl0ZW1IZWlnaHRDb21wYWN0PTcyXT0iVGlja2VySXRlbUhlaWdodENvbXBhY3QifSh3fHwodz17fSkpO2NvbnN0IHk9ZztuZXcgY2xhc3MgZXh0ZW5kcyBke2dldCB3aWRnZXRJZCgpe3JldHVybiJ0aWNrZXItdGFwZSJ9Z2V0IHVzZVBhcmFtc0ZvckNvbm5lY3RTb2NrZXQoKXtyZXR1cm4hMH1maWx0ZXJSYXdTZXR0aW5ncyh0KXt2b2lkIDAhPT10LnRoZW1lJiYodC5jb2xvclRoZW1lPXQudGhlbWUpO2NvbnN0IGU9c3VwZXIuZmlsdGVyUmF3U2V0dGluZ3ModCk7bGV0IGk7ZS53aWR0aD0iMTAwJSI7dHJ5e2k9dGhpcy5pZnJhbWVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh9ZmluYWxseXtlLmhlaWdodD1mdW5jdGlvbih0LGUsaSxyKXtsZXQgcz0obj10PT09dS5BZGFwdGl2ZSYmcj9yPD15OnQ9PT11LkNvbXBhY3Qsbj83Mjo0NCk7dmFyIG47cmV0dXJuIGV8fChzKz0yKSxpJiYocys9MzIpLHN9KHQuZGlzcGxheU1vZGUsdC5pc1RyYW5zcGFyZW50LHRoaXMuaGFzQ29weXJpZ2h0KCksaSl9cmV0dXJuIGV9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWyJzeW1ib2xzIiwibG9jYWxlIiwic2hvd1N5bWJvbExvZ28iLCJjb2xvclRoZW1lIiwiaXNUcmFuc3BhcmVudCIsImxhcmdlQ2hhcnRVcmwiLCJkaXNwbGF5TW9kZSIsImN1c3RvbWVyIl19fX0pKCk7"}},"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.092Z","timestamp":1785120763092,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: d2e856a13d2de0db1029ea212ddf6291\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-07-27T05:15:36.991702Z","times_seen":3715,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"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://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.440Z","timestamp":1785120763440,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: 8d0c4fd3e5d3a666704f45e77d67b197\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"unpkg.com/alpinejs@3.15.12/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.118Z","timestamp":1785120761118,"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":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /alpinejs@3.15.12/dist/cdn.min.js HTTP/1.1\r\nHost: unpkg.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://360trustwealthavenue.stglen.com/\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\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncf-ray: a2185974f9ae4c11-OSL\r\ncf-cache-status: HIT\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 137322\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 02:52:41 GMT\r\nlast-modified: Thu, 02 Jul 2026 23:15:09 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:V7N9fK6aJ9ll/a5K3MhEJF39xAfmVa7oXc//OggDaj8=:\r\nfly-request-id: 01KQGA6HBBMZ8MDF4ZPHY909NX-arn\r\ncontent-encoding: gzip\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":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","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":46346,"size_decoded":17573,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (40766)","md5":"422c7d8cfa8b78375cc7a767d2ae5ca6","sha1":"7df3f287f769c205f1392de3532517d602cd1810","sha256":"57b37d7cae9a27d965fdae4adcc844245dfdc407e655aee85dcfff3a08036a3f","sha512":"0a30f697aff3d0fd675001e5fbf9724ba3705766e9da28de966d84aaa8394ee18cf3f49cf5688d12d51f2a6fc073b3a9a578ed8666404c53399e7abb3b210f61","ssdeep":"768:DBCz6escmy5dIOT2C3KBdoqCHL6POK/5IKXqLWoOAUORrST5GUGz++u3hBpShpJ0:FCueivEqCr6POQDXmWomUtzMBpShpJyn","tlshash":"c023f9e97396b13283ef01b190bb424af33d2994150e5464f669d8ee383948d51f3fba","first_seen":"2026-04-30T23:22:33.584041Z","last_seen":"2026-07-27T05:11:16.699006Z","times_seen":2669,"resource_available":true,"data":"KCgpPT57dmFyIGVlPSExLHJlPSExLFc9W10sbmU9LTEsaWU9ITE7ZnVuY3Rpb24gVmUodCl7RG4odCl9ZnVuY3Rpb24gVWUoKXtpZT0hMH1mdW5jdGlvbiBxZSgpe2llPSExLFdlKCl9ZnVuY3Rpb24gRG4odCl7Vy5pbmNsdWRlcyh0KXx8Vy5wdXNoKHQpLFdlKCl9ZnVuY3Rpb24gS2UodCl7bGV0IGU9Vy5pbmRleE9mKHQpO2UhPT0tMSYmZT5uZSYmVy5zcGxpY2UoZSwxKX1mdW5jdGlvbiBXZSgpe2lmKCFyZSYmIWVlKXtpZihpZSlyZXR1cm47ZWU9ITAscXVldWVNaWNyb3Rhc2soSW4pfX1mdW5jdGlvbiBJbigpe2VlPSExLHJlPSEwO2ZvcihsZXQgdD0wO3Q8Vy5sZW5ndGg7dCsrKVdbdF0oKSxuZT10O1cubGVuZ3RoPTAsbmU9LTEscmU9ITF9dmFyIEMsUixqLHNlLG9lPSEwO2Z1bmN0aW9uIEdlKHQpe29lPSExLHQoKSxvZT0hMH1mdW5jdGlvbiBKZSh0KXtDPXQucmVhY3RpdmUsaj10LnJlbGVhc2UsUj1lPT50LmVmZmVjdChlLHtzY2hlZHVsZXI6cj0+e29lP1ZlKHIpOnIoKX19KSxzZT10LnJhd31mdW5jdGlvbiBhZSh0KXtSPXR9ZnVuY3Rpb24gWWUodCl7bGV0IGU9KCk9Pnt9O3JldHVybltuPT57bGV0IGk9UihuKTtyZXR1cm4gdC5feF9lZmZlY3RzfHwodC5feF9lZmZlY3RzPW5ldyBTZXQsdC5feF9ydW5FZmZlY3RzPSgpPT57dC5feF9lZmZlY3RzLmZvckVhY2gobz0+bygpKX0pLHQuX3hfZWZmZWN0cy5hZGQoaSksZT0oKT0+e2khPT12b2lkIDAmJih0Ll94X2VmZmVjdHMuZGVsZXRlKGkpLGooaSkpfSxpfSwoKT0+e2UoKX1dfWZ1bmN0aW9uIFN0KHQsZSl7bGV0IHI9ITAsbixpLG89UigoKT0+e2xldCBzPXQoKSxhPUpTT04uc3RyaW5naWZ5KHMpO2lmKCFyJiYodHlwZW9mIHM9PSJvYmplY3QifHxzIT09bikpe2xldCBjPXR5cGVvZiBuPT0ib2JqZWN0Ij9KU09OLnBhcnNlKGkpOm47cXVldWVNaWNyb3Rhc2soKCk9PntlKHMsYyl9KX1uPXMsaT1hLHI9ITF9KTtyZXR1cm4oKT0+aihvKX1hc3luYyBmdW5jdGlvbiBYZSh0KXtVZSgpO3RyeXthd2FpdCB0KCksYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCl9ZmluYWxseXtxZSgpfX12YXIgWmU9W10sUWU9W10sdHI9W107ZnVuY3Rpb24gZXIodCl7dHIucHVzaCh0KX1mdW5jdGlvbiBldCh0LGUpe3R5cGVvZiBlPT0iZnVuY3Rpb24iPyh0Ll94X2NsZWFudXBzfHwodC5feF9jbGVhbnVwcz1bXSksdC5feF9jbGVhbnVwcy5wdXNoKGUpKTooZT10LFFlLnB1c2goZSkpfWZ1bmN0aW9uIEF0KHQpe1plLnB1c2godCl9ZnVuY3Rpb24gT3QodCxlLHIpe3QuX3hfYXR0cmlidXRlQ2xlYW51cHN8fCh0Ll94X2F0dHJpYnV0ZUNsZWFudXBzPXt9KSx0Ll94X2F0dHJpYnV0ZUNsZWFudXBzW2VdfHwodC5feF9hdHRyaWJ1dGVDbGVhbnVwc1tlXT1bXSksdC5feF9hdHRyaWJ1dGVDbGVhbnVwc1tlXS5wdXNoKHIpfWZ1bmN0aW9uIGNlKHQsZSl7dC5feF9hdHRyaWJ1dGVDbGVhbnVwcyYmT2JqZWN0LmVudHJpZXModC5feF9hdHRyaWJ1dGVDbGVhbnVwcykuZm9yRWFjaCgoW3Isbl0pPT57KGU9PT12b2lkIDB8fGUuaW5jbHVkZXMocikpJiYobi5mb3JFYWNoKGk9PmkoKSksZGVsZXRlIHQuX3hfYXR0cmlidXRlQ2xlYW51cHNbcl0pfSl9ZnVuY3Rpb24gcnIodCl7Zm9yKHQuX3hfZWZmZWN0cz8uZm9yRWFjaChLZSk7dC5feF9jbGVhbnVwcz8ubGVuZ3RoOyl0Ll94X2NsZWFudXBzLnBvcCgpKCl9dmFyIGxlPW5ldyBNdXRhdGlvbk9ic2VydmVyKHBlKSx1ZT0hMTtmdW5jdGlvbiB1dCgpe2xlLm9ic2VydmUoZG9jdW1lbnQse3N1YnRyZWU6ITAsY2hpbGRMaXN0OiEwLGF0dHJpYnV0ZXM6ITAsYXR0cmlidXRlT2xkVmFsdWU6ITB9KSx1ZT0hMH1mdW5jdGlvbiBmZSgpe2tuKCksbGUuZGlzY29ubmVjdCgpLHVlPSExfXZhciBsdD1bXTtmdW5jdGlvbiBrbigpe2xldCB0PWxlLnRha2VSZWNvcmRzKCk7bHQucHVzaCgoKT0+dC5sZW5ndGg+MCYmcGUodCkpO2xldCBlPWx0Lmxlbmd0aDtxdWV1ZU1pY3JvdGFzaygoKT0+e2lmKGx0Lmxlbmd0aD09PWUpZm9yKDtsdC5sZW5ndGg+MDspbHQuc2hpZnQoKSgpfSl9ZnVuY3Rpb24gbSh0KXtpZighdWUpcmV0dXJuIHQoKTtmZSgpO2xldCBlPXQoKTtyZXR1cm4gdXQoKSxlfXZhciBkZT0hMSx2dD1bXTtmdW5jdGlvbiBucigpe2RlPSEwfWZ1bmN0aW9uIGlyKCl7ZGU9ITEscGUodnQpLHZ0PVtdfWZ1bmN0aW9uIHBlKHQpe2lmKGRlKXt2dD12dC5jb25jYXQodCk7cmV0dXJufWxldCBlPVtdLHI9bmV3IFNldCxuPW5ldyBNYXAsaT1uZXcgTWFwO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKWlmKCF0W29dLnRhcmdldC5feF9pZ25vcmVNdXRhdGlvbk9ic2VydmVyJiYodFtvXS50eXBlPT09ImNoaWxkTGlzdCImJih0W29dLnJlbW92ZWROb2Rlcy5mb3JFYWNoKHM9PntzLm5vZGVUeXBlPT09MSYmcy5feF9tYXJrZXImJnIuYWRkKHMpfSksdFtvXS5hZGRlZE5vZGVzLmZvckVhY2gocz0+e2lmKHMubm9kZVR5cGU9PT0xKXtpZihyLmhhcyhzKSl7ci5kZWxldGUocyk7cmV0dXJufXMuX3hfbWFya2VyfHxlLnB1c2gocyl9fSkpLHRbb10udHlwZT09PSJhdHRyaWJ1dGVzIikpe2xldCBzPXRbb10udGFyZ2V0LGE9dFtvXS5hdHRyaWJ1dGVOYW1lLGM9dFtvXS5vbGRWYWx1ZSxsPSgpPT57bi5oYXMocyl8fG4uc2V0KHMsW10pLG4uZ2V0KHMpLnB1c2goe25hbWU6YSx2YWx1ZTpzLmdldEF0dHJpYnV0ZShhKX0pfSx1PSgpPT57aS5oYXMocyl8fGkuc2V0KHMsW10pLGkuZ2V0KHMpLnB1c2goYSl9O3MuaGFzQXR0cmlidXRlKGEpJiZjPT09bnVsbD9sKCk6cy5oYXNBdHRyaWJ1dGUoYSk/KHUoKSxsKCkpOnUoKX1pLmZvckVhY2goKG8scyk9PntjZShzLG8pfSksbi5mb3JFYWNoKChvLHMpPT57WmUuZm9yRWFjaChhPT5hKHMsbykpfSk7Zm9yKGxldCBvIG9mIHIpZS5zb21lKHM9PnMuY29udGFpbnMobykpfHxRZS5mb3JFYWNoKHM9PnMobykpO2ZvcihsZXQgbyBvZiBlKW8uaXNDb25uZWN0ZWQmJnRyLmZvckVhY2gocz0+cyhvKSk7ZT1udWxsLHI9bnVsbCxuPW51bGwsaT1udWxsfWZ1bmN0aW9uIEN0KHQpe3JldHVybiBQKEYodCkpfWZ1bmN0aW9uIE4odCxlLHIpe3JldHVybiB0Ll94X2RhdGFTdGFjaz1bZSwuLi5GKHJ8fHQpXSwoKT0+e3QuX3hfZGF0YVN0YWNrPXQuX3hfZGF0YVN0YWNrLmZpbHRlcihuPT5uIT09ZSl9fWZ1bmN0aW9uIEYodCl7cmV0dXJuIHQuX3hfZGF0YVN0YWNrP3QuX3hfZGF0YVN0YWNrOnR5cGVvZiBTaGFkb3dSb290PT0iZnVuY3Rpb24iJiZ0IGluc3RhbmNlb2YgU2hhZG93Um9vdD9GKHQuaG9zdCk6dC5wYXJlbnROb2RlP0YodC5wYXJlbnROb2RlKTpbXX1mdW5jdGlvbiBQKHQpe3JldHVybiBuZXcgUHJveHkoe29iamVjdHM6dH0sJG4pfWZ1bmN0aW9uIG9yKHQsZSl7cmV0dXJuIHQ9PT1udWxsfHx0PT09T2JqZWN0LnByb3RvdHlwZT9udWxsOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpP3Q6b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpLGUpfXZhciAkbj17b3duS2V5cyh7b2JqZWN0czp0fSl7cmV0dXJuIEFycmF5LmZyb20obmV3IFNldCh0LmZsYXRNYXAoZT0+T2JqZWN0LmtleXMoZSkpKSl9LGhhcyh7b2JqZWN0czp0fSxlKXtyZXR1cm4gZT09U3ltYm9sLnVuc2NvcGFibGVzPyExOnQuc29tZShyPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixlKXx8UmVmbGVjdC5oYXMocixlKSl9LGdldCh7b2JqZWN0czp0fSxlLHIpe3JldHVybiBlPT0idG9KU09OIj9MbjpSZWZsZWN0LmdldCh0LmZpbmQobj0+UmVmbGVjdC5oYXMobixlKSl8fHt9LGUscil9LHNldCh7b2JqZWN0czp0fSxlLHIsbil7bGV0IGk7Zm9yKGxldCBzIG9mIHQpaWYoaT1vcihzLGUpLGkpYnJlYWs7aXx8KGk9dFt0Lmxlbmd0aC0xXSk7bGV0IG89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpLGUpO3JldHVybiBvPy5zZXQmJm8/LmdldD9vLnNldC5jYWxsKG4scil8fCEwOlJlZmxlY3Quc2V0KGksZSxyKX19O2Z1bmN0aW9uIExuKCl7cmV0dXJuIFJlZmxlY3Qub3duS2V5cyh0aGlzKS5yZWR1Y2UoKGUscik9PihlW3JdPVJlZmxlY3QuZ2V0KHRoaXMsciksZSkse30pfWZ1bmN0aW9uIHJ0KHQpe2xldCBlPW49PnR5cGVvZiBuPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkobikmJm4hPT1udWxsLHI9KG4saT0iIik9PntPYmplY3QuZW50cmllcyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhuKSkuZm9yRWFjaCgoW28se3ZhbHVlOnMsZW51bWVyYWJsZTphfV0pPT57aWYoYT09PSExfHxzPT09dm9pZCAwfHx0eXBlb2Ygcz09Im9iamVjdCImJnMhPT1udWxsJiZzLl9fdl9za2lwKXJldHVybjtsZXQgYz1pPT09IiI/bzpgJHtpfS4ke299YDt0eXBlb2Ygcz09Im9iamVjdCImJnMhPT1udWxsJiZzLl94X2ludGVyY2VwdG9yP25bb109cy5pbml0aWFsaXplKHQsYyxvKTplKHMpJiZzIT09biYmIShzIGluc3RhbmNlb2YgRWxlbWVudCkmJnIocyxjKX0pfTtyZXR1cm4gcih0KX1mdW5jdGlvbiBUdCh0LGU9KCk9Pnt9KXtsZXQgcj17aW5pdGlhbFZhbHVlOnZvaWQgMCxfeF9pbnRlcmNlcHRvcjohMCxpbml0aWFsaXplKG4saSxvKXtyZXR1cm4gdCh0aGlzLmluaXRpYWxWYWx1ZSwoKT0+am4obixpKSxzPT5tZShuLGkscyksaSxvKX19O3JldHVybiBlKHIpLG49PntpZih0eXBlb2Ygbj09Im9iamVjdCImJm4hPT1udWxsJiZuLl94X2ludGVyY2VwdG9yKXtsZXQgaT1yLmluaXRpYWxpemUuYmluZChyKTtyLmluaXRpYWxpemU9KG8scyxhKT0+e2xldCBjPW4uaW5pdGlhbGl6ZShvLHMsYSk7cmV0dXJuIHIuaW5pdGlhbFZhbHVlPWMsaShvLHMsYSl9fWVsc2Ugci5pbml0aWFsVmFsdWU9bjtyZXR1cm4gcn19ZnVuY3Rpb24gam4odCxlKXtyZXR1cm4gZS5zcGxpdCgiLiIpLnJlZHVjZSgocixuKT0+cltuXSx0KX1mdW5jdGlvbiBtZSh0LGUscil7aWYodHlwZW9mIGU9PSJzdHJpbmciJiYoZT1lLnNwbGl0KCIuIikpLGUubGVuZ3RoPT09MSl0W2VbMF1dPXI7ZWxzZXtpZihlLmxlbmd0aD09PTApdGhyb3cgZXJyb3I7cmV0dXJuIHRbZVswXV18fCh0W2VbMF1dPXt9KSxtZSh0W2VbMF1dLGUuc2xpY2UoMSkscil9fXZhciBzcj17fTtmdW5jdGlvbiB4KHQsZSl7c3JbdF09ZX1mdW5jdGlvbiBIKHQsZSl7bGV0IHI9Rm4oZSk7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHNyKS5mb3JFYWNoKChbbixpXSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxgJCR7bn1gLHtnZXQoKXtyZXR1cm4gaShlLHIpfSxlbnVtZXJhYmxlOiExfSl9KSx0fWZ1bmN0aW9uIEZuKHQpe2xldFtlLHJdPWhlKHQpLG49e2ludGVyY2VwdG9yOlR0LC4uLmV9O3JldHVybiBldCh0LHIpLG59ZnVuY3Rpb24gYXIodCxlLHIsLi4ubil7dHJ5e3JldHVybiByKC4uLm4pfWNhdGNoKGkpe250KGksdCxlKX19ZnVuY3Rpb24gbnQoLi4udCl7cmV0dXJuIGNyKC4uLnQpfXZhciBjcj1CbjtmdW5jdGlvbiBscih0KXtjcj10fWZ1bmN0aW9uIEJuKHQsZSxyPXZvaWQgMCl7dD1PYmplY3QuYXNzaWduKHQ/P3ttZXNzYWdlOiJObyBlcnJvciBtZXNzYWdlIGdpdmVuLiJ9LHtlbDplLGV4cHJlc3Npb246cn0pLGNvbnNvbGUud2FybihgQWxwaW5lIEV4cHJlc3Npb24gRXJyb3I6ICR7dC5tZXNzYWdlfQoKJHtyPydFeHByZXNzaW9uOiAiJytyK2AiCgpgOiIifWAsZSksc2V0VGltZW91dCgoKT0+e3Rocm93IHR9LDApfXZhciBpdD0hMDtmdW5jdGlvbiBNdCh0KXtsZXQgZT1pdDtpdD0hMTtsZXQgcj10KCk7cmV0dXJuIGl0PWUscn1mdW5jdGlvbiBUKHQsZSxyPXt9KXtsZXQgbjtyZXR1cm4gXyh0LGUpKGk9Pm49aSxyKSxufWZ1bmN0aW9uIF8oLi4udCl7cmV0dXJuIHVyKC4uLnQpfXZhciB1cj0oKT0+e307ZnVuY3Rpb24gZnIodCl7dXI9dH12YXIgZHI7ZnVuY3Rpb24gcHIodCl7ZHI9dH1mdW5jdGlvbiBtcih0LGUpe2xldCByPXt9O0gocix0KTtsZXQgbj1bciwuLi5GKHQpXSxpPXR5cGVvZiBlPT0iZnVuY3Rpb24iP3puKG4sZSk6Vm4obixlLHQpO3JldHVybiBhci5iaW5kKG51bGwsdCxlLGkpfWZ1bmN0aW9uIHpuKHQsZSl7cmV0dXJuKHI9KCk9Pnt9LHtzY29wZTpuPXt9LHBhcmFtczppPVtdLGNvbnRleHQ6b309e30pPT57aWYoIWl0KXtmdChyLGUsUChbbiwuLi50XSksaSk7cmV0dXJufWxldCBzPWUuYXBwbHkoUChbbiwuLi50XSksaSk7ZnQocixzKX19dmFyIF9lPXt9O2Z1bmN0aW9uIEhuKHQsZSl7aWYoX2VbdF0pcmV0dXJuIF9lW3RdO2xldCByPU9iamVjdC5nZXRQcm90b3R5cGVPZihhc3luYyBmdW5jdGlvbigpe30pLmNvbnN0cnVjdG9yLG49L15bXG5cc10qaWYuKlwoLipcKS8udGVzdCh0LnRyaW0oKSl8fC9eKGxldHxjb25zdClccy8udGVzdCh0LnRyaW0oKSk/YChhc3luYygpPT57ICR7dH0gfSkoKWA6dCxvPSgoKT0+e3RyeXtsZXQgcz1uZXcgcihbIl9fc2VsZiIsInNjb3BlIl0sYHdpdGggKHNjb3BlKSB7IF9fc2VsZi5yZXN1bHQgPSAke259IH07IF9fc2VsZi5maW5pc2hlZCA9IHRydWU7IHJldHVybiBfX3NlbGYucmVzdWx0O2ApO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocywibmFtZSIse3ZhbHVlOmBbQWxwaW5lXSAke3R9YH0pLHN9Y2F0Y2gocyl7cmV0dXJuIG50KHMsZSx0KSxQcm9taXNlLnJlc29sdmUoKX19KSgpO3JldHVybiBfZVt0XT1vLG99ZnVuY3Rpb24gVm4odCxlLHIpe2xldCBuPUhuKGUscik7cmV0dXJuKGk9KCk9Pnt9LHtzY29wZTpvPXt9LHBhcmFtczpzPVtdLGNvbnRleHQ6YX09e30pPT57bi5yZXN1bHQ9dm9pZCAwLG4uZmluaXNoZWQ9ITE7bGV0IGM9UChbbywuLi50XSk7aWYodHlwZW9mIG49PSJmdW5jdGlvbiIpe2xldCBsPW4uY2FsbChhLG4sYykuY2F0Y2godT0+bnQodSxyLGUpKTtuLmZpbmlzaGVkPyhmdChpLG4ucmVzdWx0LGMscyxyKSxuLnJlc3VsdD12b2lkIDApOmwudGhlbih1PT57ZnQoaSx1LGMscyxyKX0pLmNhdGNoKHU9Pm50KHUscixlKSkuZmluYWxseSgoKT0+bi5yZXN1bHQ9dm9pZCAwKX19fWZ1bmN0aW9uIGZ0KHQsZSxyLG4saSl7aWYoaXQmJnR5cGVvZiBlPT0iZnVuY3Rpb24iKXtsZXQgbz1lLmFwcGx5KHIsbik7byBpbnN0YW5jZW9mIFByb21pc2U/by50aGVuKHM9PmZ0KHQscyxyLG4pKS5jYXRjaChzPT5udChzLGksZSkpOnQobyl9ZWxzZSB0eXBlb2YgZT09Im9iamVjdCImJmUgaW5zdGFuY2VvZiBQcm9taXNlP2UudGhlbihvPT50KG8pKTp0KGUpfWZ1bmN0aW9uIGhyKC4uLnQpe3JldHVybiBkciguLi50KX1mdW5jdGlvbiBfcih0LGUscj17fSl7bGV0IG49e307SChuLHQpO2xldCBpPVtuLC4uLkYodCldLG89UChbci5zY29wZT8/e30sLi4uaV0pLHM9ci5wYXJhbXM/P1tdO2lmKGUuaW5jbHVkZXMoImF3YWl0Iikpe2xldCBhPU9iamVjdC5nZXRQcm90b3R5cGVPZihhc3luYyBmdW5jdGlvbigpe30pLmNvbnN0cnVjdG9yLGM9L15bXG5cc10qaWYuKlwoLipcKS8udGVzdChlLnRyaW0oKSl8fC9eKGxldHxjb25zdClccy8udGVzdChlLnRyaW0oKSk/YChhc3luYygpPT57ICR7ZX0gfSkoKWA6ZTtyZXR1cm4gbmV3IGEoWyJzY29wZSJdLGB3aXRoIChzY29wZSkgeyBsZXQgX19yZXN1bHQgPSAke2N9OyByZXR1cm4gX19yZXN1bHQgfWApLmNhbGwoci5jb250ZXh0LG8pfWVsc2V7bGV0IGE9L15bXG5cc10qaWYuKlwoLipcKS8udGVzdChlLnRyaW0oKSl8fC9eKGxldHxjb25zdClccy8udGVzdChlLnRyaW0oKSk/YCgoKT0+eyAke2V9IH0pKClgOmUsbD1uZXcgRnVuY3Rpb24oWyJzY29wZSJdLGB3aXRoIChzY29wZSkgeyBsZXQgX19yZXN1bHQgPSAke2F9OyByZXR1cm4gX19yZXN1bHQgfWApLmNhbGwoci5jb250ZXh0LG8pO3JldHVybiB0eXBlb2YgbD09ImZ1bmN0aW9uIiYmaXQ/bC5hcHBseShvLHMpOmx9fXZhciB5ZT0ieC0iO2Z1bmN0aW9uIE8odD0iIil7cmV0dXJuIHllK3R9ZnVuY3Rpb24gZ3IodCl7eWU9dH12YXIgUnQ9e307ZnVuY3Rpb24gcCh0LGUpe3JldHVybiBSdFt0XT1lLHtiZWZvcmUocil7aWYoIVJ0W3JdKXtjb25zb2xlLndhcm4oU3RyaW5nLnJhd2BDYW5ub3QgZmluZCBkaXJlY3RpdmUgXGAke3J9XGAuIFxgJHt0fVxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IG9yZGVyIG9mIGV4ZWN1dGlvbmApO3JldHVybn1sZXQgbj1HLmluZGV4T2Yocik7Ry5zcGxpY2Uobj49MD9uOkcuaW5kZXhPZigiREVGQVVMVCIpLDAsdCl9fX1mdW5jdGlvbiB4cih0KXtyZXR1cm4gT2JqZWN0LmtleXMoUnQpLmluY2x1ZGVzKHQpfWZ1bmN0aW9uIHB0KHQsZSxyKXtpZihlPUFycmF5LmZyb20oZSksdC5feF92aXJ0dWFsRGlyZWN0aXZlcyl7bGV0IG89T2JqZWN0LmVudHJpZXModC5feF92aXJ0dWFsRGlyZWN0aXZlcykubWFwKChbYSxjXSk9Pih7bmFtZTphLHZhbHVlOmN9KSkscz1iZShvKTtvPW8ubWFwKGE9PnMuZmluZChjPT5jLm5hbWU9PT1hLm5hbWUpP3tuYW1lOmB4LWJpbmQ6JHthLm5hbWV9YCx2YWx1ZTpgIiR7YS52YWx1ZX0iYH06YSksZT1lLmNvbmNhdChvKX1sZXQgbj17fTtyZXR1cm4gZS5tYXAod3IoKG8scyk9Pm5bb109cykpLmZpbHRlcihTcikubWFwKHFuKG4scikpLnNvcnQoS24pLm1hcChvPT5Vbih0LG8pKX1mdW5jdGlvbiBiZSh0KXtyZXR1cm4gQXJyYXkuZnJvbSh0KS5tYXAod3IoKSkuZmlsdGVyKGU9PiFTcihlKSl9dmFyIGdlPSExLGR0PW5ldyBNYXAseXI9U3ltYm9sKCk7ZnVuY3Rpb24gYnIodCl7Z2U9ITA7bGV0IGU9U3ltYm9sKCk7eXI9ZSxkdC5zZXQoZSxbXSk7bGV0IHI9KCk9Pntmb3IoO2R0LmdldChlKS5sZW5ndGg7KWR0LmdldChlKS5zaGlmdCgpKCk7ZHQuZGVsZXRlKGUpfSxuPSgpPT57Z2U9ITEscigpfTt0KHIpLG4oKX1mdW5jdGlvbiBoZSh0KXtsZXQgZT1bXSxyPWE9PmUucHVzaChhKSxbbixpXT1ZZSh0KTtyZXR1cm4gZS5wdXNoKGkpLFt7QWxwaW5lOkIsZWZmZWN0Om4sY2xlYW51cDpyLGV2YWx1YXRlTGF0ZXI6Xy5iaW5kKF8sdCksZXZhbHVhdGU6VC5iaW5kKFQsdCl9LCgpPT5lLmZvckVhY2goYT0+YSgpKV19ZnVuY3Rpb24gVW4odCxlKXtsZXQgcj0oKT0+e30sbj1SdFtlLnR5cGVdfHxyLFtpLG9dPWhlKHQpO090KHQsZS5vcmlnaW5hbCxvKTtsZXQgcz0oKT0+e3QuX3hfaWdub3JlfHx0Ll94X2lnbm9yZVNlbGZ8fChuLmlubGluZSYmbi5pbmxpbmUodCxlLGkpLG49bi5iaW5kKG4sdCxlLGkpLGdlP2R0LmdldCh5cikucHVzaChuKTpuKCkpfTtyZXR1cm4gcy5ydW5DbGVhbnVwcz1vLHN9dmFyIE50PSh0LGUpPT4oe25hbWU6cix2YWx1ZTpufSk9PihyLnN0YXJ0c1dpdGgodCkmJihyPXIucmVwbGFjZSh0LGUpKSx7bmFtZTpyLHZhbHVlOm59KSxQdD10PT50O2Z1bmN0aW9uIHdyKHQ9KCk9Pnt9KXtyZXR1cm4oe25hbWU6ZSx2YWx1ZTpyfSk9PntsZXR7bmFtZTpuLHZhbHVlOml9PUVyLnJlZHVjZSgobyxzKT0+cyhvKSx7bmFtZTplLHZhbHVlOnJ9KTtyZXR1cm4gbiE9PWUmJnQobixlKSx7bmFtZTpuLHZhbHVlOml9fX12YXIgRXI9W107ZnVuY3Rpb24gb3QodCl7RXIucHVzaCh0KX1mdW5jdGlvbiBTcih7bmFtZTp0fSl7cmV0dXJuIHZyKCkudGVzdCh0KX12YXIgdnI9KCk9Pm5ldyBSZWdFeHAoYF4ke3llfShbXjpeLl0rKVxcYmApO2Z1bmN0aW9uIHFuKHQsZSl7cmV0dXJuKHtuYW1lOnIsdmFsdWU6bn0pPT57cj09PW4mJihuPSIiKTtsZXQgaT1yLm1hdGNoKHZyKCkpLG89ci5tYXRjaCgvOihbYS16QS1aMC05XC1fOl0rKS8pLHM9ci5tYXRjaCgvXC5bXi5cXV0rKD89W15cXV0qJCkvZyl8fFtdLGE9ZXx8dFtyXXx8cjtyZXR1cm57dHlwZTppP2lbMV06bnVsbCx2YWx1ZTpvP29bMV06bnVsbCxtb2RpZmllcnM6cy5tYXAoYz0+Yy5yZXBsYWNlKCIuIiwiIikpLGV4cHJlc3Npb246bixvcmlnaW5hbDphfX19dmFyIHhlPSJERUZBVUxUIixHPVsiaWdub3JlIiwicmVmIiwiaWQiLCJkYXRhIiwiYW5jaG9yIiwiYmluZCIsImluaXQiLCJmb3IiLCJtb2RlbCIsIm1vZGVsYWJsZSIsInRyYW5zaXRpb24iLCJzaG93IiwiaWYiLHhlLCJ0ZWxlcG9ydCJdO2Z1bmN0aW9uIEtuKHQsZSl7bGV0IHI9Ry5pbmRleE9mKHQudHlwZSk9PT0tMT94ZTp0LnR5cGUsbj1HLmluZGV4T2YoZS50eXBlKT09PS0xP3hlOmUudHlwZTtyZXR1cm4gRy5pbmRleE9mKHIpLUcuaW5kZXhPZihuKX1mdW5jdGlvbiBKKHQsZSxyPXt9LG49e30pe3JldHVybiB0LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2RldGFpbDpyLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITAsY2FuY2VsYWJsZTohMCwuLi5ufSkpfWZ1bmN0aW9uIEQodCxlKXtpZih0eXBlb2YgU2hhZG93Um9vdD09ImZ1bmN0aW9uIiYmdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Qpe0FycmF5LmZyb20odC5jaGlsZHJlbikuZm9yRWFjaChpPT5EKGksZSkpO3JldHVybn1sZXQgcj0hMTtpZihlKHQsKCk9PnI9ITApLHIpcmV0dXJuO2xldCBuPXQuZmlyc3RFbGVtZW50Q2hpbGQ7Zm9yKDtuOylEKG4sZSwhMSksbj1uLm5leHRFbGVtZW50U2libGluZ31mdW5jdGlvbiBFKHQsLi4uZSl7Y29uc29sZS53YXJuKGBBbHBpbmUgV2FybmluZzogJHt0fWAsLi4uZSl9dmFyIEFyPSExO2Z1bmN0aW9uIE9yKCl7QXImJkUoIkFscGluZSBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpemVkIG9uIHRoaXMgcGFnZS4gQ2FsbGluZyBBbHBpbmUuc3RhcnQoKSBtb3JlIHRoYW4gb25jZSBjYW4gY2F1c2UgcHJvYmxlbXMuIiksQXI9ITAsZG9jdW1lbnQuYm9keXx8RSgiVW5hYmxlIHRvIGluaXRpYWxpemUuIFRyeWluZyB0byBsb2FkIEFscGluZSBiZWZvcmUgYDxib2R5PmAgaXMgYXZhaWxhYmxlLiBEaWQgeW91IGZvcmdldCB0byBhZGQgYGRlZmVyYCBpbiBBbHBpbmUncyBgPHNjcmlwdD5gIHRhZz8iKSxKKGRvY3VtZW50LCJhbHBpbmU6aW5pdCIpLEooZG9jdW1lbnQsImFscGluZTppbml0aWFsaXppbmciKSx1dCgpLGVyKGU9PlMoZSxEKSksZXQoZT0+SShlKSksQXQoKGUscik9PntwdChlLHIpLmZvckVhY2gobj0+bigpKX0pO2xldCB0PWU9PiFZKGUucGFyZW50RWxlbWVudCwhMCk7QXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKE1yKCkuam9pbigiLCIpKSkuZmlsdGVyKHQpLmZvckVhY2goZT0+e1MoZSl9KSxKKGRvY3VtZW50LCJhbHBpbmU6aW5pdGlhbGl6ZWQiKSxzZXRUaW1lb3V0KCgpPT57R24oKX0pfXZhciB3ZT1bXSxDcj1bXTtmdW5jdGlvbiBUcigpe3JldHVybiB3ZS5tYXAodD0+dCgpKX1mdW5jdGlvbiBNcigpe3JldHVybiB3ZS5jb25jYXQoQ3IpLm1hcCh0PT50KCkpfWZ1bmN0aW9uIER0KHQpe3dlLnB1c2godCl9ZnVuY3Rpb24gSXQodCl7Q3IucHVzaCh0KX1mdW5jdGlvbiBZKHQsZT0hMSl7cmV0dXJuIEEodCxyPT57aWYoKGU/TXIoKTpUcigpKS5zb21lKGk9PnIubWF0Y2hlcyhpKSkpcmV0dXJuITB9KX1mdW5jdGlvbiBBKHQsZSl7aWYodCl7aWYoZSh0KSlyZXR1cm4gdDtpZih0Ll94X3RlbGVwb3J0QmFjaylyZXR1cm4gQSh0Ll94X3RlbGVwb3J0QmFjayxlKTtpZih0LnBhcmVudE5vZGUgaW5zdGFuY2VvZiBTaGFkb3dSb290KXJldHVybiBBKHQucGFyZW50Tm9kZS5ob3N0LGUpO2lmKHQucGFyZW50RWxlbWVudClyZXR1cm4gQSh0LnBhcmVudEVsZW1lbnQsZSl9fWZ1bmN0aW9uIFJyKHQpe3JldHVybiBUcigpLnNvbWUoZT0+dC5tYXRjaGVzKGUpKX12YXIgTnI9W107ZnVuY3Rpb24gUHIodCl7TnIucHVzaCh0KX12YXIgV249MTtmdW5jdGlvbiBTKHQsZT1ELHI9KCk9Pnt9KXtBKHQsbj0+bi5feF9pZ25vcmUpfHxicigoKT0+e2UodCwobixpKT0+e24uX3hfbWFya2VyfHwocihuLGkpLE5yLmZvckVhY2gobz0+byhuLGkpKSxwdChuLG4uYXR0cmlidXRlcykuZm9yRWFjaChvPT5vKCkpLG4uX3hfaWdub3JlfHwobi5feF9tYXJrZXI9V24rKyksbi5feF9pZ25vcmUmJmkoKSl9KX0pfWZ1bmN0aW9uIEkodCxlPUQpe2UodCxyPT57cnIociksY2UociksZGVsZXRlIHIuX3hfbWFya2VyfSl9ZnVuY3Rpb24gR24oKXtbWyJ1aSIsImRpYWxvZyIsWyJbeC1kaWFsb2ddLCBbeC1wb3BvdmVyXSJdXSxbImFuY2hvciIsImFuY2hvciIsWyJbeC1hbmNob3JdIl1dLFsic29ydCIsInNvcnQiLFsiW3gtc29ydF0iXV1dLmZvckVhY2goKFtlLHIsbl0pPT57eHIocil8fG4uc29tZShpPT57aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihpKSlyZXR1cm4gRShgZm91bmQgIiR7aX0iLCBidXQgbWlzc2luZyAke2V9IHBsdWdpbmApLCEwfSl9KX12YXIgRWU9W10sU2U9ITE7ZnVuY3Rpb24gc3QodD0oKT0+e30pe3JldHVybiBxdWV1ZU1pY3JvdGFzaygoKT0+e1NlfHxzZXRUaW1lb3V0KCgpPT57a3QoKX0pfSksbmV3IFByb21pc2UoZT0+e0VlLnB1c2goKCk9Pnt0KCksZSgpfSl9KX1mdW5jdGlvbiBrdCgpe2ZvcihTZT0hMTtFZS5sZW5ndGg7KUVlLnNoaWZ0KCkoKX1mdW5jdGlvbiBEcigpe1NlPSEwfWZ1bmN0aW9uIG10KHQsZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/SXIodCxlLmpvaW4oIiAiKSk6dHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbD9Kbih0LGUpOnR5cGVvZiBlPT0iZnVuY3Rpb24iP210KHQsZSgpKTpJcih0LGUpfWZ1bmN0aW9uIHZlKHQpe3JldHVybiB0LnNwbGl0KC9ccy8pLmZpbHRlcihCb29sZWFuKX1mdW5jdGlvbiBJcih0LGUpe2xldCByPWk9PnZlKGkpLmZpbHRlcihvPT4hdC5jbGFzc0xpc3QuY29udGFpbnMobykpLmZpbHRlcihCb29sZWFuKSxuPWk9Pih0LmNsYXNzTGlzdC5hZGQoLi4uaSksKCk9Pnt0LmNsYXNzTGlzdC5yZW1vdmUoLi4uaSl9KTtyZXR1cm4gZT1lPT09ITA/ZT0iIjplfHwiIixuKHIoZSkpfWZ1bmN0aW9uIEpuKHQsZSl7bGV0IHI9T2JqZWN0LmVudHJpZXMoZSkuZmxhdE1hcCgoW3MsYV0pPT5hP3ZlKHMpOiExKS5maWx0ZXIoQm9vbGVhbiksbj1PYmplY3QuZW50cmllcyhlKS5mbGF0TWFwKChbcyxhXSk9PmE/ITE6dmUocykpLmZpbHRlcihCb29sZWFuKSxpPVtdLG89W107cmV0dXJuIG4uZm9yRWFjaChzPT57dC5jbGFzc0xpc3QuY29udGFpbnMocykmJih0LmNsYXNzTGlzdC5yZW1vdmUocyksby5wdXNoKHMpKX0pLHIuZm9yRWFjaChzPT57dC5jbGFzc0xpc3QuY29udGFpbnMocyl8fCh0LmNsYXNzTGlzdC5hZGQocyksaS5wdXNoKHMpKX0pLCgpPT57by5mb3JFYWNoKHM9PnQuY2xhc3NMaXN0LmFkZChzKSksaS5mb3JFYWNoKHM9PnQuY2xhc3NMaXN0LnJlbW92ZShzKSl9fWZ1bmN0aW9uIFgodCxlKXtyZXR1cm4gdHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbD9Zbih0LGUpOlhuKHQsZSl9ZnVuY3Rpb24gWW4odCxlKXtsZXQgcj17fTtyZXR1cm4gT2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoW24saV0pPT57cltuXT10LnN0eWxlW25dLG4uc3RhcnRzV2l0aCgiLS0iKXx8KG49Wm4obikpLHQuc3R5bGUuc2V0UHJvcGVydHkobixpKX0pLHNldFRpbWVvdXQoKCk9Pnt0LnN0eWxlLmxlbmd0aD09PTAmJnQucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpfSksKCk9PntYKHQscil9fWZ1bmN0aW9uIFhuKHQsZSl7bGV0IHI9dC5nZXRBdHRyaWJ1dGUoInN0eWxlIixlKTtyZXR1cm4gdC5zZXRBdHRyaWJ1dGUoInN0eWxlIixlKSwoKT0+e3Quc2V0QXR0cmlidXRlKCJzdHlsZSIscnx8IiIpfX1mdW5jdGlvbiBabih0KXtyZXR1cm4gdC5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gaHQodCxlPSgpPT57fSl7bGV0IHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7cj9lLmFwcGx5KHRoaXMsYXJndW1lbnRzKToocj0hMCx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXAoInRyYW5zaXRpb24iLCh0LHt2YWx1ZTplLG1vZGlmaWVyczpyLGV4cHJlc3Npb246bn0se2V2YWx1YXRlOml9KT0+e3R5cGVvZiBuPT0iZnVuY3Rpb24iJiYobj1pKG4pKSxuIT09ITEmJighbnx8dHlwZW9mIG49PSJib29sZWFuIj90aSh0LHIsZSk6UW4odCxuLGUpKX0pO2Z1bmN0aW9uIFFuKHQsZSxyKXtrcih0LG10LCIiKSx7ZW50ZXI6aT0+e3QuX3hfdHJhbnNpdGlvbi5lbnRlci5kdXJpbmc9aX0sImVudGVyLXN0YXJ0IjppPT57dC5feF90cmFuc2l0aW9uLmVudGVyLnN0YXJ0PWl9LCJlbnRlci1lbmQiOmk9Pnt0Ll94X3RyYW5zaXRpb24uZW50ZXIuZW5kPWl9LGxlYXZlOmk9Pnt0Ll94X3RyYW5zaXRpb24ubGVhdmUuZHVyaW5nPWl9LCJsZWF2ZS1zdGFydCI6aT0+e3QuX3hfdHJhbnNpdGlvbi5sZWF2ZS5zdGFydD1pfSwibGVhdmUtZW5kIjppPT57dC5feF90cmFuc2l0aW9uLmxlYXZlLmVuZD1pfX1bcl0oZSl9ZnVuY3Rpb24gdGkodCxlLHIpe2tyKHQsWCk7bGV0IG49IWUuaW5jbHVkZXMoImluIikmJiFlLmluY2x1ZGVzKCJvdXQiKSYmIXIsaT1ufHxlLmluY2x1ZGVzKCJpbiIpfHxbImVudGVyIl0uaW5jbHVkZXMociksbz1ufHxlLmluY2x1ZGVzKCJvdXQiKXx8WyJsZWF2ZSJdLmluY2x1ZGVzKHIpO2UuaW5jbHVkZXMoImluIikmJiFuJiYoZT1lLmZpbHRlcigodyx0dCk9PnR0PGUuaW5kZXhPZigib3V0IikpKSxlLmluY2x1ZGVzKCJvdXQiKSYmIW4mJihlPWUuZmlsdGVyKCh3LHR0KT0+dHQ+ZS5pbmRleE9mKCJvdXQiKSkpO2xldCBzPSFlLmluY2x1ZGVzKCJvcGFjaXR5IikmJiFlLmluY2x1ZGVzKCJzY2FsZSIpLGE9c3x8ZS5pbmNsdWRlcygib3BhY2l0eSIpLGM9c3x8ZS5pbmNsdWRlcygic2NhbGUiKSxsPWE/MDoxLHU9Yz9fdChlLCJzY2FsZSIsOTUpLzEwMDoxLGY9X3QoZSwiZGVsYXkiLDApLzFlMyxiPV90KGUsIm9yaWdpbiIsImNlbnRlciIpLGc9Im9wYWNpdHksIHRyYW5zZm9ybSIsTD1fdChlLCJkdXJhdGlvbiIsMTUwKS8xZTMsZD1fdChlLCJkdXJhdGlvbiIsNzUpLzFlMyx5PSJjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSkiO2kmJih0Ll94X3RyYW5zaXRpb24uZW50ZXIuZHVyaW5nPXt0cmFuc2Zvcm1PcmlnaW46Yix0cmFuc2l0aW9uRGVsYXk6YCR7Zn1zYCx0cmFuc2l0aW9uUHJvcGVydHk6Zyx0cmFuc2l0aW9uRHVyYXRpb246YCR7TH1zYCx0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246eX0sdC5feF90cmFuc2l0aW9uLmVudGVyLnN0YXJ0PXtvcGFjaXR5OmwsdHJhbnNmb3JtOmBzY2FsZSgke3V9KWB9LHQuX3hfdHJhbnNpdGlvbi5lbnRlci5lbmQ9e29wYWNpdHk6MSx0cmFuc2Zvcm06InNjYWxlKDEpIn0pLG8mJih0Ll94X3RyYW5zaXRpb24ubGVhdmUuZHVyaW5nPXt0cmFuc2Zvcm1PcmlnaW46Yix0cmFuc2l0aW9uRGVsYXk6YCR7Zn1zYCx0cmFuc2l0aW9uUHJvcGVydHk6Zyx0cmFuc2l0aW9uRHVyYXRpb246YCR7ZH1zYCx0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246eX0sdC5feF90cmFuc2l0aW9uLmxlYXZlLnN0YXJ0PXtvcGFjaXR5OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9LHQuX3hfdHJhbnNpdGlvbi5sZWF2ZS5lbmQ9e29wYWNpdHk6bCx0cmFuc2Zvcm06YHNjYWxlKCR7dX0pYH0pfWZ1bmN0aW9uIGtyKHQsZSxyPXt9KXt0Ll94X3RyYW5zaXRpb258fCh0Ll94X3RyYW5zaXRpb249e2VudGVyOntkdXJpbmc6cixzdGFydDpyLGVuZDpyfSxsZWF2ZTp7ZHVyaW5nOnIsc3RhcnQ6cixlbmQ6cn0saW4obj0oKT0+e30saT0oKT0+e30peyR0KHQsZSx7ZHVyaW5nOnRoaXMuZW50ZXIuZHVyaW5nLHN0YXJ0OnRoaXMuZW50ZXIuc3RhcnQsZW5kOnRoaXMuZW50ZXIuZW5kfSxuLGkpfSxvdXQobj0oKT0+e30saT0oKT0+e30peyR0KHQsZSx7ZHVyaW5nOnRoaXMubGVhdmUuZHVyaW5nLHN0YXJ0OnRoaXMubGVhdmUuc3RhcnQsZW5kOnRoaXMubGVhdmUuZW5kfSxuLGkpfX0pfXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5feF90b2dnbGVBbmRDYXNjYWRlV2l0aFRyYW5zaXRpb25zPWZ1bmN0aW9uKHQsZSxyLG4pe2xldCBpPWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj9yZXF1ZXN0QW5pbWF0aW9uRnJhbWU6c2V0VGltZW91dCxvPSgpPT5pKHIpO2lmKGUpe3QuX3hfdHJhbnNpdGlvbiYmKHQuX3hfdHJhbnNpdGlvbi5lbnRlcnx8dC5feF90cmFuc2l0aW9uLmxlYXZlKT90Ll94X3RyYW5zaXRpb24uZW50ZXImJihPYmplY3QuZW50cmllcyh0Ll94X3RyYW5zaXRpb24uZW50ZXIuZHVyaW5nKS5sZW5ndGh8fE9iamVjdC5lbnRyaWVzKHQuX3hfdHJhbnNpdGlvbi5lbnRlci5zdGFydCkubGVuZ3RofHxPYmplY3QuZW50cmllcyh0Ll94X3RyYW5zaXRpb24uZW50ZXIuZW5kKS5sZW5ndGgpP3QuX3hfdHJhbnNpdGlvbi5pbihyKTpvKCk6dC5feF90cmFuc2l0aW9uP3QuX3hfdHJhbnNpdGlvbi5pbihyKTpvKCk7cmV0dXJufXQuX3hfaGlkZVByb21pc2U9dC5feF90cmFuc2l0aW9uP25ldyBQcm9taXNlKChzLGEpPT57dC5feF90cmFuc2l0aW9uLm91dCgoKT0+e30sKCk9PnMobikpLHQuX3hfdHJhbnNpdGlvbmluZyYmdC5feF90cmFuc2l0aW9uaW5nLmJlZm9yZUNhbmNlbCgoKT0+YSh7aXNGcm9tQ2FuY2VsbGVkVHJhbnNpdGlvbjohMH0pKX0pOlByb21pc2UucmVzb2x2ZShuKSxxdWV1ZU1pY3JvdGFzaygoKT0+e2xldCBzPSRyKHQpO3M/KHMuX3hfaGlkZUNoaWxkcmVufHwocy5feF9oaWRlQ2hpbGRyZW49W10pLHMuX3hfaGlkZUNoaWxkcmVuLnB1c2godCkpOmkoKCk9PntsZXQgYT1jPT57bGV0IGw9UHJvbWlzZS5hbGwoW2MuX3hfaGlkZVByb21pc2UsLi4uKGMuX3hfaGlkZUNoaWxkcmVufHxbXSkubWFwKGEpXSkudGhlbigoW3VdKT0+dT8uKCkpO3JldHVybiBkZWxldGUgYy5feF9oaWRlUHJvbWlzZSxkZWxldGUgYy5feF9oaWRlQ2hpbGRyZW4sbH07YSh0KS5jYXRjaChjPT57aWYoIWMuaXNGcm9tQ2FuY2VsbGVkVHJhbnNpdGlvbil0aHJvdyBjfSl9KX0pfTtmdW5jdGlvbiAkcih0KXtsZXQgZT10LnBhcmVudE5vZGU7aWYoZSlyZXR1cm4gZS5feF9oaWRlUHJvbWlzZT9lOiRyKGUpfWZ1bmN0aW9uICR0KHQsZSx7ZHVyaW5nOnIsc3RhcnQ6bixlbmQ6aX09e30sbz0oKT0+e30scz0oKT0+e30pe2lmKHQuX3hfdHJhbnNpdGlvbmluZyYmdC5feF90cmFuc2l0aW9uaW5nLmNhbmNlbCgpLE9iamVjdC5rZXlzKHIpLmxlbmd0aD09PTAmJk9iamVjdC5rZXlzKG4pLmxlbmd0aD09PTAmJk9iamVjdC5rZXlzKGkpLmxlbmd0aD09PTApe28oKSxzKCk7cmV0dXJufWxldCBhLGMsbDtlaSh0LHtzdGFydCgpe2E9ZSh0LG4pfSxkdXJpbmcoKXtjPWUodCxyKX0sYmVmb3JlOm8sZW5kKCl7YSgpLGw9ZSh0LGkpfSxhZnRlcjpzLGNsZWFudXAoKXtjKCksbCgpfX0pfWZ1bmN0aW9uIGVpKHQsZSl7bGV0IHIsbixpLG89aHQoKCk9PnttKCgpPT57cj0hMCxufHxlLmJlZm9yZSgpLGl8fChlLmVuZCgpLGt0KCkpLGUuYWZ0ZXIoKSx0LmlzQ29ubmVjdGVkJiZlLmNsZWFudXAoKSxkZWxldGUgdC5feF90cmFuc2l0aW9uaW5nfSl9KTt0Ll94X3RyYW5zaXRpb25pbmc9e2JlZm9yZUNhbmNlbHM6W10sYmVmb3JlQ2FuY2VsKHMpe3RoaXMuYmVmb3JlQ2FuY2Vscy5wdXNoKHMpfSxjYW5jZWw6aHQoZnVuY3Rpb24oKXtmb3IoO3RoaXMuYmVmb3JlQ2FuY2Vscy5sZW5ndGg7KXRoaXMuYmVmb3JlQ2FuY2Vscy5zaGlmdCgpKCk7bygpfSksZmluaXNoOm99LG0oKCk9PntlLnN0YXJ0KCksZS5kdXJpbmcoKX0pLERyKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57aWYocilyZXR1cm47bGV0IHM9TnVtYmVyKGdldENvbXB1dGVkU3R5bGUodCkudHJhbnNpdGlvbkR1cmF0aW9uLnJlcGxhY2UoLywuKi8sIiIpLnJlcGxhY2UoInMiLCIiKSkqMWUzLGE9TnVtYmVyKGdldENvbXB1dGVkU3R5bGUodCkudHJhbnNpdGlvbkRlbGF5LnJlcGxhY2UoLywuKi8sIiIpLnJlcGxhY2UoInMiLCIiKSkqMWUzO3M9PT0wJiYocz1OdW1iZXIoZ2V0Q29tcHV0ZWRTdHlsZSh0KS5hbmltYXRpb25EdXJhdGlvbi5yZXBsYWNlKCJzIiwiIikpKjFlMyksbSgoKT0+e2UuYmVmb3JlKCl9KSxuPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3J8fChtKCgpPT57ZS5lbmQoKX0pLGt0KCksc2V0VGltZW91dCh0Ll94X3RyYW5zaXRpb25pbmcuZmluaXNoLHMrYSksaT0hMCl9KX0pfWZ1bmN0aW9uIF90KHQsZSxyKXtpZih0LmluZGV4T2YoZSk9PT0tMSlyZXR1cm4gcjtsZXQgbj10W3QuaW5kZXhPZihlKSsxXTtpZighbnx8ZT09PSJzY2FsZSImJmlzTmFOKG4pKXJldHVybiByO2lmKGU9PT0iZHVyYXRpb24ifHxlPT09ImRlbGF5Iil7bGV0IGk9bi5tYXRjaCgvKFswLTldKyltcy8pO2lmKGkpcmV0dXJuIGlbMV19cmV0dXJuIGU9PT0ib3JpZ2luIiYmWyJ0b3AiLCJyaWdodCIsImxlZnQiLCJjZW50ZXIiLCJib3R0b20iXS5pbmNsdWRlcyh0W3QuaW5kZXhPZihlKSsyXSk/W24sdFt0LmluZGV4T2YoZSkrMl1dLmpvaW4oIiAiKTpufXZhciBrPSExO2Z1bmN0aW9uIHYodCxlPSgpPT57fSl7cmV0dXJuKC4uLnIpPT5rP2UoLi4ucik6dCguLi5yKX1mdW5jdGlvbiBMcih0KXtyZXR1cm4oLi4uZSk9PmsmJnQoLi4uZSl9dmFyIGpyPVtdO2Z1bmN0aW9uIFYodCl7anIucHVzaCh0KX1mdW5jdGlvbiBGcih0LGUpe2pyLmZvckVhY2gocj0+cih0LGUpKSxrPSEwLHpyKCgpPT57UyhlLChyLG4pPT57bihyLCgpPT57fSl9KX0pLGs9ITF9dmFyIEx0PSExO2Z1bmN0aW9uIEJyKHQsZSl7ZS5feF9kYXRhU3RhY2t8fChlLl94X2RhdGFTdGFjaz10Ll94X2RhdGFTdGFjayksaz0hMCxMdD0hMCx6cigoKT0+e3JpKGUpfSksaz0hMSxMdD0hMX1mdW5jdGlvbiByaSh0KXtsZXQgZT0hMTtTKHQsKG4saSk9PntEKG4sKG8scyk9PntpZihlJiZScihvKSlyZXR1cm4gcygpO2U9ITAsaShvLHMpfSl9KX1mdW5jdGlvbiB6cih0KXtsZXQgZT1SO2FlKChyLG4pPT57bGV0IGk9ZShyKTtyZXR1cm4gaihpKSwoKT0+e319KSx0KCksYWUoZSl9ZnVuY3Rpb24gZ3QodCxlLHIsbj1bXSl7c3dpdGNoKHQuX3hfYmluZGluZ3N8fCh0Ll94X2JpbmRpbmdzPUMoe30pKSx0Ll94X2JpbmRpbmdzW2VdPXIsZT1uLmluY2x1ZGVzKCJjYW1lbCIpP3VpKGUpOmUsZSl7Y2FzZSJ2YWx1ZSI6bmkodCxyKTticmVhaztjYXNlInN0eWxlIjpvaSh0LHIpO2JyZWFrO2Nhc2UiY2xhc3MiOmlpKHQscik7YnJlYWs7Y2FzZSJzZWxlY3RlZCI6Y2FzZSJjaGVja2VkIjpzaSh0LGUscik7YnJlYWs7ZGVmYXVsdDpIcih0LGUscik7YnJlYWt9fWZ1bmN0aW9uIG5pKHQsZSl7aWYoanQodCkpdC5hdHRyaWJ1dGVzLnZhbHVlPT09dm9pZCAwJiYodC52YWx1ZT1lKTtlbHNlIGlmKHl0KHQpKU51bWJlci5pc0ludGVnZXIoZSk/dC52YWx1ZT1lOiFBcnJheS5pc0FycmF5KGUpJiZ0eXBlb2YgZSE9ImJvb2xlYW4iJiYhW251bGwsdm9pZCAwXS5pbmNsdWRlcyhlKT90LnZhbHVlPVN0cmluZyhlKTpBcnJheS5pc0FycmF5KGUpP3QuY2hlY2tlZD1lLnNvbWUocj0+Zmkocix0LnZhbHVlKSk6dC5jaGVja2VkPSEhZTtlbHNlIGlmKHQudGFnTmFtZT09PSJTRUxFQ1QiKWxpKHQsZSk7ZWxzZXtpZih0LnZhbHVlPT09ZSlyZXR1cm47dC52YWx1ZT1lPT09dm9pZCAwPyIiOmV9fWZ1bmN0aW9uIGlpKHQsZSl7dC5feF91bmRvQWRkZWRDbGFzc2VzJiZ0Ll94X3VuZG9BZGRlZENsYXNzZXMoKSx0Ll94X3VuZG9BZGRlZENsYXNzZXM9bXQodCxlKX1mdW5jdGlvbiBvaSh0LGUpe3QuX3hfdW5kb0FkZGVkU3R5bGVzJiZ0Ll94X3VuZG9BZGRlZFN0eWxlcygpLHQuX3hfdW5kb0FkZGVkU3R5bGVzPVgodCxlKX1mdW5jdGlvbiBzaSh0LGUscil7SHIodCxlLHIpLGNpKHQsZSxyKX1mdW5jdGlvbiBIcih0LGUscil7W251bGwsdm9pZCAwLCExXS5pbmNsdWRlcyhyKSYmcGkoZSk/dC5yZW1vdmVBdHRyaWJ1dGUoZSk6KFZyKGUpJiYocj1lKSxhaSh0LGUscikpfWZ1bmN0aW9uIGFpKHQsZSxyKXt0LmdldEF0dHJpYnV0ZShlKSE9ciYmdC5zZXRBdHRyaWJ1dGUoZSxyKX1mdW5jdGlvbiBjaSh0LGUscil7dFtlXSE9PXImJih0W2VdPXIpfWZ1bmN0aW9uIGxpKHQsZSl7bGV0IHI9W10uY29uY2F0KGUpLm1hcChuPT5uKyIiKTtBcnJheS5mcm9tKHQub3B0aW9ucykuZm9yRWFjaChuPT57bi5zZWxlY3RlZD1yLmluY2x1ZGVzKG4udmFsdWUpfSl9ZnVuY3Rpb24gdWkodCl7cmV0dXJuIHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8tKFx3KS9nLChlLHIpPT5yLnRvVXBwZXJDYXNlKCkpfWZ1bmN0aW9uIGZpKHQsZSl7cmV0dXJuIHQ9PWV9ZnVuY3Rpb24geHQodCl7cmV0dXJuWzEsIjEiLCJ0cnVlIiwib24iLCJ5ZXMiLCEwXS5pbmNsdWRlcyh0KT8hMDpbMCwiMCIsImZhbHNlIiwib2ZmIiwibm8iLCExXS5pbmNsdWRlcyh0KT8hMTp0P0Jvb2xlYW4odCk6bnVsbH12YXIgZGk9bmV3IFNldChbImFsbG93ZnVsbHNjcmVlbiIsImFzeW5jIiwiYXV0b2ZvY3VzIiwiYXV0b3BsYXkiLCJjaGVja2VkIiwiY29udHJvbHMiLCJkZWZhdWx0IiwiZGVmZXIiLCJkaXNhYmxlZCIsImZvcm1ub3ZhbGlkYXRlIiwiaW5lcnQiLCJpc21hcCIsIml0ZW1zY29wZSIsImxvb3AiLCJtdWx0aXBsZSIsIm11dGVkIiwibm9tb2R1bGUiLCJub3ZhbGlkYXRlIiwib3BlbiIsInBsYXlzaW5saW5lIiwicmVhZG9ubHkiLCJyZXF1aXJlZCIsInJldmVyc2VkIiwic2VsZWN0ZWQiLCJzaGFkb3dyb290Y2xvbmFibGUiLCJzaGFkb3dyb290ZGVsZWdhdGVzZm9jdXMiLCJzaGFkb3dyb290c2VyaWFsaXphYmxlIl0pO2Z1bmN0aW9uIFZyKHQpe3JldHVybiBkaS5oYXModCl9ZnVuY3Rpb24gcGkodCl7cmV0dXJuIVsiYXJpYS1wcmVzc2VkIiwiYXJpYS1jaGVja2VkIiwiYXJpYS1leHBhbmRlZCIsImFyaWEtc2VsZWN0ZWQiXS5pbmNsdWRlcyh0KX1mdW5jdGlvbiBVcih0LGUscil7cmV0dXJuIHQuX3hfYmluZGluZ3MmJnQuX3hfYmluZGluZ3NbZV0hPT12b2lkIDA/dC5feF9iaW5kaW5nc1tlXTpLcih0LGUscil9ZnVuY3Rpb24gcXIodCxlLHIsbj0hMCl7aWYodC5feF9iaW5kaW5ncyYmdC5feF9iaW5kaW5nc1tlXSE9PXZvaWQgMClyZXR1cm4gdC5feF9iaW5kaW5nc1tlXTtpZih0Ll94X2lubGluZUJpbmRpbmdzJiZ0Ll94X2lubGluZUJpbmRpbmdzW2VdIT09dm9pZCAwKXtsZXQgaT10Ll94X2lubGluZUJpbmRpbmdzW2VdO3JldHVybiBpLmV4dHJhY3Q9bixNdCgoKT0+VCh0LGkuZXhwcmVzc2lvbikpfXJldHVybiBLcih0LGUscil9ZnVuY3Rpb24gS3IodCxlLHIpe2xldCBuPXQuZ2V0QXR0cmlidXRlKGUpO3JldHVybiBuPT09bnVsbD90eXBlb2Ygcj09ImZ1bmN0aW9uIj9yKCk6cjpuPT09IiI/ITA6VnIoZSk/ISFbZSwidHJ1ZSJdLmluY2x1ZGVzKG4pOm59ZnVuY3Rpb24geXQodCl7cmV0dXJuIHQudHlwZT09PSJjaGVja2JveCJ8fHQubG9jYWxOYW1lPT09InVpLWNoZWNrYm94Inx8dC5sb2NhbE5hbWU9PT0idWktc3dpdGNoIn1mdW5jdGlvbiBqdCh0KXtyZXR1cm4gdC50eXBlPT09InJhZGlvInx8dC5sb2NhbE5hbWU9PT0idWktcmFkaW8ifWZ1bmN0aW9uIEZ0KHQsZSl7bGV0IHI7cmV0dXJuIGZ1bmN0aW9uKCl7bGV0IG49dGhpcyxpPWFyZ3VtZW50cyxvPWZ1bmN0aW9uKCl7cj1udWxsLHQuYXBwbHkobixpKX07Y2xlYXJUaW1lb3V0KHIpLHI9c2V0VGltZW91dChvLGUpfX1mdW5jdGlvbiBCdCh0LGUpe2xldCByO3JldHVybiBmdW5jdGlvbigpe2xldCBuPXRoaXMsaT1hcmd1bWVudHM7cnx8KHQuYXBwbHkobixpKSxyPSEwLHNldFRpbWVvdXQoKCk9PnI9ITEsZSkpfX1mdW5jdGlvbiB6dCh7Z2V0OnQsc2V0OmV9LHtnZXQ6cixzZXQ6bn0pe2xldCBpPSEwLG8scyxhPVIoKCk9PntsZXQgYz10KCksbD1yKCk7aWYoaSluKEFlKGMpKSxpPSExO2Vsc2V7bGV0IHU9SlNPTi5zdHJpbmdpZnkoYyksZj1KU09OLnN0cmluZ2lmeShsKTt1IT09bz9uKEFlKGMpKTp1IT09ZiYmZShBZShsKSl9bz1KU09OLnN0cmluZ2lmeSh0KCkpLHM9SlNPTi5zdHJpbmdpZnkocigpKX0pO3JldHVybigpPT57aihhKX19ZnVuY3Rpb24gQWUodCl7cmV0dXJuIHR5cGVvZiB0PT0ib2JqZWN0Ij9KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHQpKTp0fWZ1bmN0aW9uIFdyKHQpeyhBcnJheS5pc0FycmF5KHQpP3Q6W3RdKS5mb3JFYWNoKHI9PnIoQikpfXZhciBaPXt9LEdyPSExO2Z1bmN0aW9uIEpyKHQsZSl7aWYoR3J8fChaPUMoWiksR3I9ITApLGU9PT12b2lkIDApcmV0dXJuIFpbdF07Wlt0XT1lLHJ0KFpbdF0pLHR5cGVvZiBlPT0ib2JqZWN0IiYmZSE9PW51bGwmJmUuaGFzT3duUHJvcGVydHkoImluaXQiKSYmdHlwZW9mIGUuaW5pdD09ImZ1bmN0aW9uIiYmWlt0XS5pbml0KCl9ZnVuY3Rpb24gWXIoKXtyZXR1cm4gWn12YXIgWHI9e307ZnVuY3Rpb24gWnIodCxlKXtsZXQgcj10eXBlb2YgZSE9ImZ1bmN0aW9uIj8oKT0+ZTplO3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD9PZSh0LHIoKSk6KFhyW3RdPXIsKCk9Pnt9KX1mdW5jdGlvbiBRcih0KXtyZXR1cm4gT2JqZWN0LmVudHJpZXMoWHIpLmZvckVhY2goKFtlLHJdKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2dldCgpe3JldHVybiguLi5uKT0+ciguLi5uKX19KX0pLHR9ZnVuY3Rpb24gT2UodCxlLHIpe2xldCBuPVtdO2Zvcig7bi5sZW5ndGg7KW4ucG9wKCkoKTtsZXQgaT1PYmplY3QuZW50cmllcyhlKS5tYXAoKFtzLGFdKT0+KHtuYW1lOnMsdmFsdWU6YX0pKSxvPWJlKGkpO3JldHVybiBpPWkubWFwKHM9Pm8uZmluZChhPT5hLm5hbWU9PT1zLm5hbWUpP3tuYW1lOmB4LWJpbmQ6JHtzLm5hbWV9YCx2YWx1ZTpgIiR7cy52YWx1ZX0iYH06cykscHQodCxpLHIpLm1hcChzPT57bi5wdXNoKHMucnVuQ2xlYW51cHMpLHMoKX0pLCgpPT57Zm9yKDtuLmxlbmd0aDspbi5wb3AoKSgpfX12YXIgdG49e307ZnVuY3Rpb24gZW4odCxlKXt0blt0XT1lfWZ1bmN0aW9uIHJuKHQsZSl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHRuKS5mb3JFYWNoKChbcixuXSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHtnZXQoKXtyZXR1cm4oLi4uaSk9Pm4uYmluZChlKSguLi5pKX0sZW51bWVyYWJsZTohMX0pfSksdH12YXIgbWk9e2dldCByZWFjdGl2ZSgpe3JldHVybiBDfSxnZXQgcmVsZWFzZSgpe3JldHVybiBqfSxnZXQgZWZmZWN0KCl7cmV0dXJuIFJ9LGdldCByYXcoKXtyZXR1cm4gc2V9LGdldCB0cmFuc2FjdGlvbigpe3JldHVybiBYZX0sdmVyc2lvbjoiMy4xNS4xMiIsZmx1c2hBbmRTdG9wRGVmZXJyaW5nTXV0YXRpb25zOmlyLGRvbnRBdXRvRXZhbHVhdGVGdW5jdGlvbnM6TXQsZGlzYWJsZUVmZmVjdFNjaGVkdWxpbmc6R2Usc3RhcnRPYnNlcnZpbmdNdXRhdGlvbnM6dXQsc3RvcE9ic2VydmluZ011dGF0aW9uczpmZSxzZXRSZWFjdGl2aXR5RW5naW5lOkplLG9uQXR0cmlidXRlUmVtb3ZlZDpPdCxvbkF0dHJpYnV0ZXNBZGRlZDpBdCxjbG9zZXN0RGF0YVN0YWNrOkYsc2tpcER1cmluZ0Nsb25lOnYsb25seUR1cmluZ0Nsb25lOkxyLGFkZFJvb3RTZWxlY3RvcjpEdCxhZGRJbml0U2VsZWN0b3I6SXQsc2V0RXJyb3JIYW5kbGVyOmxyLGludGVyY2VwdENsb25lOlYsYWRkU2NvcGVUb05vZGU6TixkZWZlck11dGF0aW9uczpucixtYXBBdHRyaWJ1dGVzOm90LGV2YWx1YXRlTGF0ZXI6XyxpbnRlcmNlcHRJbml0OlByLGluaXRJbnRlcmNlcHRvcnM6cnQsaW5qZWN0TWFnaWNzOkgsc2V0RXZhbHVhdG9yOmZyLHNldFJhd0V2YWx1YXRvcjpwcixtZXJnZVByb3hpZXM6UCxleHRyYWN0UHJvcDpxcixmaW5kQ2xvc2VzdDpBLG9uRWxSZW1vdmVkOmV0LGNsb3Nlc3RSb290OlksZGVzdHJveVRyZWU6SSxpbnRlcmNlcHRvcjpUdCx0cmFuc2l0aW9uOiR0LHNldFN0eWxlczpYLG11dGF0ZURvbTptLGRpcmVjdGl2ZTpwLGVudGFuZ2xlOnp0LHRocm90dGxlOkJ0LGRlYm91bmNlOkZ0LGV2YWx1YXRlOlQsZXZhbHVhdGVSYXc6aHIsaW5pdFRyZWU6UyxuZXh0VGljazpzdCxwcmVmaXhlZDpPLHByZWZpeDpncixwbHVnaW46V3IsbWFnaWM6eCxzdG9yZTpKcixzdGFydDpPcixjbG9uZTpCcixjbG9uZU5vZGU6RnIsYm91bmQ6VXIsJGRhdGE6Q3Qsd2F0Y2g6U3Qsd2FsazpELGRhdGE6ZW4sYmluZDpacn0sQj1taTtmdW5jdGlvbiBDZSh0LGUpe2xldCByPU9iamVjdC5jcmVhdGUobnVsbCksbj10LnNwbGl0KCIsIik7Zm9yKGxldCBpPTA7aTxuLmxlbmd0aDtpKyspcltuW2ldXT0hMDtyZXR1cm4gZT9pPT4hIXJbaS50b0xvd2VyQ2FzZSgpXTppPT4hIXJbaV19dmFyIGhpPSJpdGVtc2NvcGUsYWxsb3dmdWxsc2NyZWVuLGZvcm1ub3ZhbGlkYXRlLGlzbWFwLG5vbW9kdWxlLG5vdmFsaWRhdGUscmVhZG9ubHkiO3ZhciBxcz1DZShoaSsiLGFzeW5jLGF1dG9mb2N1cyxhdXRvcGxheSxjb250cm9scyxkZWZhdWx0LGRlZmVyLGRpc2FibGVkLGhpZGRlbixsb29wLG9wZW4scmVxdWlyZWQscmV2ZXJzZWQsc2NvcGVkLHNlYW1sZXNzLGNoZWNrZWQsbXV0ZWQsbXVsdGlwbGUsc2VsZWN0ZWQiKTt2YXIgbm49T2JqZWN0LmZyZWV6ZSh7fSksS3M9T2JqZWN0LmZyZWV6ZShbXSk7dmFyIF9pPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYnQ9KHQsZSk9Pl9pLmNhbGwodCxlKSxVPUFycmF5LmlzQXJyYXksYXQ9dD0+b24odCk9PT0iW29iamVjdCBNYXBdIjt2YXIgZ2k9dD0+dHlwZW9mIHQ9PSJzdHJpbmciLEh0PXQ9PnR5cGVvZiB0PT0ic3ltYm9sIix3dD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PSJvYmplY3QiO3ZhciB4aT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLG9uPXQ9PnhpLmNhbGwodCksVGU9dD0+b24odCkuc2xpY2UoOCwtMSk7dmFyIFZ0PXQ9PmdpKHQpJiZ0IT09Ik5hTiImJnRbMF0hPT0iLSImJiIiK3BhcnNlSW50KHQsMTApPT09dDt2YXIgVXQ9dD0+e2xldCBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIHI9PmVbcl18fChlW3JdPXQocikpfSx5aT0vLShcdykvZyxXcz1VdCh0PT50LnJlcGxhY2UoeWksKGUscik9PnI/ci50b1VwcGVyQ2FzZSgpOiIiKSksYmk9L1xCKFtBLVpdKS9nLEdzPVV0KHQ9PnQucmVwbGFjZShiaSwiLSQxIikudG9Mb3dlckNhc2UoKSksTWU9VXQodD0+dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpKSxKcz1VdCh0PT50P2BvbiR7TWUodCl9YDoiIiksUmU9KHQsZSk9PnQhPT1lJiYodD09PXR8fGU9PT1lKTt2YXIgTmU9bmV3IFdlYWtNYXAsRXQ9W10sJCxRPVN5bWJvbCgiaXRlcmF0ZSIpLFBlPVN5bWJvbCgiTWFwIGtleSBpdGVyYXRlIik7ZnVuY3Rpb24gd2kodCl7cmV0dXJuIHQmJnQuX2lzRWZmZWN0PT09ITB9ZnVuY3Rpb24gZm4odCxlPW5uKXt3aSh0KSYmKHQ9dC5yYXcpO2xldCByPVNpKHQsZSk7cmV0dXJuIGUubGF6eXx8cigpLHJ9ZnVuY3Rpb24gZG4odCl7dC5hY3RpdmUmJihwbih0KSx0Lm9wdGlvbnMub25TdG9wJiZ0Lm9wdGlvbnMub25TdG9wKCksdC5hY3RpdmU9ITEpfXZhciBFaT0wO2Z1bmN0aW9uIFNpKHQsZSl7bGV0IHI9ZnVuY3Rpb24oKXtpZighci5hY3RpdmUpcmV0dXJuIHQoKTtpZighRXQuaW5jbHVkZXMocikpe3BuKHIpO3RyeXtyZXR1cm4gQWkoKSxFdC5wdXNoKHIpLCQ9cix0KCl9ZmluYWxseXtFdC5wb3AoKSxtbigpLCQ9RXRbRXQubGVuZ3RoLTFdfX19O3JldHVybiByLmlkPUVpKyssci5hbGxvd1JlY3Vyc2U9ISFlLmFsbG93UmVjdXJzZSxyLl9pc0VmZmVjdD0hMCxyLmFjdGl2ZT0hMCxyLnJhdz10LHIuZGVwcz1bXSxyLm9wdGlvbnM9ZSxyfWZ1bmN0aW9uIHBuKHQpe2xldHtkZXBzOmV9PXQ7aWYoZS5sZW5ndGgpe2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKWVbcl0uZGVsZXRlKHQpO2UubGVuZ3RoPTB9fXZhciBjdD0hMCxJZT1bXTtmdW5jdGlvbiB2aSgpe0llLnB1c2goY3QpLGN0PSExfWZ1bmN0aW9uIEFpKCl7SWUucHVzaChjdCksY3Q9ITB9ZnVuY3Rpb24gbW4oKXtsZXQgdD1JZS5wb3AoKTtjdD10PT09dm9pZCAwPyEwOnR9ZnVuY3Rpb24gTSh0LGUscil7aWYoIWN0fHwkPT09dm9pZCAwKXJldHVybjtsZXQgbj1OZS5nZXQodCk7bnx8TmUuc2V0KHQsbj1uZXcgTWFwKTtsZXQgaT1uLmdldChyKTtpfHxuLnNldChyLGk9bmV3IFNldCksaS5oYXMoJCl8fChpLmFkZCgkKSwkLmRlcHMucHVzaChpKSwkLm9wdGlvbnMub25UcmFjayYmJC5vcHRpb25zLm9uVHJhY2soe2VmZmVjdDokLHRhcmdldDp0LHR5cGU6ZSxrZXk6cn0pKX1mdW5jdGlvbiBLKHQsZSxyLG4saSxvKXtsZXQgcz1OZS5nZXQodCk7aWYoIXMpcmV0dXJuO2xldCBhPW5ldyBTZXQsYz11PT57dSYmdS5mb3JFYWNoKGY9PnsoZiE9PSR8fGYuYWxsb3dSZWN1cnNlKSYmYS5hZGQoZil9KX07aWYoZT09PSJjbGVhciIpcy5mb3JFYWNoKGMpO2Vsc2UgaWYocj09PSJsZW5ndGgiJiZVKHQpKXMuZm9yRWFjaCgodSxmKT0+eyhmPT09Imxlbmd0aCJ8fGY+PW4pJiZjKHUpfSk7ZWxzZSBzd2l0Y2gociE9PXZvaWQgMCYmYyhzLmdldChyKSksZSl7Y2FzZSJhZGQiOlUodCk/VnQocikmJmMocy5nZXQoImxlbmd0aCIpKTooYyhzLmdldChRKSksYXQodCkmJmMocy5nZXQoUGUpKSk7YnJlYWs7Y2FzZSJkZWxldGUiOlUodCl8fChjKHMuZ2V0KFEpKSxhdCh0KSYmYyhzLmdldChQZSkpKTticmVhaztjYXNlInNldCI6YXQodCkmJmMocy5nZXQoUSkpO2JyZWFrfWxldCBsPXU9Pnt1Lm9wdGlvbnMub25UcmlnZ2VyJiZ1Lm9wdGlvbnMub25UcmlnZ2VyKHtlZmZlY3Q6dSx0YXJnZXQ6dCxrZXk6cix0eXBlOmUsbmV3VmFsdWU6bixvbGRWYWx1ZTppLG9sZFRhcmdldDpvfSksdS5vcHRpb25zLnNjaGVkdWxlcj91Lm9wdGlvbnMuc2NoZWR1bGVyKHUpOnUoKX07YS5mb3JFYWNoKGwpfXZhciBPaT1DZSgiX19wcm90b19fLF9fdl9pc1JlZixfX2lzVnVlIiksaG49bmV3IFNldChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhTeW1ib2wpLm1hcCh0PT5TeW1ib2xbdF0pLmZpbHRlcihIdCkpLENpPV9uKCk7dmFyIFRpPV9uKCEwKTt2YXIgc249TWkoKTtmdW5jdGlvbiBNaSgpe2xldCB0PXt9O3JldHVyblsiaW5jbHVkZXMiLCJpbmRleE9mIiwibGFzdEluZGV4T2YiXS5mb3JFYWNoKGU9Pnt0W2VdPWZ1bmN0aW9uKC4uLnIpe2xldCBuPWgodGhpcyk7Zm9yKGxldCBvPTAscz10aGlzLmxlbmd0aDtvPHM7bysrKU0obiwiZ2V0IixvKyIiKTtsZXQgaT1uW2VdKC4uLnIpO3JldHVybiBpPT09LTF8fGk9PT0hMT9uW2VdKC4uLnIubWFwKGgpKTppfX0pLFsicHVzaCIsInBvcCIsInNoaWZ0IiwidW5zaGlmdCIsInNwbGljZSJdLmZvckVhY2goZT0+e3RbZV09ZnVuY3Rpb24oLi4ucil7dmkoKTtsZXQgbj1oKHRoaXMpW2VdLmFwcGx5KHRoaXMscik7cmV0dXJuIG1uKCksbn19KSx0fWZ1bmN0aW9uIF9uKHQ9ITEsZT0hMSl7cmV0dXJuIGZ1bmN0aW9uKG4saSxvKXtpZihpPT09Il9fdl9pc1JlYWN0aXZlIilyZXR1cm4hdDtpZihpPT09Il9fdl9pc1JlYWRvbmx5IilyZXR1cm4gdDtpZihpPT09Il9fdl9yYXciJiZvPT09KHQ/ZT9xaTpibjplP1VpOnluKS5nZXQobikpcmV0dXJuIG47bGV0IHM9VShuKTtpZighdCYmcyYmYnQoc24saSkpcmV0dXJuIFJlZmxlY3QuZ2V0KHNuLGksbyk7bGV0IGE9UmVmbGVjdC5nZXQobixpLG8pO3JldHVybihIdChpKT9obi5oYXMoaSk6T2koaSkpfHwodHx8TShuLCJnZXQiLGkpLGUpP2E6RGUoYSk/IXN8fCFWdChpKT9hLnZhbHVlOmE6d3QoYSk/dD93bihhKTpYdChhKTphfX12YXIgUmk9TmkoKTtmdW5jdGlvbiBOaSh0PSExKXtyZXR1cm4gZnVuY3Rpb24ocixuLGksbyl7bGV0IHM9cltuXTtpZighdCYmKGk9aChpKSxzPWgocyksIVUocikmJkRlKHMpJiYhRGUoaSkpKXJldHVybiBzLnZhbHVlPWksITA7bGV0IGE9VShyKSYmVnQobik/TnVtYmVyKG4pPHIubGVuZ3RoOmJ0KHIsbiksYz1SZWZsZWN0LnNldChyLG4saSxvKTtyZXR1cm4gcj09PWgobykmJihhP1JlKGkscykmJksociwic2V0IixuLGkscyk6SyhyLCJhZGQiLG4saSkpLGN9fWZ1bmN0aW9uIFBpKHQsZSl7bGV0IHI9YnQodCxlKSxuPXRbZV0saT1SZWZsZWN0LmRlbGV0ZVByb3BlcnR5KHQsZSk7cmV0dXJuIGkmJnImJksodCwiZGVsZXRlIixlLHZvaWQgMCxuKSxpfWZ1bmN0aW9uIERpKHQsZSl7bGV0IHI9UmVmbGVjdC5oYXModCxlKTtyZXR1cm4oIUh0KGUpfHwhaG4uaGFzKGUpKSYmTSh0LCJoYXMiLGUpLHJ9ZnVuY3Rpb24gSWkodCl7cmV0dXJuIE0odCwiaXRlcmF0ZSIsVSh0KT8ibGVuZ3RoIjpRKSxSZWZsZWN0Lm93bktleXModCl9dmFyIGtpPXtnZXQ6Q2ksc2V0OlJpLGRlbGV0ZVByb3BlcnR5OlBpLGhhczpEaSxvd25LZXlzOklpfSwkaT17Z2V0OlRpLHNldCh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oYFNldCBvcGVyYXRpb24gb24ga2V5ICIke1N0cmluZyhlKX0iIGZhaWxlZDogdGFyZ2V0IGlzIHJlYWRvbmx5LmAsdCksITB9LGRlbGV0ZVByb3BlcnR5KHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybihgRGVsZXRlIG9wZXJhdGlvbiBvbiBrZXkgIiR7U3RyaW5nKGUpfSIgZmFpbGVkOiB0YXJnZXQgaXMgcmVhZG9ubHkuYCx0KSwhMH19O3ZhciBrZT10PT53dCh0KT9YdCh0KTp0LCRlPXQ9Pnd0KHQpP3duKHQpOnQsTGU9dD0+dCxZdD10PT5SZWZsZWN0LmdldFByb3RvdHlwZU9mKHQpO2Z1bmN0aW9uIHF0KHQsZSxyPSExLG49ITEpe3Q9dC5fX3ZfcmF3O2xldCBpPWgodCksbz1oKGUpO2UhPT1vJiYhciYmTShpLCJnZXQiLGUpLCFyJiZNKGksImdldCIsbyk7bGV0e2hhczpzfT1ZdChpKSxhPW4/TGU6cj8kZTprZTtpZihzLmNhbGwoaSxlKSlyZXR1cm4gYSh0LmdldChlKSk7aWYocy5jYWxsKGksbykpcmV0dXJuIGEodC5nZXQobykpO3QhPT1pJiZ0LmdldChlKX1mdW5jdGlvbiBLdCh0LGU9ITEpe2xldCByPXRoaXMuX192X3JhdyxuPWgociksaT1oKHQpO3JldHVybiB0IT09aSYmIWUmJk0obiwiaGFzIix0KSwhZSYmTShuLCJoYXMiLGkpLHQ9PT1pP3IuaGFzKHQpOnIuaGFzKHQpfHxyLmhhcyhpKX1mdW5jdGlvbiBXdCh0LGU9ITEpe3JldHVybiB0PXQuX192X3JhdywhZSYmTShoKHQpLCJpdGVyYXRlIixRKSxSZWZsZWN0LmdldCh0LCJzaXplIix0KX1mdW5jdGlvbiBhbih0KXt0PWgodCk7bGV0IGU9aCh0aGlzKTtyZXR1cm4gWXQoZSkuaGFzLmNhbGwoZSx0KXx8KGUuYWRkKHQpLEsoZSwiYWRkIix0LHQpKSx0aGlzfWZ1bmN0aW9uIGNuKHQsZSl7ZT1oKGUpO2xldCByPWgodGhpcykse2hhczpuLGdldDppfT1ZdChyKSxvPW4uY2FsbChyLHQpO28/eG4ocixuLHQpOih0PWgodCksbz1uLmNhbGwocix0KSk7bGV0IHM9aS5jYWxsKHIsdCk7cmV0dXJuIHIuc2V0KHQsZSksbz9SZShlLHMpJiZLKHIsInNldCIsdCxlLHMpOksociwiYWRkIix0LGUpLHRoaXN9ZnVuY3Rpb24gbG4odCl7bGV0IGU9aCh0aGlzKSx7aGFzOnIsZ2V0Om59PVl0KGUpLGk9ci5jYWxsKGUsdCk7aT94bihlLHIsdCk6KHQ9aCh0KSxpPXIuY2FsbChlLHQpKTtsZXQgbz1uP24uY2FsbChlLHQpOnZvaWQgMCxzPWUuZGVsZXRlKHQpO3JldHVybiBpJiZLKGUsImRlbGV0ZSIsdCx2b2lkIDAsbyksc31mdW5jdGlvbiB1bigpe2xldCB0PWgodGhpcyksZT10LnNpemUhPT0wLHI9YXQodCk/bmV3IE1hcCh0KTpuZXcgU2V0KHQpLG49dC5jbGVhcigpO3JldHVybiBlJiZLKHQsImNsZWFyIix2b2lkIDAsdm9pZCAwLHIpLG59ZnVuY3Rpb24gR3QodCxlKXtyZXR1cm4gZnVuY3Rpb24obixpKXtsZXQgbz10aGlzLHM9by5fX3ZfcmF3LGE9aChzKSxjPWU/TGU6dD8kZTprZTtyZXR1cm4hdCYmTShhLCJpdGVyYXRlIixRKSxzLmZvckVhY2goKGwsdSk9Pm4uY2FsbChpLGMobCksYyh1KSxvKSl9fWZ1bmN0aW9uIEp0KHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24oLi4ubil7bGV0IGk9dGhpcy5fX3ZfcmF3LG89aChpKSxzPWF0KG8pLGE9dD09PSJlbnRyaWVzInx8dD09PVN5bWJvbC5pdGVyYXRvciYmcyxjPXQ9PT0ia2V5cyImJnMsbD1pW3RdKC4uLm4pLHU9cj9MZTplPyRlOmtlO3JldHVybiFlJiZNKG8sIml0ZXJhdGUiLGM/UGU6USkse25leHQoKXtsZXR7dmFsdWU6Zixkb25lOmJ9PWwubmV4dCgpO3JldHVybiBiP3t2YWx1ZTpmLGRvbmU6Yn06e3ZhbHVlOmE/W3UoZlswXSksdShmWzFdKV06dShmKSxkb25lOmJ9fSxbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfX19fWZ1bmN0aW9uIHEodCl7cmV0dXJuIGZ1bmN0aW9uKC4uLmUpe3tsZXQgcj1lWzBdP2BvbiBrZXkgIiR7ZVswXX0iIGA6IiI7Y29uc29sZS53YXJuKGAke01lKHQpfSBvcGVyYXRpb24gJHtyfWZhaWxlZDogdGFyZ2V0IGlzIHJlYWRvbmx5LmAsaCh0aGlzKSl9cmV0dXJuIHQ9PT0iZGVsZXRlIj8hMTp0aGlzfX1mdW5jdGlvbiBMaSgpe2xldCB0PXtnZXQobyl7cmV0dXJuIHF0KHRoaXMsbyl9LGdldCBzaXplKCl7cmV0dXJuIFd0KHRoaXMpfSxoYXM6S3QsYWRkOmFuLHNldDpjbixkZWxldGU6bG4sY2xlYXI6dW4sZm9yRWFjaDpHdCghMSwhMSl9LGU9e2dldChvKXtyZXR1cm4gcXQodGhpcyxvLCExLCEwKX0sZ2V0IHNpemUoKXtyZXR1cm4gV3QodGhpcyl9LGhhczpLdCxhZGQ6YW4sc2V0OmNuLGRlbGV0ZTpsbixjbGVhcjp1bixmb3JFYWNoOkd0KCExLCEwKX0scj17Z2V0KG8pe3JldHVybiBxdCh0aGlzLG8sITApfSxnZXQgc2l6ZSgpe3JldHVybiBXdCh0aGlzLCEwKX0saGFzKG8pe3JldHVybiBLdC5jYWxsKHRoaXMsbywhMCl9LGFkZDpxKCJhZGQiKSxzZXQ6cSgic2V0IiksZGVsZXRlOnEoImRlbGV0ZSIpLGNsZWFyOnEoImNsZWFyIiksZm9yRWFjaDpHdCghMCwhMSl9LG49e2dldChvKXtyZXR1cm4gcXQodGhpcyxvLCEwLCEwKX0sZ2V0IHNpemUoKXtyZXR1cm4gV3QodGhpcywhMCl9LGhhcyhvKXtyZXR1cm4gS3QuY2FsbCh0aGlzLG8sITApfSxhZGQ6cSgiYWRkIiksc2V0OnEoInNldCIpLGRlbGV0ZTpxKCJkZWxldGUiKSxjbGVhcjpxKCJjbGVhciIpLGZvckVhY2g6R3QoITAsITApfTtyZXR1cm5bImtleXMiLCJ2YWx1ZXMiLCJlbnRyaWVzIixTeW1ib2wuaXRlcmF0b3JdLmZvckVhY2gobz0+e3Rbb109SnQobywhMSwhMSkscltvXT1KdChvLCEwLCExKSxlW29dPUp0KG8sITEsITApLG5bb109SnQobywhMCwhMCl9KSxbdCxyLGUsbl19dmFyW2ppLEZpLEJpLHppXT1MaSgpO2Z1bmN0aW9uIGduKHQsZSl7bGV0IHI9ZT90P3ppOkJpOnQ/Rmk6amk7cmV0dXJuKG4saSxvKT0+aT09PSJfX3ZfaXNSZWFjdGl2ZSI/IXQ6aT09PSJfX3ZfaXNSZWFkb25seSI/dDppPT09Il9fdl9yYXciP246UmVmbGVjdC5nZXQoYnQocixpKSYmaSBpbiBuP3I6bixpLG8pfXZhciBIaT17Z2V0OmduKCExLCExKX07dmFyIFZpPXtnZXQ6Z24oITAsITEpfTtmdW5jdGlvbiB4bih0LGUscil7bGV0IG49aChyKTtpZihuIT09ciYmZS5jYWxsKHQsbikpe2xldCBpPVRlKHQpO2NvbnNvbGUud2FybihgUmVhY3RpdmUgJHtpfSBjb250YWlucyBib3RoIHRoZSByYXcgYW5kIHJlYWN0aXZlIHZlcnNpb25zIG9mIHRoZSBzYW1lIG9iamVjdCR7aT09PSJNYXAiPyIgYXMga2V5cyI6IiJ9LCB3aGljaCBjYW4gbGVhZCB0byBpbmNvbnNpc3RlbmNpZXMuIEF2b2lkIGRpZmZlcmVudGlhdGluZyBiZXR3ZWVuIHRoZSByYXcgYW5kIHJlYWN0aXZlIHZlcnNpb25zIG9mIGFuIG9iamVjdCBhbmQgb25seSB1c2UgdGhlIHJlYWN0aXZlIHZlcnNpb24gaWYgcG9zc2libGUuYCl9fXZhciB5bj1uZXcgV2Vha01hcCxVaT1uZXcgV2Vha01hcCxibj1uZXcgV2Vha01hcCxxaT1uZXcgV2Vha01hcDtmdW5jdGlvbiBLaSh0KXtzd2l0Y2godCl7Y2FzZSJPYmplY3QiOmNhc2UiQXJyYXkiOnJldHVybiAxO2Nhc2UiTWFwIjpjYXNlIlNldCI6Y2FzZSJXZWFrTWFwIjpjYXNlIldlYWtTZXQiOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIFdpKHQpe3JldHVybiB0Ll9fdl9za2lwfHwhT2JqZWN0LmlzRXh0ZW5zaWJsZSh0KT8wOktpKFRlKHQpKX1mdW5jdGlvbiBYdCh0KXtyZXR1cm4gdCYmdC5fX3ZfaXNSZWFkb25seT90OkVuKHQsITEsa2ksSGkseW4pfWZ1bmN0aW9uIHduKHQpe3JldHVybiBFbih0LCEwLCRpLFZpLGJuKX1mdW5jdGlvbiBFbih0LGUscixuLGkpe2lmKCF3dCh0KSlyZXR1cm4gY29uc29sZS53YXJuKGB2YWx1ZSBjYW5ub3QgYmUgbWFkZSByZWFjdGl2ZTogJHtTdHJpbmcodCl9YCksdDtpZih0Ll9fdl9yYXcmJiEoZSYmdC5fX3ZfaXNSZWFjdGl2ZSkpcmV0dXJuIHQ7bGV0IG89aS5nZXQodCk7aWYobylyZXR1cm4gbztsZXQgcz1XaSh0KTtpZihzPT09MClyZXR1cm4gdDtsZXQgYT1uZXcgUHJveHkodCxzPT09Mj9uOnIpO3JldHVybiBpLnNldCh0LGEpLGF9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdCYmaCh0Ll9fdl9yYXcpfHx0fWZ1bmN0aW9uIERlKHQpe3JldHVybiBCb29sZWFuKHQmJnQuX192X2lzUmVmPT09ITApfXgoIm5leHRUaWNrIiwoKT0+c3QpO3goImRpc3BhdGNoIix0PT5KLmJpbmQoSix0KSk7eCgid2F0Y2giLCh0LHtldmFsdWF0ZUxhdGVyOmUsY2xlYW51cDpyfSk9PihuLGkpPT57bGV0IG89ZShuKSxhPVN0KCgpPT57bGV0IGM7cmV0dXJuIG8obD0+Yz1sKSxjfSxpKTtyKGEpfSk7eCgic3RvcmUiLFlyKTt4KCJkYXRhIix0PT5DdCh0KSk7eCgicm9vdCIsdD0+WSh0KSk7eCgicmVmcyIsdD0+KHQuX3hfcmVmc19wcm94eXx8KHQuX3hfcmVmc19wcm94eT1QKEdpKHQpKSksdC5feF9yZWZzX3Byb3h5KSk7ZnVuY3Rpb24gR2kodCl7bGV0IGU9W107cmV0dXJuIEEodCxyPT57ci5feF9yZWZzJiZlLnB1c2goci5feF9yZWZzKX0pLGV9dmFyIGplPXt9O2Z1bmN0aW9uIEZlKHQpe3JldHVybiBqZVt0XXx8KGplW3RdPTApLCsramVbdF19ZnVuY3Rpb24gU24odCxlKXtyZXR1cm4gQSh0LHI9PntpZihyLl94X2lkcyYmci5feF9pZHNbZV0pcmV0dXJuITB9KX1mdW5jdGlvbiB2bih0LGUpe3QuX3hfaWRzfHwodC5feF9pZHM9e30pLHQuX3hfaWRzW2VdfHwodC5feF9pZHNbZV09RmUoZSkpfXgoImlkIiwodCx7Y2xlYW51cDplfSk9PihyLG49bnVsbCk9PntsZXQgaT1gJHtyfSR7bj9gLSR7bn1gOiIifWA7cmV0dXJuIEppKHQsaSxlLCgpPT57bGV0IG89U24odCxyKSxzPW8/by5feF9pZHNbcl06RmUocik7cmV0dXJuIG4/YCR7cn0tJHtzfS0ke259YDpgJHtyfS0ke3N9YH0pfSk7VigodCxlKT0+e3QuX3hfaWQmJihlLl94X2lkPXQuX3hfaWQpfSk7ZnVuY3Rpb24gSmkodCxlLHIsbil7aWYodC5feF9pZHx8KHQuX3hfaWQ9e30pLHQuX3hfaWRbZV0pcmV0dXJuIHQuX3hfaWRbZV07bGV0IGk9bigpO3JldHVybiB0Ll94X2lkW2VdPWkscigoKT0+e2RlbGV0ZSB0Ll94X2lkW2VdfSksaX14KCJlbCIsdD0+dCk7QW4oIkZvY3VzIiwiZm9jdXMiLCJmb2N1cyIpO0FuKCJQZXJzaXN0IiwicGVyc2lzdCIsInBlcnNpc3QiKTtmdW5jdGlvbiBBbih0LGUscil7eChlLG49PkUoYFlvdSBjYW4ndCB1c2UgWyQke2V9XSB3aXRob3V0IGZpcnN0IGluc3RhbGxpbmcgdGhlICIke3R9IiBwbHVnaW4gaGVyZTogaHR0cHM6Ly9hbHBpbmVqcy5kZXYvcGx1Z2lucy8ke3J9YCxuKSl9cCgibW9kZWxhYmxlIiwodCx7ZXhwcmVzc2lvbjplfSx7ZWZmZWN0OnIsZXZhbHVhdGVMYXRlcjpuLGNsZWFudXA6aX0pPT57bGV0IG89bihlKSxzPSgpPT57bGV0IHU7cmV0dXJuIG8oZj0+dT1mKSx1fSxhPW4oYCR7ZX0gPSBfX3BsYWNlaG9sZGVyYCksYz11PT5hKCgpPT57fSx7c2NvcGU6e19fcGxhY2Vob2xkZXI6dX19KSxsPXMoKTtjKGwpLHF1ZXVlTWljcm90YXNrKCgpPT57aWYoIXQuX3hfbW9kZWwpcmV0dXJuO3QuX3hfcmVtb3ZlTW9kZWxMaXN0ZW5lcnMuZGVmYXVsdCgpO2xldCB1PXQuX3hfbW9kZWwuZ2V0LGY9dC5feF9tb2RlbC5zZXRXaXRoTW9kaWZpZXJzLGI9enQoe2dldCgpe3JldHVybiB1KCl9LHNldChnKXtmKGcpfX0se2dldCgpe3JldHVybiBzKCl9LHNldChnKXtjKGcpfX0pO2koYil9KX0pO3AoInRlbGVwb3J0IiwodCx7bW9kaWZpZXJzOmUsZXhwcmVzc2lvbjpyfSx7Y2xlYW51cDpufSk9Pnt0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSE9PSJ0ZW1wbGF0ZSImJkUoIngtdGVsZXBvcnQgY2FuIG9ubHkgYmUgdXNlZCBvbiBhIDx0ZW1wbGF0ZT4gdGFnIix0KTtsZXQgaT1PbihyKSxvPXQuY29udGVudC5jbG9uZU5vZGUoITApLmZpcnN0RWxlbWVudENoaWxkO3QuX3hfdGVsZXBvcnQ9byxvLl94X3RlbGVwb3J0QmFjaz10LHQuc2V0QXR0cmlidXRlKCJkYXRhLXRlbGVwb3J0LXRlbXBsYXRlIiwhMCksby5zZXRBdHRyaWJ1dGUoImRhdGEtdGVsZXBvcnQtdGFyZ2V0IiwhMCksdC5feF9mb3J3YXJkRXZlbnRzJiZ0Ll94X2ZvcndhcmRFdmVudHMuZm9yRWFjaChhPT57by5hZGRFdmVudExpc3RlbmVyKGEsYz0+e2Muc3RvcFByb3BhZ2F0aW9uKCksdC5kaXNwYXRjaEV2ZW50KG5ldyBjLmNvbnN0cnVjdG9yKGMudHlwZSxjKSl9KX0pLE4obyx7fSx0KTtsZXQgcz0oYSxjLGwpPT57bC5pbmNsdWRlcygicHJlcGVuZCIpP2MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxjKTpsLmluY2x1ZGVzKCJhcHBlbmQiKT9jLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsYy5uZXh0U2libGluZyk6Yy5hcHBlbmRDaGlsZChhKX07bSgoKT0+e3YoKCk9PntzKG8saSxlKSxTKG8pfSkoKX0pLHQuX3hfdGVsZXBvcnRQdXRCYWNrPSgpPT57bGV0IGE9T24ocik7bSgoKT0+e3ModC5feF90ZWxlcG9ydCxhLGUpfSl9LG4oKCk9Pm0oKCk9PntvLnJlbW92ZSgpLEkobyl9KSl9KTt2YXIgWWk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZnVuY3Rpb24gT24odCl7bGV0IGU9digoKT0+ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KSwoKT0+WWkpKCk7cmV0dXJuIGV8fEUoYENhbm5vdCBmaW5kIHgtdGVsZXBvcnQgZWxlbWVudCBmb3Igc2VsZWN0b3I6ICIke3R9ImApLGV9dmFyIENuPSgpPT57fTtDbi5pbmxpbmU9KHQse21vZGlmaWVyczplfSx7Y2xlYW51cDpyfSk9PntlLmluY2x1ZGVzKCJzZWxmIik/dC5feF9pZ25vcmVTZWxmPSEwOnQuX3hfaWdub3JlPSEwLHIoKCk9PntlLmluY2x1ZGVzKCJzZWxmIik/ZGVsZXRlIHQuX3hfaWdub3JlU2VsZjpkZWxldGUgdC5feF9pZ25vcmV9KX07cCgiaWdub3JlIixDbik7cCgiZWZmZWN0Iix2KCh0LHtleHByZXNzaW9uOmV9LHtlZmZlY3Q6cn0pPT57cihfKHQsZSkpfSkpO2Z1bmN0aW9uIHoodCxlLHIsbil7bGV0IGk9dCxvPWM9Pm4oYykscz17fSxhPShjLGwpPT51PT5sKGMsdSk7cmV0dXJuIHIuaW5jbHVkZXMoImRvdCIpJiYoZT1YaShlKSksci5pbmNsdWRlcygiY2FtZWwiKSYmKGU9WmkoZSkpLHIuaW5jbHVkZXMoImNhcHR1cmUiKSYmKHMuY2FwdHVyZT0hMCksci5pbmNsdWRlcygid2luZG93IikmJihpPXdpbmRvdyksci5pbmNsdWRlcygiZG9jdW1lbnQiKSYmKGk9ZG9jdW1lbnQpLHIuaW5jbHVkZXMoInBhc3NpdmUiKSYmKHMucGFzc2l2ZT1yW3IuaW5kZXhPZigicGFzc2l2ZSIpKzFdIT09ImZhbHNlIiksbz1CZShyLG8pLHIuaW5jbHVkZXMoInByZXZlbnQiKSYmKG89YShvLChjLGwpPT57bC5wcmV2ZW50RGVmYXVsdCgpLGMobCl9KSksci5pbmNsdWRlcygic3RvcCIpJiYobz1hKG8sKGMsbCk9PntsLnN0b3BQcm9wYWdhdGlvbigpLGMobCl9KSksci5pbmNsdWRlcygib25jZSIpJiYobz1hKG8sKGMsbCk9PntjKGwpLGkucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG8scyl9KSksKHIuaW5jbHVkZXMoImF3YXkiKXx8ci5pbmNsdWRlcygib3V0c2lkZSIpKSYmKGk9ZG9jdW1lbnQsbz1hKG8sKGMsbCk9Pnt0LmNvbnRhaW5zKGwudGFyZ2V0KXx8bC50YXJnZXQuaXNDb25uZWN0ZWQhPT0hMSYmKHQub2Zmc2V0V2lkdGg8MSYmdC5vZmZzZXRIZWlnaHQ8MXx8dC5feF9pc1Nob3duIT09ITEmJmMobCkpfSkpLHIuaW5jbHVkZXMoInNlbGYiKSYmKG89YShvLChjLGwpPT57bC50YXJnZXQ9PT10JiZjKGwpfSkpLGU9PT0ic3VibWl0IiYmKG89YShvLChjLGwpPT57bC50YXJnZXQuX3hfcGVuZGluZ01vZGVsVXBkYXRlcyYmbC50YXJnZXQuX3hfcGVuZGluZ01vZGVsVXBkYXRlcy5mb3JFYWNoKHU9PnUoKSksYyhsKX0pKSwodG8oZSl8fE1uKGUpKSYmKG89YShvLChjLGwpPT57ZW8obCxyKXx8YyhsKX0pKSxpLmFkZEV2ZW50TGlzdGVuZXIoZSxvLHMpLCgpPT57aS5yZW1vdmVFdmVudExpc3RlbmVyKGUsbyxzKX19ZnVuY3Rpb24gQmUodCxlKXtpZih0LmluY2x1ZGVzKCJkZWJvdW5jZSIpKXtsZXQgcj10W3QuaW5kZXhPZigiZGVib3VuY2UiKSsxXXx8ImludmFsaWQtd2FpdCIsbj1adChyLnNwbGl0KCJtcyIpWzBdKT9OdW1iZXIoci5zcGxpdCgibXMiKVswXSk6MjUwO2U9RnQoZSxuKX1pZih0LmluY2x1ZGVzKCJ0aHJvdHRsZSIpKXtsZXQgcj10W3QuaW5kZXhPZigidGhyb3R0bGUiKSsxXXx8ImludmFsaWQtd2FpdCIsbj1adChyLnNwbGl0KCJtcyIpWzBdKT9OdW1iZXIoci5zcGxpdCgibXMiKVswXSk6MjUwO2U9QnQoZSxuKX1yZXR1cm4gZX1mdW5jdGlvbiBYaSh0KXtyZXR1cm4gdC5yZXBsYWNlKC8tL2csIi4iKX1mdW5jdGlvbiBaaSh0KXtyZXR1cm4gdC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLy0oXHcpL2csKGUscik9PnIudG9VcHBlckNhc2UoKSl9ZnVuY3Rpb24gWnQodCl7cmV0dXJuIUFycmF5LmlzQXJyYXkodCkmJiFpc05hTih0KX1mdW5jdGlvbiBRaSh0KXtyZXR1cm5bIiAiLCJfIl0uaW5jbHVkZXModCk/dDp0LnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIiQxLSQyIikucmVwbGFjZSgvW19cc10vLCItIikudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiB0byh0KXtyZXR1cm5bImtleWRvd24iLCJrZXl1cCJdLmluY2x1ZGVzKHQpfWZ1bmN0aW9uIE1uKHQpe3JldHVyblsiY29udGV4dG1lbnUiLCJjbGljayIsIm1vdXNlIl0uc29tZShlPT50LmluY2x1ZGVzKGUpKX1mdW5jdGlvbiBlbyh0LGUpe2xldCByPWUuZmlsdGVyKG89PiFbIndpbmRvdyIsImRvY3VtZW50IiwicHJldmVudCIsInN0b3AiLCJvbmNlIiwiY2FwdHVyZSIsInNlbGYiLCJhd2F5Iiwib3V0c2lkZSIsInBhc3NpdmUiLCJwcmVzZXJ2ZS1zY3JvbGwiLCJibHVyIiwiY2hhbmdlIiwibGF6eSJdLmluY2x1ZGVzKG8pKTtpZihyLmluY2x1ZGVzKCJkZWJvdW5jZSIpKXtsZXQgbz1yLmluZGV4T2YoImRlYm91bmNlIik7ci5zcGxpY2UobyxadCgocltvKzFdfHwiaW52YWxpZC13YWl0Iikuc3BsaXQoIm1zIilbMF0pPzI6MSl9aWYoci5pbmNsdWRlcygidGhyb3R0bGUiKSl7bGV0IG89ci5pbmRleE9mKCJ0aHJvdHRsZSIpO3Iuc3BsaWNlKG8sWnQoKHJbbysxXXx8ImludmFsaWQtd2FpdCIpLnNwbGl0KCJtcyIpWzBdKT8yOjEpfWlmKHIubGVuZ3RoPT09MHx8ci5sZW5ndGg9PT0xJiZUbih0LmtleSkuaW5jbHVkZXMoclswXSkpcmV0dXJuITE7bGV0IGk9WyJjdHJsIiwic2hpZnQiLCJhbHQiLCJtZXRhIiwiY21kIiwic3VwZXIiXS5maWx0ZXIobz0+ci5pbmNsdWRlcyhvKSk7cmV0dXJuIHI9ci5maWx0ZXIobz0+IWkuaW5jbHVkZXMobykpLCEoaS5sZW5ndGg+MCYmaS5maWx0ZXIocz0+KChzPT09ImNtZCJ8fHM9PT0ic3VwZXIiKSYmKHM9Im1ldGEiKSx0W2Ake3N9S2V5YF0pKS5sZW5ndGg9PT1pLmxlbmd0aCYmKE1uKHQudHlwZSl8fFRuKHQua2V5KS5pbmNsdWRlcyhyWzBdKSkpfWZ1bmN0aW9uIFRuKHQpe2lmKCF0KXJldHVybltdO3Q9UWkodCk7bGV0IGU9e2N0cmw6ImNvbnRyb2wiLHNsYXNoOiIvIixzcGFjZToiICIsc3BhY2ViYXI6IiAiLGNtZDoibWV0YSIsZXNjOiJlc2NhcGUiLHVwOiJhcnJvdy11cCIsZG93bjoiYXJyb3ctZG93biIsbGVmdDoiYXJyb3ctbGVmdCIscmlnaHQ6ImFycm93LXJpZ2h0IixwZXJpb2Q6Ii4iLGNvbW1hOiIsIixlcXVhbDoiPSIsbWludXM6Ii0iLHVuZGVyc2NvcmU6Il8ifTtyZXR1cm4gZVt0XT10LE9iamVjdC5rZXlzKGUpLm1hcChyPT57aWYoZVtyXT09PXQpcmV0dXJuIHJ9KS5maWx0ZXIocj0+cil9cCgibW9kZWwiLCh0LHttb2RpZmllcnM6ZSxleHByZXNzaW9uOnJ9LHtlZmZlY3Q6bixjbGVhbnVwOml9KT0+e2xldCBvPXQ7ZS5pbmNsdWRlcygicGFyZW50IikmJihvPUEodCxkPT5kIT09dCkpO2xldCBzPV8obyxyKSxhO3R5cGVvZiByPT0ic3RyaW5nIj9hPV8obyxgJHtyfSA9IF9fcGxhY2Vob2xkZXJgKTp0eXBlb2Ygcj09ImZ1bmN0aW9uIiYmdHlwZW9mIHIoKT09InN0cmluZyI/YT1fKG8sYCR7cigpfSA9IF9fcGxhY2Vob2xkZXJgKTphPSgpPT57fTtsZXQgYz0oKT0+e2xldCBkO3JldHVybiBzKHk9PmQ9eSksUm4oZCk/ZC5nZXQoKTpkfSxsPWQ9PntsZXQgeTtzKHc9Pnk9dyksUm4oeSk/eS5zZXQoZCk6YSgoKT0+e30se3Njb3BlOntfX3BsYWNlaG9sZGVyOmR9fSl9O3R5cGVvZiByPT0ic3RyaW5nIiYmdC50eXBlPT09InJhZGlvIiYmbSgoKT0+e3QuaGFzQXR0cmlidXRlKCJuYW1lIil8fHQuc2V0QXR0cmlidXRlKCJuYW1lIixyKX0pO2xldCB1PWUuaW5jbHVkZXMoImNoYW5nZSIpfHxlLmluY2x1ZGVzKCJsYXp5IiksZj1lLmluY2x1ZGVzKCJibHVyIiksYj1lLmluY2x1ZGVzKCJlbnRlciIpLGc9dXx8Znx8YixMO2lmKGspTD0oKT0+e307ZWxzZSBpZihnKXtsZXQgZD1bXSx5PXc9PmwoUXQodCxlLHcsYygpKSk7aWYodSYmZC5wdXNoKHoodCwiY2hhbmdlIixlLHkpKSxmJiYoZC5wdXNoKHoodCwiYmx1ciIsZSx5KSksdC5mb3JtKSl7bGV0IHc9dC5mb3JtLHR0PSgpPT55KHt0YXJnZXQ6dH0pO3cuX3hfcGVuZGluZ01vZGVsVXBkYXRlc3x8KHcuX3hfcGVuZGluZ01vZGVsVXBkYXRlcz1bXSksdy5feF9wZW5kaW5nTW9kZWxVcGRhdGVzLnB1c2godHQpLGkoKCk9Pnt3Ll94X3BlbmRpbmdNb2RlbFVwZGF0ZXMmJncuX3hfcGVuZGluZ01vZGVsVXBkYXRlcy5zcGxpY2Uody5feF9wZW5kaW5nTW9kZWxVcGRhdGVzLmluZGV4T2YodHQpLDEpfSl9YiYmZC5wdXNoKHoodCwia2V5ZG93biIsZSx3PT57dy5rZXk9PT0iRW50ZXIiJiZ5KHcpfSkpLEw9KCk9PmQuZm9yRWFjaCh3PT53KCkpfWVsc2V7bGV0IGQ9dC50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2VsZWN0Inx8WyJjaGVja2JveCIsInJhZGlvIl0uaW5jbHVkZXModC50eXBlKT8iY2hhbmdlIjoiaW5wdXQiO0w9eih0LGQsZSx5PT57bChRdCh0LGUseSxjKCkpKX0pfWlmKGUuaW5jbHVkZXMoImZpbGwiKSYmKFt2b2lkIDAsbnVsbCwiIl0uaW5jbHVkZXMoYygpKXx8eXQodCkmJkFycmF5LmlzQXJyYXkoYygpKXx8dC50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2VsZWN0IiYmdC5tdWx0aXBsZSkmJmwoUXQodCxlLHt0YXJnZXQ6dH0sYygpKSksdC5feF9yZW1vdmVNb2RlbExpc3RlbmVyc3x8KHQuX3hfcmVtb3ZlTW9kZWxMaXN0ZW5lcnM9e30pLHQuX3hfcmVtb3ZlTW9kZWxMaXN0ZW5lcnMuZGVmYXVsdD1MLGkoKCk9PnQuX3hfcmVtb3ZlTW9kZWxMaXN0ZW5lcnMuZGVmYXVsdCgpKSx0LmZvcm0pe2xldCBkPXoodC5mb3JtLCJyZXNldCIsW10seT0+e3N0KCgpPT50Ll94X21vZGVsJiZ0Ll94X21vZGVsLnNldChRdCh0LGUse3RhcmdldDp0fSxjKCkpKSl9KTtpKCgpPT5kKCkpfXQuX3hfbW9kZWw9e2dldCgpe3JldHVybiBjKCl9LHNldChkKXtsKGQpfSxzZXRXaXRoTW9kaWZpZXJzOkJlKGUsbCl9LHQuX3hfZm9yY2VNb2RlbFVwZGF0ZT1kPT57ZD09PXZvaWQgMCYmdHlwZW9mIHI9PSJzdHJpbmciJiZyLm1hdGNoKC9cLi8pJiYoZD0iIiksbSgoKT0+e3l0KHQpP0FycmF5LmlzQXJyYXkoZCk/dC5jaGVja2VkPWQuc29tZSh5PT55PT10LnZhbHVlKTp0LmNoZWNrZWQ9ISFkOmp0KHQpP3R5cGVvZiBkPT0iYm9vbGVhbiI/dC5jaGVja2VkPXh0KHQudmFsdWUpPT09ZDp0LmNoZWNrZWQ9dC52YWx1ZT09ZDpndCh0LCJ2YWx1ZSIsZCl9KX0sbigoKT0+e2xldCBkPWMoKTtlLmluY2x1ZGVzKCJ1bmludHJ1c2l2ZSIpJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlzU2FtZU5vZGUodCl8fHQuX3hfZm9yY2VNb2RlbFVwZGF0ZShkKX0pfSk7ZnVuY3Rpb24gUXQodCxlLHIsbil7cmV0dXJuIG0oKCk9PntpZihyIGluc3RhbmNlb2YgQ3VzdG9tRXZlbnQmJnIuZGV0YWlsIT09dm9pZCAwKXJldHVybiByLmRldGFpbCE9PW51bGwmJnIuZGV0YWlsIT09dm9pZCAwP3IuZGV0YWlsOnIudGFyZ2V0LnZhbHVlO2lmKHl0KHQpKWlmKEFycmF5LmlzQXJyYXkobikpe2xldCBpPW51bGw7cmV0dXJuIGUuaW5jbHVkZXMoIm51bWJlciIpP2k9emUoci50YXJnZXQudmFsdWUpOmUuaW5jbHVkZXMoImJvb2xlYW4iKT9pPXh0KHIudGFyZ2V0LnZhbHVlKTppPXIudGFyZ2V0LnZhbHVlLHIudGFyZ2V0LmNoZWNrZWQ/bi5pbmNsdWRlcyhpKT9uOm4uY29uY2F0KFtpXSk6bi5maWx0ZXIobz0+IXJvKG8saSkpfWVsc2UgcmV0dXJuIHIudGFyZ2V0LmNoZWNrZWQ7ZWxzZXtpZih0LnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJzZWxlY3QiJiZ0Lm11bHRpcGxlKXJldHVybiBlLmluY2x1ZGVzKCJudW1iZXIiKT9BcnJheS5mcm9tKHIudGFyZ2V0LnNlbGVjdGVkT3B0aW9ucykubWFwKGk9PntsZXQgbz1pLnZhbHVlfHxpLnRleHQ7cmV0dXJuIHplKG8pfSk6ZS5pbmNsdWRlcygiYm9vbGVhbiIpP0FycmF5LmZyb20oci50YXJnZXQuc2VsZWN0ZWRPcHRpb25zKS5tYXAoaT0+e2xldCBvPWkudmFsdWV8fGkudGV4dDtyZXR1cm4geHQobyl9KTpBcnJheS5mcm9tKHIudGFyZ2V0LnNlbGVjdGVkT3B0aW9ucykubWFwKGk9PmkudmFsdWV8fGkudGV4dCk7e2xldCBpO3JldHVybiBqdCh0KT9yLnRhcmdldC5jaGVja2VkP2k9ci50YXJnZXQudmFsdWU6aT1uOmk9ci50YXJnZXQudmFsdWUsZS5pbmNsdWRlcygibnVtYmVyIik/emUoaSk6ZS5pbmNsdWRlcygiYm9vbGVhbiIpP3h0KGkpOmUuaW5jbHVkZXMoInRyaW0iKT9pLnRyaW0oKTppfX19KX1mdW5jdGlvbiB6ZSh0KXtsZXQgZT10P3BhcnNlRmxvYXQodCk6bnVsbDtyZXR1cm4gbm8oZSk/ZTp0fWZ1bmN0aW9uIHJvKHQsZSl7cmV0dXJuIHQ9PWV9ZnVuY3Rpb24gbm8odCl7cmV0dXJuIUFycmF5LmlzQXJyYXkodCkmJiFpc05hTih0KX1mdW5jdGlvbiBSbih0KXtyZXR1cm4gdCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0IiYmdHlwZW9mIHQuZ2V0PT0iZnVuY3Rpb24iJiZ0eXBlb2YgdC5zZXQ9PSJmdW5jdGlvbiJ9cCgiY2xvYWsiLHQ9PnF1ZXVlTWljcm90YXNrKCgpPT5tKCgpPT50LnJlbW92ZUF0dHJpYnV0ZShPKCJjbG9hayIpKSkpKTtJdCgoKT0+YFske08oImluaXQiKX1dYCk7cCgiaW5pdCIsdigodCx7ZXhwcmVzc2lvbjplfSx7ZXZhbHVhdGU6cn0pPT50eXBlb2YgZT09InN0cmluZyI/ISFlLnRyaW0oKSYmcihlLHt9LCExKTpyKGUse30sITEpKSk7cCgidGV4dCIsKHQse2V4cHJlc3Npb246ZX0se2VmZmVjdDpyLGV2YWx1YXRlTGF0ZXI6bn0pPT57bGV0IGk9bihlKTtyKCgpPT57aShvPT57bSgoKT0+e3QudGV4dENvbnRlbnQ9b30pfSl9KX0pO3AoImh0bWwiLCh0LHtleHByZXNzaW9uOmV9LHtlZmZlY3Q6cixldmFsdWF0ZUxhdGVyOm59KT0+e2xldCBpPW4oZSk7cigoKT0+e2kobz0+e20oKCk9Pnt0LmlubmVySFRNTD1vPz8iIix0Ll94X2lnbm9yZVNlbGY9ITAsUyh0KSxkZWxldGUgdC5feF9pZ25vcmVTZWxmfSl9KX0pfSk7b3QoTnQoIjoiLFB0KE8oImJpbmQ6IikpKSk7dmFyIE5uPSh0LHt2YWx1ZTplLG1vZGlmaWVyczpyLGV4cHJlc3Npb246bixvcmlnaW5hbDppfSx7ZWZmZWN0Om8sY2xlYW51cDpzfSk9PntpZighZSl7bGV0IGM9e307UXIoYyksXyh0LG4pKHU9PntPZSh0LHUsaSl9LHtzY29wZTpjfSk7cmV0dXJufWlmKGU9PT0ia2V5IilyZXR1cm4gaW8odCxuKTtpZih0Ll94X2lubGluZUJpbmRpbmdzJiZ0Ll94X2lubGluZUJpbmRpbmdzW2VdJiZ0Ll94X2lubGluZUJpbmRpbmdzW2VdLmV4dHJhY3QpcmV0dXJuO2xldCBhPV8odCxuKTtvKCgpPT5hKGM9PntjPT09dm9pZCAwJiZ0eXBlb2Ygbj09InN0cmluZyImJm4ubWF0Y2goL1wuLykmJihjPSIiKSxtKCgpPT5ndCh0LGUsYyxyKSl9KSkscygoKT0+e3QuX3hfdW5kb0FkZGVkQ2xhc3NlcyYmdC5feF91bmRvQWRkZWRDbGFzc2VzKCksdC5feF91bmRvQWRkZWRTdHlsZXMmJnQuX3hfdW5kb0FkZGVkU3R5bGVzKCl9KX07Tm4uaW5saW5lPSh0LHt2YWx1ZTplLG1vZGlmaWVyczpyLGV4cHJlc3Npb246bn0pPT57ZSYmKHQuX3hfaW5saW5lQmluZGluZ3N8fCh0Ll94X2lubGluZUJpbmRpbmdzPXt9KSx0Ll94X2lubGluZUJpbmRpbmdzW2VdPXtleHByZXNzaW9uOm4sZXh0cmFjdDohMX0pfTtwKCJiaW5kIixObik7ZnVuY3Rpb24gaW8odCxlKXt0Ll94X2tleUV4cHJlc3Npb249ZX1EdCgoKT0+YFske08oImRhdGEiKX1dYCk7cCgiZGF0YSIsKHQse2V4cHJlc3Npb246ZX0se2NsZWFudXA6cn0pPT57aWYob28odCkpcmV0dXJuO2U9ZT09PSIiPyJ7fSI6ZTtsZXQgbj17fTtIKG4sdCk7bGV0IGk9e307cm4oaSxuKTtsZXQgbz1UKHQsZSx7c2NvcGU6aX0pOyhvPT09dm9pZCAwfHxvPT09ITApJiYobz17fSksSChvLHQpO2xldCBzPUMobyk7cnQocyk7bGV0IGE9Tih0LHMpO3MuaW5pdCYmVCh0LHMuaW5pdCkscigoKT0+e3MuZGVzdHJveSYmVCh0LHMuZGVzdHJveSksYSgpfSl9KTtWKCh0LGUpPT57dC5feF9kYXRhU3RhY2smJihlLl94X2RhdGFTdGFjaz10Ll94X2RhdGFTdGFjayxlLnNldEF0dHJpYnV0ZSgiZGF0YS1oYXMtYWxwaW5lLXN0YXRlIiwhMCkpfSk7ZnVuY3Rpb24gb28odCl7cmV0dXJuIGs/THQ/ITA6dC5oYXNBdHRyaWJ1dGUoImRhdGEtaGFzLWFscGluZS1zdGF0ZSIpOiExfXAoInNob3ciLCh0LHttb2RpZmllcnM6ZSxleHByZXNzaW9uOnJ9LHtlZmZlY3Q6bn0pPT57bGV0IGk9Xyh0LHIpO3QuX3hfZG9IaWRlfHwodC5feF9kb0hpZGU9KCk9PnttKCgpPT57dC5zdHlsZS5zZXRQcm9wZXJ0eSgiZGlzcGxheSIsIm5vbmUiLGUuaW5jbHVkZXMoImltcG9ydGFudCIpPyJpbXBvcnRhbnQiOnZvaWQgMCl9KX0pLHQuX3hfZG9TaG93fHwodC5feF9kb1Nob3c9KCk9PnttKCgpPT57dC5zdHlsZS5sZW5ndGg9PT0xJiZ0LnN0eWxlLmRpc3BsYXk9PT0ibm9uZSI/dC5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIik6dC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiZGlzcGxheSIpfSl9KTtsZXQgbz0oKT0+e3QuX3hfZG9IaWRlKCksdC5feF9pc1Nob3duPSExfSxzPSgpPT57dC5feF9kb1Nob3coKSx0Ll94X2lzU2hvd249ITB9LGE9KCk9PnNldFRpbWVvdXQocyksYz1odChmPT5mP3MoKTpvKCksZj0+e3R5cGVvZiB0Ll94X3RvZ2dsZUFuZENhc2NhZGVXaXRoVHJhbnNpdGlvbnM9PSJmdW5jdGlvbiI/dC5feF90b2dnbGVBbmRDYXNjYWRlV2l0aFRyYW5zaXRpb25zKHQsZixzLG8pOmY/YSgpOm8oKX0pLGwsdT0hMDtuKCgpPT5pKGY9PnshdSYmZj09PWx8fChlLmluY2x1ZGVzKCJpbW1lZGlhdGUiKSYmKGY/YSgpOm8oKSksYyhmKSxsPWYsdT0hMSl9KSl9KTtwKCJmb3IiLCh0LHtleHByZXNzaW9uOmV9LHtlZmZlY3Q6cixjbGVhbnVwOm59KT0+e2xldCBpPWNvKGUpLG89Xyh0LGkuaXRlbXMpLHM9Xyh0LHQuX3hfa2V5RXhwcmVzc2lvbnx8ImluZGV4Iik7dC5feF9sb29rdXA9bmV3IE1hcCxyKCgpPT5hbyh0LGksbyxzKSksbigoKT0+e3QuX3hfbG9va3VwLmZvckVhY2goYT0+bSgoKT0+e0koYSksYS5yZW1vdmUoKX0pKSxkZWxldGUgdC5feF9sb29rdXB9KX0pO2Z1bmN0aW9uIHNvKHQpe3JldHVybiBlPT57T2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoW3Isbl0pPT57dFtyXT1ufSl9fWZ1bmN0aW9uIGFvKHQsZSxyLG4pe3IoaT0+e3VvKGkpJiYoaT1BcnJheS5mcm9tKHtsZW5ndGg6aX0sKGwsdSk9PnUrMSkpLGk9PW51bGwmJihpPVtdKSxpIGluc3RhbmNlb2YgU2V0JiYoaT1BcnJheS5mcm9tKGkpKSxpIGluc3RhbmNlb2YgTWFwJiYoaT1BcnJheS5mcm9tKGkpKTtsZXQgbz10Ll94X2xvb2t1cCxzPW5ldyBNYXA7dC5feF9sb29rdXA9cztsZXQgYT1mbyhpKSxjPU9iamVjdC5lbnRyaWVzKGkpLm1hcCgoW2wsdV0pPT57YXx8KGw9cGFyc2VJbnQobCkpO2xldCBmPWxvKGUsdSxsLGkpLGI7cmV0dXJuIG4oZz0+e3R5cGVvZiBnPT0ib2JqZWN0IiYmRSgieC1mb3Iga2V5IGNhbm5vdCBiZSBhbiBvYmplY3QsIGl0IG11c3QgYmUgYSBzdHJpbmcgb3IgYW4gaW50ZWdlciIsdCksby5oYXMoZykmJihzLnNldChnLG8uZ2V0KGcpKSxvLmRlbGV0ZShnKSksYj1nfSx7c2NvcGU6e2luZGV4OmwsLi4uZn19KSxbYixmXX0pO20oKCk9PntvLmZvckVhY2goZj0+e0koZiksZi5yZW1vdmUoKX0pO2xldCBsPW5ldyBTZXQsdT10O2MuZm9yRWFjaCgoW2YsYl0pPT57aWYocy5oYXMoZikpe2xldCBkPXMuZ2V0KGYpO2QuX3hfcmVmcmVzaFhGb3JTY29wZShiKSx1Lm5leHRFbGVtZW50U2libGluZyE9PWQmJih1Lm5leHRFbGVtZW50U2libGluZyYmZC5yZXBsYWNlV2l0aCh1Lm5leHRFbGVtZW50U2libGluZyksdS5hZnRlcihkKSksdT1kLGQuX3hfY3VycmVudElmRWwmJihkLm5leHRFbGVtZW50U2libGluZyE9PWQuX3hfY3VycmVudElmRWwmJnUuYWZ0ZXIoZC5feF9jdXJyZW50SWZFbCksdT1kLl94X2N1cnJlbnRJZkVsKTtyZXR1cm59dC5jb250ZW50LmNoaWxkcmVuLmxlbmd0aD4xJiZFKCJ4LWZvciB0ZW1wbGF0ZXMgcmVxdWlyZSBhIHNpbmdsZSByb290IGVsZW1lbnQsIGFkZGl0aW9uYWwgZWxlbWVudHMgd2lsbCBiZSBpZ25vcmVkLiIsdCk7bGV0IGc9ZG9jdW1lbnQuaW1wb3J0Tm9kZSh0LmNvbnRlbnQsITApLmZpcnN0RWxlbWVudENoaWxkLEw9QyhiKTtOKGcsTCx0KSxnLl94X3JlZnJlc2hYRm9yU2NvcGU9c28oTCkscy5zZXQoZixnKSxsLmFkZChnKSx1LmFmdGVyKGcpLHU9Z30pLHYoKCk9PmwuZm9yRWFjaChmPT5TKGYpKSkoKX0pfSl9ZnVuY3Rpb24gY28odCl7bGV0IGU9LywoW14sXH1cXV0qKSg/OiwoW14sXH1cXV0qKSk/JC8scj0vXlxzKlwofFwpXHMqJC9nLG49LyhbXHNcU10qPylccysoPzppbnxvZilccysoW1xzXFNdKikvLGk9dC5tYXRjaChuKTtpZighaSlyZXR1cm47bGV0IG89e307by5pdGVtcz1pWzJdLnRyaW0oKTtsZXQgcz1pWzFdLnJlcGxhY2UociwiIikudHJpbSgpLGE9cy5tYXRjaChlKTtyZXR1cm4gYT8oby5pdGVtPXMucmVwbGFjZShlLCIiKS50cmltKCksby5pbmRleD1hWzFdLnRyaW0oKSxhWzJdJiYoby5jb2xsZWN0aW9uPWFbMl0udHJpbSgpKSk6by5pdGVtPXMsb31mdW5jdGlvbiBsbyh0LGUscixuKXtsZXQgaT17fTtyZXR1cm4vXlxbLipcXSQvLnRlc3QodC5pdGVtKSYmQXJyYXkuaXNBcnJheShlKT90Lml0ZW0ucmVwbGFjZSgiWyIsIiIpLnJlcGxhY2UoIl0iLCIiKS5zcGxpdCgiLCIpLm1hcChzPT5zLnRyaW0oKSkuZm9yRWFjaCgocyxhKT0+e2lbc109ZVthXX0pOi9eXHsuKlx9JC8udGVzdCh0Lml0ZW0pJiYhQXJyYXkuaXNBcnJheShlKSYmdHlwZW9mIGU9PSJvYmplY3QiP3QuaXRlbS5yZXBsYWNlKCJ7IiwiIikucmVwbGFjZSgifSIsIiIpLnNwbGl0KCIsIikubWFwKHM9PnMudHJpbSgpKS5mb3JFYWNoKHM9PntpW3NdPWVbc119KTppW3QuaXRlbV09ZSx0LmluZGV4JiYoaVt0LmluZGV4XT1yKSx0LmNvbGxlY3Rpb24mJihpW3QuY29sbGVjdGlvbl09biksaX1mdW5jdGlvbiB1byh0KXtyZXR1cm4gdHlwZW9mIHQhPSJvYmplY3QiJiYhaXNOYU4odCl9ZnVuY3Rpb24gZm8odCl7cmV0dXJuIHR5cGVvZiB0PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodCl9ZnVuY3Rpb24gUG4oKXt9UG4uaW5saW5lPSh0LHtleHByZXNzaW9uOmV9LHtjbGVhbnVwOnJ9KT0+e2xldCBuPVkodCk7biYmKG4uX3hfcmVmc3x8KG4uX3hfcmVmcz17fSksbi5feF9yZWZzW2VdPXQscigoKT0+ZGVsZXRlIG4uX3hfcmVmc1tlXSkpfTtwKCJyZWYiLFBuKTtwKCJpZiIsKHQse2V4cHJlc3Npb246ZX0se2VmZmVjdDpyLGNsZWFudXA6bn0pPT57dC50YWdOYW1lLnRvTG93ZXJDYXNlKCkhPT0idGVtcGxhdGUiJiZFKCJ4LWlmIGNhbiBvbmx5IGJlIHVzZWQgb24gYSA8dGVtcGxhdGU+IHRhZyIsdCk7bGV0IGk9Xyh0LGUpLG89KCk9PntpZih0Ll94X2N1cnJlbnRJZkVsKXJldHVybiB0Ll94X2N1cnJlbnRJZkVsO2xldCBhPXQuY29udGVudC5jbG9uZU5vZGUoITApLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBOKGEse30sdCksbSgoKT0+e3QuYWZ0ZXIoYSksdigoKT0+UyhhKSkoKX0pLHQuX3hfY3VycmVudElmRWw9YSx0Ll94X3VuZG9JZj0oKT0+e20oKCk9PntJKGEpLGEucmVtb3ZlKCl9KSxkZWxldGUgdC5feF9jdXJyZW50SWZFbH0sYX0scz0oKT0+e3QuX3hfdW5kb0lmJiYodC5feF91bmRvSWYoKSxkZWxldGUgdC5feF91bmRvSWYpfTtyKCgpPT5pKGE9PnthP28oKTpzKCl9KSksbigoKT0+dC5feF91bmRvSWYmJnQuX3hfdW5kb0lmKCkpfSk7cCgiaWQiLCh0LHtleHByZXNzaW9uOmV9LHtldmFsdWF0ZTpyfSk9PntyKGUpLmZvckVhY2goaT0+dm4odCxpKSl9KTtWKCh0LGUpPT57dC5feF9pZHMmJihlLl94X2lkcz10Ll94X2lkcyl9KTtvdChOdCgiQCIsUHQoTygib246IikpKSk7cCgib24iLHYoKHQse3ZhbHVlOmUsbW9kaWZpZXJzOnIsZXhwcmVzc2lvbjpufSx7Y2xlYW51cDppfSk9PntsZXQgbz1uP18odCxuKTooKT0+e307dC50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0idGVtcGxhdGUiJiYodC5feF9mb3J3YXJkRXZlbnRzfHwodC5feF9mb3J3YXJkRXZlbnRzPVtdKSx0Ll94X2ZvcndhcmRFdmVudHMuaW5jbHVkZXMoZSl8fHQuX3hfZm9yd2FyZEV2ZW50cy5wdXNoKGUpKTtsZXQgcz16KHQsZSxyLGE9PntvKCgpPT57fSx7c2NvcGU6eyRldmVudDphfSxwYXJhbXM6W2FdfSl9KTtpKCgpPT5zKCkpfSkpO3RlKCJDb2xsYXBzZSIsImNvbGxhcHNlIiwiY29sbGFwc2UiKTt0ZSgiSW50ZXJzZWN0IiwiaW50ZXJzZWN0IiwiaW50ZXJzZWN0Iik7dGUoIkZvY3VzIiwidHJhcCIsImZvY3VzIik7dGUoIk1hc2siLCJtYXNrIiwibWFzayIpO2Z1bmN0aW9uIHRlKHQsZSxyKXtwKGUsbj0+RShgWW91IGNhbid0IHVzZSBbeC0ke2V9XSB3aXRob3V0IGZpcnN0IGluc3RhbGxpbmcgdGhlICIke3R9IiBwbHVnaW4gaGVyZTogaHR0cHM6Ly9hbHBpbmVqcy5kZXYvcGx1Z2lucy8ke3J9YCxuKSl9Qi5zZXRFdmFsdWF0b3IobXIpO0Iuc2V0UmF3RXZhbHVhdG9yKF9yKTtCLnNldFJlYWN0aXZpdHlFbmdpbmUoe3JlYWN0aXZlOlh0LGVmZmVjdDpmbixyZWxlYXNlOmRuLHJhdzpofSk7dmFyIEhlPUI7d2luZG93LkFscGluZT1IZTtxdWV1ZU1pY3JvdGFzaygoKT0+e0hlLnN0YXJ0KCl9KTt9KSgpOwo="}},"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.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.150.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/Gc2en3nHxA4","date":"2026-07-27T02:52:42.029Z","timestamp":1785120762029,"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/Gc2en3nHxA4\r\nCookie: __Secure-YNID=20.YT=bAUqAsWtUq0QI5lnbjhRqZxHGZTeQ44xv158_wDI-OREM7hGFwdQh-Fnn22UwtwKdRs2XmKd7gTrEAoqaDWooWex7Ez6kTDTNUcX8LsL0A97B1hbdocm9avbwiNvbxX0qKi_6wfFS1CnewvwpgMiqR_UIe99ateBO-McP73c1Zzq_nQj0oz29qM3VrxL5dXw0BXSrEg6LS26egZNxmOWqDoWCXOgjnuJW9prHYJaiNfGFA8qaLg9BKawO80BA2HUa848WVC3wn7FXVdvLYKmvluEfWi0SBv3Xu-C7jzQzWIv3w_HURzWyX7xi17bUcvikavkbkw21f4nJLdMk19TRw; YSC=FCnieG1ugZQ; __Secure-ROLLOUT_TOKEN=CM2d7q3Og7rzjQEQvpaNh-3xlQMYvpaNh-3xlQM%3D; VISITOR_INFO1_LIVE=WjWmnUIpJks; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgTg%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:21 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:21 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: 222981\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-27T05:15:36.961391Z","times_seen":888,"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":39,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/7278.738759ef0ac33469253b.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.569Z","timestamp":1785120763569,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/7278.738759ef0ac33469253b.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/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.720Z","timestamp":1785120763720,"http_version":"","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/imge1.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.994Z","timestamp":1785120760994,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/imge1.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 5917\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":5917,"size_decoded":6328,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 191x264, components 3","md5":"48dab3cbcc479c383b223a0ee6f682b8","sha1":"b862762940a5e84a832b14512970575b9c0961da","sha256":"5bb9ab6a674523c5631c33ddaa18070f1ce89a5db4e3c68de5bad4f4b6217c6a","sha512":"7bf860f8d5efc55501e2f1d1f5e0000618e70ce276780205176297b2b8c75e698a004a655d6abfd0bb21deefd03f3fec06fef8054a139b94239de9c495f7b54e","ssdeep":"96:Pt7873PISD5bFD4QwNkp/ElANY2dMHj+yBicITYJ2kaYY/zHAn1t0XQPQKvGxN:Vs/DDwsYA22EqyDIThEYLIUXOQKv6","tlshash":"12c19e1c9e2c58a05297f77deb0544bdcec03c083b588aab99808f9ff177325641d059","first_seen":"2024-08-19T14:44:35.700326Z","last_seen":"2026-07-27T05:24:59.860215Z","times_seen":925,"resource_available":false,"data":"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"}},"time_used":484,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":429,"receive":55,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.806Z","timestamp":1785120761806,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 7732167\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 02:52:41 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=payttnNYzleN10N93Ya52HHdv7v1fy4h6I6OaHPUbSsjdxi9Euk%2FxneZrceXUGSujlUOySsuuyXwy0WVd1bv2uxp4i8rSofk%2FGRNFqfOEcZME0cA45DqjRNwHM0a\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859794bd00daa-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":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-07-27T05:24:59.929979Z","times_seen":1593,"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":"s2.coinmarketcap.com/static/img/coins/64x64/328.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.162Z","timestamp":1785120762162,"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=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\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: Sun, 26 Jul 2026 03:33:27 GMT\r\ncache-control: max-age=86400\r\netag: \"940a2a3c47a31e6b927db48b93f606d8\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 83956\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 16nhnQjIhQhU5NwR5QlYzP400z6cR5vBLRKZclxLYlt1CnrPFwJUVA==\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":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-07-27T05:24:59.908744Z","times_seen":1181,"resource_available":false,"data":"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"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/2010.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.183Z","timestamp":1785120762183,"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=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\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: 66269\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: R0OvZTtxiXcHJkx5VvrHzouPQIf_MgCe5SWAhuM6w0Bk3AiYJ8I5SQ==\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":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-07-27T05:24:59.843118Z","times_seen":1236,"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":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":"s2.coinmarketcap.com/static/img/coins/64x64/33793.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.223Z","timestamp":1785120762223,"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=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\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: Sun, 26 Jul 2026 03:13:16 GMT\r\netag: \"788ee50bb0546f0424b1a69d0261366b\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 85193\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 6uJAc40c15VPSNRtbViAOg35EnO_rJdyb5ac7x5xY09WvgFeAZRfaQ==\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":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-07-27T05:24:59.837451Z","times_seen":996,"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":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":"360trustwealthavenue.stglen.com/temp/custom/jenny.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.000Z","timestamp":1785120761000,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/jenny.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 4571\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":4571,"size_decoded":4982,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 225x225, components 3","md5":"fc4049a917c186e36e0ca715acd163cc","sha1":"aeb1fc20d9c73548734bf842d6aa094d3cd2396f","sha256":"2129572bd3e35e27d882d5faf93da3fcd0e55cd71ce661583b4f99a47692a5bc","sha512":"f8dc4a14f392d6c1178f77635a3f03a22892023253730380ba455dd6f3832957813c886d42a1ad1d1fe00ee6e8a87be50d6e9f1612013cb7271afd38c2fcc121","ssdeep":"96:N6LtM9oI5K5yJS8Tg1C3+n6jom4eKOLwilT/aJHBn:NefI5vS8E1C3+nvmXxkJHBn","tlshash":"de915c3bb3c70037fec05a7057a77610a6d94d546ec80b1e16f014edaaa89279d0dae0","first_seen":"2024-08-19T14:44:35.703459Z","last_seen":"2026-07-27T05:24:59.866393Z","times_seen":928,"resource_available":false,"data":"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"}},"time_used":517,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":169,"receive":348,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.189Z","timestamp":1785120762189,"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=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\ncontent-type: image/png\r\ncontent-length: 2694\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:33:50 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 04:33:30 GMT\r\ncache-control: max-age=86400\r\netag: \"6ad5509616a5fca9f389801052bea3fe\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 80353\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: iy_OB8MoOf5OWnNocs-crYIkiJ5Eo1JZzka8SeQoFwqNgyiLAZ3orw==\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":2694,"size_decoded":3220,"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-07-27T05:24:59.838163Z","times_seen":19699,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAADAFBMVEVHcEyqqlUAAACMw1CMwlF/vT+q/1X//wCNw1GNwlB/fwCNw1GMwlCNwlGMwlCNwlF//3+MwlCNw1CNw1CNw1GMw1COxVGOxVJVqlWMwFGNw1GOxVGLwk+MwFKQwVCOxVH///+Mw1GPx1KQx1KPx1GQyFOLwFCNw1GNxFKPxlKSylSMwVCMwlB/f3+NwlCNw1GNwlCNxFGNxFEA/wCQx1KQx1OMw1GRwlWLwlGPx1KLwk6Nw1GPw1CKvE2OxVGPxlKQx1SQyFKRyFOMwlCLvFGMw1CQx1OOw1GNxFKPxlKRv1GNxFGQx1KPx1KRxFJmmTNmzGaMwlCMw1GMw1CMwlGOxFKNxFCNxFKOxVKNw1GNwlGOxVGMwVGMxFGQxlONw1GNwlCMwlH///+Nw1H+//6OxFOPxFT+/v79/vyOw1KX0Vf///6Fv0WNw1KHwEiMw1CJwUuTy1SUzVWPxlKMwk/9/v2OxVKIwEmGv0aPxFOLwk6SylSY0leY01eJwUqOxFGNw1CHwEePxFWEvkOOxFL8/vuIwUr+//6X0FaGv0eKwk2RyFP8/fuW0FeSxliKwUzd7cuSy1T1+vCiznGVz1aVzlWQx1Lh79LB36Ckz3SgzW7f7s+ZyWOq0n3A3p+Ty1WVyF6r036JwUydzGrX6sLC36LZ68aYyWH6/PfO5bSiznLy+Oys1IGXyGDI4qvv9+aTxlrb7MiIwEqt1ILg79Do89y02I3q9N/t9uSFv0bu9uXU6Lz8/vuaymXQ5rfw9+i+3Zy93Jq/3Z33+/PU6L3e7s2Vx1ycy2iWyGD4+/Sy1omCvT/S57v1+u+42pPL46+v1YXc7cnM5LHz+e30+e75/Pe725aQxVX7/fqn0HiBvD37/PiRyVOSy1Xs9eOY0Vfv9ubm8tmx1oiTylS12I6HwEmRxVfj8NOs04C625Sp0nzG4aj+/vzT6Lucy2nF4aajz3OPw1Pq9ODV6b/r9OCfzGyy14l+uzqQxVbk8dXk8dbJ4q222Y/Q57j9/vvn89u/9C4JAAAAYnRSTlMAAwH8/gQDAfv9Av78/vr7Av73/dbqjl0DGP14kCgWrQFi/Odt/WH67P7+jtgCP8+696kB9PVrFYeFKrkpLo2nwvO/xyzE6+3v6hx30tNBBQWP+NH4j9BBj6ioqGuGhl7puWQhiakAAAbTSURBVFjDlVcHWFNXFL4EwktAFAGZggNwr7r33nvbqe3Ne8/3kpBFwgiCrI9PkCHgRNyjjrq3xb2rVdGqaBVXHW1j9973voT2rQA9H99LvkfOuef8/7lnACCRjkr8iAwJ7hfUJMBPE9AkqEtwSF8FeqkkQN1CeAPgPXHGzIBii3lh/HyNZn78fbOl+LXOwRORYe86TSD1sRHjU7TmBLWnOtxPg8QvHH1NMGtTJkSEAeBRq7o/AcJmj9SmNFapfTUC8VWrGqcsGNMnCnTzr+14RUy0Nl6l1siKWhVfEB3jA5Ru1BXeYPjQgqUqL41b8VItLRg8AHgrZNFrDlp0t9Sm7jSxpHsL0FwGS4JQvL44oYGmTmmQsHiggpBY8CGUXVMbeGnqIV6q1EFKwkd0vk9os3kNNfWUhvOaeQh9ILyJN+Y1Ev8uLjnZjYVG87oSgpxSgvapwvPjWI3GnpRrdOdDalM+mx6gVUFr/v8p2pjHWi8+Ofvbbru8hdYFrf5LylDQt0fLxvzjE/WZ5ZR+NYRwlYGSNdC4ZY9I4MpJhYf3MAufvzj7quOPDlGJK5h88nc97YZNywj/UIUrgJ5aAYC0/k8IydK99FEIDxhpimUpmpVYUGl7OoMgiF5tYsMFCGSsc1TB0xk5Z6Gjovzy3rQ0g94kicQrtk0Ux6UHeEerEjJgPV8C4cqirHWQgVe+3rx//8bVGzLiJFxqe+PbT4CoUW1FGUjlVELdpbUXl5OwRqq+TJO40HZ0GMB3M0LoAJucTN07CB2wegvWdDA2h8PGQLgzg5KgMA4nw+QO7fj3P64oKffOtq1Qh5QZG4N8cGA/SAZu2yuy4NmuwyQEQqcHgbyX6XnlB8/u4rwmdZwH6IktMHCrhNHA4k4IxPYPVTz4fql0Os6ZKNl8clVZ2cFqbGEuPJQuZXIKIqGzmRdBtulX+GkF4+BsbM5M0xtMpqy1N5EFEn5caBUxoTZPU4L+U7N9+Tl0qgZ3B3xsSqapbPZ51k4UAKk7QYuvlm/C9Egwx8yHgM0pPXz8p7vnuLBtP5qy0bvM3NvQhkxsNEiyOjBlDmhq8RTmAH3EkLVjC2KBgbePIBWKytoDbSRZUp7Fion0tDQFXdaIijhK/kzTMhSBDe4xZNJsYtJyhOBcuHHdtnTx1VSv6QeCFkoLIa3fhKNGsBmSilYsgq6EJA9cNwgvldfCINAk3k9iAN1kkqP/+rHVL2o45T6uCtPRL74JCJgvc9mN9CPu2DNIiclHD4eNM0FWfLVe4MP8ACBbLeikVygGJLoKyBdpOvoCXzkDybkfcR4jL27uWb7vm9KXrziPSN1RSpSP8iGwee/fQkQ64LJVuw36jJy0xMubnFAwGwQxoBDkQMQpjYlk4Pf3UGJQFKrS9HbsAwm/4FOJQZSjsYZIHTyz1pX/36Zhi+hvHZ8HTGO/NXLTACJSxxH50nkgZc3c7kShzMTyE6mLJJX/JXIXUmDgDYw6S1uzrmEHSLJakspzngbKE3kFqaMiYMymqTx94XEOw3z4eRK/Xwaa54DI6QlyTCZnOIlkNuhzn5UvdyLIwM3r+SXBN3tqf6CcZpYDgS3iiLTB0ztOVd7C6CF1+KHVygoKSmfUWqaIuoILxTuGcxDn76187AeuSPDEZ4npgkRWPWyPamKnYhkQjAY9fcB1i5gK7vO7U4VJlLCmBT5ARZWY1KGdhAdj5r4bztIMMZsolkv7jElWUUVSt+swGc8W4yQxsEUXsBbpwG0B/vXibx2ZfywtM05SlCOQug8IGy1ubXHWwu0VVaSzCBy+gHpkPlx9hJa0tlFRqDOi/thbKxmPrD8g5U8qr67UkZfWmi6egXBRorSz9eb6O0FEtYkVucCaKquvfbDb9PMfsAIefGaqJJmS83ZhCOGxbXo5RzU8YIhRMO6g9AY7bb9Q5YCvDAbcLJ7kJou6+9uuKUkR6j/CIh5R7ek04ozNe+xgTjxPLCs5d/qYnRWOOMM8PFwzsz+IFA5ZOAjXrd6J2CjNoc/n6IvihENW975oOnM35v13q++uPFlKp2vsrGhKar24FX/3UIKmqfKDbnqaPsdY4xB/0GwvWBvQ3NpVOuo6Y6EpuVH3TeGoi7j0+H/DdqhPN8m4PyhVVb9x3zP1Lcm4zy0cA+u5cCwJllk4nCvPkCX1WHmGyK883NI1YHDdS9fQ4W6WLo5Nn5joBbWtfdroGIXbtQ/nZDcQ1mfMAneLp3bk7DBA+Ne6u6LsCouYIL/6jh83ltuN616+lbOCO+Pl+75z+V5otjydOnPGLO/6LN/YBI5R0T8kuEvQuwEaL7T+vxccEtkRY9RR+ut/APBYNTo0EVIcAAAAAElFTkSuQmCC"}},"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/3860.5f16537eaf7e20020b4e.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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.532Z","timestamp":1785120763532,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/3860.5f16537eaf7e20020b4e.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/market-overview/?locale=en\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 02:52:43 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-2b4e0\"\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:52\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 809c2b56f420f02d85dcf9fd0d29b252\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/5426.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.151Z","timestamp":1785120762151,"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=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\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: Sun, 26 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: 81856\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: D7q5C3gCSJ5PEMg2risZcJoQBkCvwYu8Y8jwuMFqCqddfDoswWAldg==\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":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-07-27T05:24:59.953224Z","times_seen":2855,"resource_available":false,"data":"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"}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"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.150.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/Gc2en3nHxA4","date":"2026-07-27T02:52:42.932Z","timestamp":1785120762932,"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/Gc2en3nHxA4\r\nCookie: __Secure-YNID=20.YT=bAUqAsWtUq0QI5lnbjhRqZxHGZTeQ44xv158_wDI-OREM7hGFwdQh-Fnn22UwtwKdRs2XmKd7gTrEAoqaDWooWex7Ez6kTDTNUcX8LsL0A97B1hbdocm9avbwiNvbxX0qKi_6wfFS1CnewvwpgMiqR_UIe99ateBO-McP73c1Zzq_nQj0oz29qM3VrxL5dXw0BXSrEg6LS26egZNxmOWqDoWCXOgjnuJW9prHYJaiNfGFA8qaLg9BKawO80BA2HUa848WVC3wn7FXVdvLYKmvluEfWi0SBv3Xu-C7jzQzWIv3w_HURzWyX7xi17bUcvikavkbkw21f4nJLdMk19TRw; YSC=FCnieG1ugZQ; __Secure-ROLLOUT_TOKEN=CM2d7q3Og7rzjQEQvpaNh-3xlQMYvpaNh-3xlQM%3D; VISITOR_INFO1_LIVE=WjWmnUIpJks; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgTg%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:41 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:41 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: 222961\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-27T05:15:36.968507Z","times_seen":424,"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":14,"receive":0,"ssl":0},"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.091Z","timestamp":1785120763091,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 6fd02d12915b0da9d9d11038736a2410\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-07-27T05:26:55.636726Z","times_seen":215,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NTExNF0sezgxOTA3OCh0KXt0LmV4cG9ydHM9WyIzTSJdfSwyNzIwOTgodCl7dC5leHBvcnRzPVsiM1kiXX0sOTk1MDY2KHQpe3QuZXhwb3J0cz1bIjEwWSJdfSw4MzI3MzModCl7dC5leHBvcnRzPVsiMU0iXX0sOTM4MTAwKHQpe3QuZXhwb3J0cz1bIjFEIl19LDQ5MjEzNSh0KXt0LmV4cG9ydHM9WyIxVyJdfSw3NzAzMDModCl7dC5leHBvcnRzPVsiMVkiXX0sOTM0Nzc3KHQpe3QuZXhwb3J0cz1bIjJZIl19LDgyODU1KHQpe3QuZXhwb3J0cz1bIjVEIl19LDQ0NjU2MCh0KXt0LmV4cG9ydHM9WyI1WSJdfSw2ODA3Nih0KXt0LmV4cG9ydHM9WyI2TSJdfSwzODg3NzAodCl7dC5leHBvcnRzPVsiQ2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDgzNDgyMih0KXt0LmV4cG9ydHM9WyJDaGFydCBpbWFnZSBlbWJlZCBjb2RlIGNvcGllZCB0byBjbGlwYm9hcmQge2Vtb2ppfSJdfSwxNjE1MjgodCl7dC5leHBvcnRzPVsiQ2xpY2sgdG8gc2V0IGEgcG9pbnQiXX0sMjMzNjkwKHQpe3QuZXhwb3J0cz1bIkFsbCJdfSwyOTY0NzEodCl7dC5leHBvcnRzPVsiRG91YmxlLWNsaWNrIGFueSBlZGdlIHRvIHJlc2V0IGxheW91dCBncmlkIl19LDY0MTE2MSh0KXt0LmV4cG9ydHM9WyJEb3VibGUtY2xpY2sgdG8gZmluaXNoIHBhdGgiXX0sNTgwOTg1KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS1jbGljayB0byBmaW5pc2ggcG9seWxpbmUiXX0sMTM3MTQ5KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS10YXAgYW55IGVkZ2UgdG8gcmVzZXQgbGF5b3V0IGdyaWQiXX0sODIxMjQ4KHQpe3QuZXhwb3J0cz1bIkhvdGxpc3RzIl19LDU4MjMwMyh0KXt0LmV4cG9ydHM9WyJIb2xkIHtrZXl9IGZvciB0ZW1wb3JhcnkgZHJhd2luZyJdfSw5NDQ3MDgodCl7dC5leHBvcnRzPVsiSGVhZHMgdXAg4oCUIHRoZSBhbmNob3JlZCB0ZXh0IHRvb2wgd2lsbCBiZSByZW1vdmVkIHNvb24uIFVzZSB0aGUgdGV4dCB0b29sIHdpdGggdGhlIGFuY2hvciBvcHRpb24gc3dpdGNoZWQgb24gdG8gZ2V0IHRoZSBzYW1lIHJlc3VsdHMuIl19LDIyMjkodCl7dC5leHBvcnRzPVsiTGluayB0byB0aGUgY2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDczMDkzNSh0KXt0LmV4cG9ydHM9WyJNb3ZlIHRoZSBwb2ludCB0byBwb3NpdGlvbiB0aGUgYW5jaG9yIHRoZW4gdGFwIHRvIHBsYWNlIl19LDQ3NTI5OSh0KXt0LmV4cG9ydHM9WyJQcmVzcyBhbmQgaG9sZCB7a2V5fSB3aGlsZSB6b29taW5nIHRvIG1haW50YWluIHRoZSBjaGFydCBwb3NpdGlvbiJdfSwzOTc3ODgodCl7dC5leHBvcnRzPVsiV2F0Y2hsaXN0Il19LDcxNjA2Nih0KXt0LmV4cG9ydHM9WyJXaWRnZXRzIl19LDQyMjM2OSh0KXt0LmV4cG9ydHM9WyJZVEQiXX0sNDg1NDIwKHQpe3QuZXhwb3J0cz1bIlllYXIgdG8gZGF0ZSJdfSwxMDMwMzAodCl7dC5leHBvcnRzPVsie3N0cn0gZGF5Iiwie3N0cn0gZGF5cyJdfSwyMTA1NzQodCl7dC5leHBvcnRzPVsie3N0cn0gaG91ciIsIntzdHJ9IGhvdXJzIl19LDY5NDYxNyh0KXt0LmV4cG9ydHM9WyJ7c3RyfSBtb250aCIsIntzdHJ9IG1vbnRocyJdfSw0MzkwKHQpe3QuZXhwb3J0cz1bIntzdHJ9IG1pbnV0ZSIsIntzdHJ9IG1pbnV0ZXMiXX0sNjQ0NjI1KHQpe3QuZXhwb3J0cz1bIntzdHJ9IHdlZWsiLCJ7c3RyfSB3ZWVrcyJdfSwyMTY0MDIodCl7dC5leHBvcnRzPVsie3N0cn0geWVhciIsIntzdHJ9IHllYXJzIl19fV0pOw=="}},"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/29470.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.217Z","timestamp":1785120762217,"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=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\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: Sun, 26 Jul 2026 05:35:52 GMT\r\ncache-control: public, max-age=86400\r\netag: \"0debab46acf186ff5769f4ba0018f87f\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 76612\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: CKn5qccPYS9ncgkI6voDDgJpwGiuNfvJhEDpMNDKwBliSp62x1-KVA==\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":2829,"size_decoded":3401,"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-07-27T05:24:59.938542Z","times_seen":1031,"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.111Z","timestamp":1785120763111,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 5991ff3a05abbebc215e658640e818fb\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-27T05:26:56.013153Z","times_seen":218,"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":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/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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.436Z","timestamp":1785120763436,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: 0e84742bab33b8a11d36f4eda446781d\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/80594.e87444e26f9e12545231.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.557Z","timestamp":1785120763557,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/80594.e87444e26f9e12545231.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/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/20061.8715a452514d45d5dd3b.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.766Z","timestamp":1785120763766,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/20061.8715a452514d45d5dd3b.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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%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://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.913Z","timestamp":1785120762913,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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/forex-cross-rates/?locale=en 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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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/2 200 \r\ndate: Mon, 27 Jul 2026 02:52:42 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 02:51:50 GMT\r\ncontent-security-policy: default-src 'self' https: data: blob: wss: 'unsafe-inline'; base-uri 'none'; 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-Zkys3L2wQp+UMY8u4/RZNQ=='; object-src '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 02:51:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 399391ed51260dfab57bd4d717f52317\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":"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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"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":51401,"size_decoded":17284,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"7e44df537a4b1b847f1a5509aaebcb08","sha1":"e3f64fa47decd9493cdb81a0a69fc37a1abb92e0","sha256":"b2bf7187ed81efcea58275c4d91fbbc95f227b9cce7ffd32492784d9e9889502","sha512":"3c3f1cfd330eca4df49ef3f729ce9825701236898f139e066ca2ea5dbb00eea6a483ff5eb81ae341b216acef4b142d49481e8e091951a4fee51943d19763ccf4","ssdeep":"1536:eH84MteeNzfMO5t6KNogdZ36Wn+66ceuvRMs:eH84MteeNzfMO5t6KNl4We4Ms","tlshash":"bc33f85388198b05dad64b057c33b103f92903a8955268987aacd8dc159ffc3f1a7bfe","first_seen":"2026-07-27T02:53:32.387278Z","last_seen":"2026-07-27T02:53:37.861098Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5Gb3JleCBjcm9zcyByYXRlczwvdGl0bGU+CgoJPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iIGNyb3Nzb3JpZ2luPgoKCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTk1MjcuMTVjNWMyNWQyN2E1NmEwZGY3NzIuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNzAuNTVjYmM3YTFkYTk2M2IzODI5YjMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cgk8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQ2OTA3LmM1YWY4YWE3YjUwODJiMTg3NWE1LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQzMzI1LjI1NmZhNWE1MjEzYjljYjcwZjVjLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM5MDUuNjgyZTg5ZWYyZGM0YzcwNDIzYzYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTU5MzIuMmE3MGQzOTdjMzRmMmU5ZGU5NGYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTE1MDguNzY3MjE5MjgzYzY1ZjRkNGNhNmUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODQwOC5kZTUzNDY2M2UwNTIwNzViYTEyZi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MTgwOS4xNDZiYzhhYmI2MDkyMGEyNWQyZi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KCjxzY3JpcHQgbm9uY2U9IlpreXMzTDJ3UXArVU1ZOHU0L1JaTlE9PSI+Cgl3aW5kb3cubG9jYWxlID0gJ2VuJzsKCXdpbmRvdy5sYW5ndWFnZSA9ICdlbic7Cjwvc2NyaXB0PgoJPHNjcmlwdCBub25jZT0iWmt5czNMMndRcCtVTVk4dTQvUlpOUT09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjs8L3NjcmlwdD4KCgk8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL3J1bnRpbWUtZW1iZWRfZm9yZXhfY3Jvc3NfcmF0ZXNfd2lkZ2V0LmQ3Y2Q4YmJiYTQxYTBkNTQ2NTZjLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uMzkxNDcuMzBiODg4YTVlYTk3OTZjYjdkNTguanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMyMzg3LjQ3YWNlODNjNjFhODg0MzQxY2Q2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTEwMzEuNTM1ZjI3Yjc3NmYzOTRjN2U0M2EuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0NzA4LjczZDJiY2EzNzIwN2M2N2E0MWY0LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MDU5NC5lODc0NDRlMjZmOWUxMjU0NTIzMS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNzkyMDcuNmE2MmZjODAzZDNkMDc4OTg5MzYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzIwMDYxLjg3MTVhNDUyNTE0ZDQ1ZDVkZDNiLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNjA2Ny45ZDI0ODg5YjJhZjNlYjMwNWRjZi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfZm9yZXhfY3Jvc3NfcmF0ZXNfd2lkZ2V0Ljc3N2NlYTI3MWQwYzBkNjdjMDllLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2ZvcmV4X2Nyb3NzX3JhdGVzX3dpZGdldC5kN2NkOGJiYmE0MWEwZDU0NjU2Yy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU4NjY3LmQxNWZjNGI1YzYzMWJiNWVjZThkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uMzkxNDcuMzBiODg4YTVlYTk3OTZjYjdkNTguanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjM4Ny40N2FjZTgzYzYxYTg4NDM0MWNkNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzMTQ4LjMyY2MwMWRjMDE3NTFiOTE2ODJjLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MDcwNi5hNTkxM2FhNmFkNjJkOWRiZjAzMS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY1ODYyLjk1NzY0NzUyYzA5ZjNmMThmODkwLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTEwMzEuNTM1ZjI3Yjc3NmYzOTRjN2U0M2EuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM1NTIuNGM1NTM1MTgzYjdhMDMzMGE4OWQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MDU5NC5lODc0NDRlMjZmOWUxMjU0NTIzMS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc5MjA3LjZhNjJmYzgwM2QzZDA3ODk4OTM2LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMjAwNjEuODcxNWE0NTI1MTRkNDVkNWRkM2IuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNjA2Ny45ZDI0ODg5YjJhZjNlYjMwNWRjZi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2ZvcmV4X2Nyb3NzX3JhdGVzX3dpZGdldC43NzdjZWEyNzFkMGMwZDY3YzA5ZS5qcyIgZGVmZXI+PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iWmt5czNMMndRcCtVTVk4dTQvUlpOUT09Ij53aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlID0geyJzaG93X2ZlYXR1cmVkX2lwbyI6MS4wLCJibGFja19mcmlkYXlfcG9wdXAiOjEuMCwiYmxhY2tfZnJpZGF5X21haW5wYWdlIjoxLjAsImJsYWNrX2ZyaWRheV9leHRlbmRfbGltaXRhdGlvbiI6MS4wLCJlbmFibGVfdHJhZGluZ19yZXBsYXlfZm9yX3BvaW50X2luZGV4ZXMiOjEuMCwiaW5jcmVhc2VfbWV0YWluZm9fdmVyc2lvbiI6MC4zLCJjaGFydF9hdXRvc2F2ZV81bWluIjoxLjAsImNoYXJ0X2F1dG9zYXZlXzMwbWluIjoxLjAsInBlcmZvcm1hbmNlX3Rlc3RfbW9kZSI6MS4wLCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCI6MS4wLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzYwbWluIjoxLjAsInN1cHBvcnRfcGVyc2lzdGVudF9sb2dzIjoxLjAsIm5ld19zdG9yYWdlX3N1YnNjcmlwdGlvbl91cmwiOjEuMCwicmVtb3ZlX2FuY2hvcmVkX3RleHQiOjEuMCwiZW5hYmxlX3N0ZXBfYnlfc3RlcF9oaW50c19mb3JfZHJhd2luZ3MiOjEuMCwicHVzaHN0cmVhbV9iYXNpY190ZWxlbWV0cnkiOjEuMCwiYWxsb3dfYnJhY2tldHNfcHJvZml0X2xvc3MiOjEuMCwiZW5hYmxlX3RyYWRlZF9jb250ZXh0X2xpbmtpbmciOjEuMCwib3JkZXJfY29udGV4dF92YWxpZGF0aW9uX2luX2luc3RhbnRfbW9kZSI6MS4wLCJhbGVydHMtb24tZnVuZGFtZW50YWwtbWV0cmljcyI6MS4wLCJhbGVydHMtbm90aWZpY2F0aW9uLXNjaGVkdWxlIjoxLjAsImFsZXJ0cy13YXRjaGxpc3QtZXh0ZW5kZWQtaG91cnMiOjEuMCwiZW5hYmxlX3N5bWJvbF9jaGFuZ2VfcmVzdHJpY3Rpb25fb25fd2lkZ2V0cyI6MS4wLCJlbmFibGVfYXN4X3N5bWJvbF9yZXN0cmljdGlvbiI6MS4wLCJzeW1waG9ueV9hbGxvd19ub25fcGFydGl0aW9uZWRfY29va2llX29uX29sZF9zeW1waG9ueSI6MS4wLCJzeW1waG9ueV9ub3RpZmljYXRpb25fYmFkZ2VzIjoxLjAsInN5bXBob255X3VzZV9hZGtfZm9yX3VwZ3JhZGVfcmVxdWVzdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF90cmFja2luZyI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9zb2Z0X2xpbWl0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X2hhcmRfbGltaXQiOjEuMCwidGVsZWdyYW1fbWluaV9hcHBfcmVkdWNlX3NuYXBzaG90X3F1YWxpdHkiOjEuMCwibmV3c19zeW1ib2xfb3ZlcnZpZXdfa2V5X2ZhY3RzIjoxLjAsInRpbWVvdXRfZGphbmdvX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb191c2Vyc2V0dGluZ3NfZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX2NoYXJ0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fc3ltYm9sc19saXN0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fbWluZHNfZGIiOjAuMDUsInRpbWVvdXRfZGphbmdvX2xvZ2dpbmdfZGIiOjAuMjUsImRpc2FibGVfc2VydmljZXNfbW9uaXRvcl9tZXRyaWNzIjoxLjAsImVuYWJsZV9zaWduaW5fcmVjYXB0Y2hhIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sX2NvbW1lbnRzIjoxLjAsImVuYWJsZV9zcGFtZGV0ZWN0b3JtbF9jaGF0IjoxLjAsImVuYWJsZV9taW5kc19zcGFtZGV0ZWN0b3JtbCI6MS4wLCJiYWNrZW5kLWNvbm5lY3Rpb25zLWluLXRva2VuIjoxLjAsIm9uZV9jb25uZWN0aW9uX3dpdGhfZXhjaGFuZ2VzIjoxLjAsIm1vYmlsZS1hZHMtaW9zIjoxLjAsIm1vYmlsZS1hZHMtYW5kcm9pZCI6MS4wLCJnb29nbGUtb25lLXRhcC1zaWduaW4iOjEuMCwiYnJhaW50cmVlLWdvcHJvLWluLW9yZGVyLWRpYWxvZyI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5IjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5IjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktZnJvbS1pb3MtYXBwIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktdHJpYWwiOjEuMCwidHJpcGxlYS1wYXltZW50cyI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheS10cmlhbCI6MS4wLCJicmFpbnRyZWUtb25lLXVzZC12ZXJpZmljYXRpb24iOjEuMCwiYnJhaW50cmVlLTNkcy1lbmFibGVkIjoxLjAsImJyYWludHJlZS0zZHMtc3RhdHVzLWNoZWNrIjoxLjAsImJyYWludHJlZS1hZGRpdGlvbmFsLWNhcmQtY2hlY2tzLWZvci10cmlhbCI6MS4wLCJicmFpbnRyZWUtaW5zdGFudC1zZXR0bGVtZW50IjoxLjAsImJyYWludHJlZV9yZWN1cnJpbmdfYmlsbGluZ19zY2hlZHVsZXJfc3Vic2NyaXB0aW9uIjoxLjAsImNoZWNrb3V0X21hbnVhbF9jYXB0dXJlX3JlcXVpcmVkIjoxLjAsImNoZWNrb3V0LXN1YnNjcmlwdGlvbnMiOjEuMCwiY2hlY2tvdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY29tbWVyY2lhbF9jYXJkX3RyaWFsIjoxLjAsImVuYWJsZV9wYXltZW50c18zZHNfb3B0aW1pemF0aW9uIjoxLjAsImNvdW50cnlfb2ZfaXNzdWFuY2VfdnNfYmlsbGluZ19jb3VudHJ5IjoxLjAsImNoZWNrb3V0X3Nob3dfaW5zdGVhZF9vZl9icmFpbnRyZWUiOjEuMCwiY2hlY2tvdXQtM2RzIjoxLjAsImNoZWNrb3V0LXBheXBhbCI6MS4wLCJjaGVja291dF9pbmNsdWRlX2FjY291bnRfaG9sZGVyIjoxLjAsImNoZWNrb3V0LXBheXBhbC10cmlhbCI6MS4wLCJhbm51YWxfdG9fbW9udGhseV9kb3duZ3JhZGVfYXR0ZW1wdCI6MS4wLCJyYXpvcnBheV90cmlhbF8xMF9pbnIiOjEuMCwicmF6b3JwYXktY2FyZC1vcmRlci10b2tlbi1zZWN0aW9uIjoxLjAsInJhem9ycGF5LWNhcmQtc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS11cGktc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS1zMy1pbnZvaWNlLXVwbG9hZCI6MS4wLCJyYXpvcnBheV9pbmNsdWRlX2RhdGVfb2ZfYmlydGgiOjEuMCwiZGxvY2FsLXBheW1lbnRzIjoxLjAsInJldm9sdXQtcGF5LXBheW1lbnRzIjoxLjAsInJldm9sdXQtY2FyZC1wYXltZW50cyI6MC41LCJkbG9jYWwtcGl4LWF1dG9tYXRpY28iOjEuMCwiYnJhaW50cmVlX3RyYW5zYWN0aW9uX3NvdXJjZSI6MS4wLCJ2ZXJ0ZXgtdGF4IjoxLjAsInZlcnRleC10YXgtZml4IjoxLjAsInJlY2VpcHRfaW5fZW1haWxzIjoxLjAsImFkd29yZHMtYW5hbHl0aWNzIjoxLjAsImNtMzYwLWFuYWx5dGljcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfaW9zIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9hbmRyb2lkIjoxLjAsInJlcXVpcmVkX2FncmVlbWVudF9mb3JfcnQiOjEuMCwiY2hlY2tfbWFya2V0X2RhdGFfbGltaXRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2RhdGEiOjEuMCwiZm9yY2VfdG9fdXBncmFkZV90b19leHBlcnQiOjEuMCwic2VuZF90cmFkZXZhbl9pbnZvaWNlIjoxLjAsInNob3dfcGVwZV9hbmltYXRpb24iOjEuMCwic2VuZF9uZXh0X3BheW1lbnRfaW5mb19yZWNlaXB0IjoxLjAsInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iOjEuMCwic2NyZWVuZXItYWxlcnRzLXJlYWQtb25seSI6MS4wLCJzY3JlZW5lcl9ib25kX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9zdG9ja19haV9maWx0ZXJzX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfaXNfYWxsb3dlZF90b19jcmVhdGVfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JhdGluZ19jb2x1bW5zX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3NvcnRpbmdfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfZ3JvdXBfYnlfaXNpbl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zeW1ib2xfc2VhcmNoX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JlZ2lzdHJhdGlvbl9iYW5uZXJfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNlc190cmFja2luZyI6MS4wLCJzZW5kX2ZpbmFuY2lhbF9ub3RpZmljYXRpb25zIjoxLjAsInNwYXJrX3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya19jYXRlZ29yeV90cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfdGFnc190cmFuc2xhdGlvbnMiOjEuMCwicHJvX3BsYW5faW5pdGlhbF9yZWZ1bmRzX2Rpc2FibGVkIjoxLjAsInByZXZpb3VzX21vbm9wcm9kdWN0X3B1cmNoYXNlc19yZWZ1bmRzX2VuYWJsZWQiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9ucyI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zX2ZlZWQiOjEuMCwiZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJldGhvY2FfYWxlcnRfbm90aWZpY2F0aW9uX3dlYmhvb2siOjEuMCwiaGlkZV9zdXNwaWNpb3VzX3VzZXJzX2lkZWFzIjoxLjAsImRpc2FibGVfcHVibGlzaF9zdHJhdGVneV9yYW5nZV9iYXNlZF9jaGFydCI6MS4wLCJyZXN0cmljdF9zaW11bHRhbmVvdXNfcmVxdWVzdHMiOjEuMCwibG9naW5fZnJvbV9uZXdfZGV2aWNlX2VtYWlsIjoxLjAsInNzcl93b3JrZXJfbm93YWl0IjoxLjAsImJyb2tlcl9BMUNBUElUQUwiOjEuMCwiYnJva2VyX0FDVElWVFJBREVTIjoxLjAsImJyb2tlcl9BTENIRU1ZTUFSS0VUUyI6MS4wLCJicm9rZXJfQUxJQ0VCTFVFIjoxLjAsImhpZGVfQUxPUl9vbl9pb3MiOjEuMCwiaGlkZV9BTE9SX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9BTE9SX29uX21vYmlsZV93ZWIiOjEuMCwiYWxvci1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0FMUEFDQSI6MS4wLCJicm9rZXJfQUxSQU1aIjoxLjAsImJyb2tlcl9BTVAiOjEuMCwiYnJva2VyX0FOR0VMT05FIjoxLjAsImJyb2tlcl9BVkFfRlVUVVJFUyI6MS4wLCJBVkFfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9CMlBSSU1FIjoxLjAsImJyb2tlcl9CQUpBSiI6MS4wLCJicm9rZXJfQkVZT05EIjoxLjAsImJyb2tlcl9CSU5BTkNFIjoxLjAsImVuYWJsZV9iaW5hbmNlYXBpc19iYXNlX3VybCI6MS4wLCJicm9rZXJfQklOR0JPTiI6MS4wLCJicm9rZXJfQklUQVpaQSI6MS4wLCJicm9rZXJfQklUR0VUIjoxLjAsImJyb2tlcl9CSVRNRVgiOjEuMCwiYnJva2VyX0JJVFNUQU1QIjoxLjAsImJyb2tlcl9CTEFDS0JVTEwiOjEuMCwiYnJva2VyX0JMVUVCRVJSWU1BUktFVFMiOjEuMCwiYnJva2VyX0JUQ0MiOjEuMCwiYnJva2VyX0JZQklUIjoxLjAsImJyb2tlcl9DQVBJVEFMQ09NIjoxLjAsImJyb2tlcl9DQVBUUkFERVIiOjEuMCwiQ0FQVFJBREVSX3NlcGFyYXRlX2ludGVncmF0aW9uX21pZ3JhdGlvbl93YXJuaW5nIjoxLjAsImJyb2tlcl9DRkkiOjEuMCwiYnJva2VyX0NHU0kiOjEuMCwiYnJva2VyX0NJVFlJTkRFWCI6MS4wLCJjaXR5aW5kZXhfc3ByZWFkYmV0dGluZyI6MS4wLCJDTEVBUlNUUkVFVF9iZXRhIjoxLjAsImJyb2tlcl9DTUNNQVJLRVRTIjoxLjAsImJyb2tlcl9DT0JSQVRSQURJTkciOjEuMCwiYnJva2VyX0NPSU5CQVNFIjoxLjAsImNvaW5iYXNlX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJjb2luYmFzZV9jYW5jZWxfcG9zaXRpb25fYnJhY2tldHMiOjEuMCwiYnJva2VyX0NPSU5KQVIiOjEuMCwiQ09JTkpBUl9iZXRhIjoxLjAsImJyb2tlcl9DT0lOU1dJVENIIjoxLjAsImJyb2tlcl9DT0lOVyI6MS4wLCJicm9rZXJfQ09MTUVYIjoxLjAsImhpZGVfQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiY3FnLXJlYWx0aW1lLWJhbmR3aWR0aC1saW1pdCI6MS4wLCJicm9rZXJfQ1JZUFRPQ09NIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25faW9zIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0NYTSI6MS4wLCJicm9rZXJfREFPTCI6MS4wLCJicm9rZXJfREFSV0lORVgiOjEuMCwiREFSV0lORVhfYmV0YSI6MS4wLCJicm9rZXJfREVMVEEiOjEuMCwiYnJva2VyX0RFUkFZQUgiOjEuMCwiYnJva2VyX0RFUklWIjoxLjAsImJyb2tlcl9ESEFOIjoxLjAsImJyb2tlcl9ETlNFIjoxLjAsImJyb2tlcl9ET1JNQU4iOjEuMCwiaGlkZV9EVU1NWV9vbl9pb3MiOjEuMCwiaGlkZV9EVU1NWV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRFVNTVlfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRUFTWU1BUktFVFMiOjEuMCwiYnJva2VyX0VDT1ZBTE9SRVMiOjEuMCwiYnJva2VyX0VER0VDTEVBUiI6MS4wLCJlZGdlY2xlYXJfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfRUlHSFRDQVAiOjEuMCwiYnJva2VyX0VSUkFOVEUiOjEuMCwiYnJva2VyX0VTQUZYIjoxLjAsIkZJREVMSVRZX2JldGEiOjEuMCwiRklERUxJVFlfdXNfcmVsZWFzZSI6MC4yNSwiZmlkZWxpdHlfc2VjdXJpdHlfdG9rZW4iOjEuMCwiYnJva2VyX0ZPUkVYQ09NIjoxLjAsImZvcmV4Y29tX3Nlc3Npb25fdjIiOjEuMCwiYnJva2VyX0ZQTUFSS0VUUyI6MS4wLCJoaWRlX0ZUWF9vbl9pb3MiOjEuMCwiaGlkZV9GVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImZ0eF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZVU0lPTk1BUktFVFMiOjEuMCwiZnhjbV9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GWENNIjoxLjAsImhpZGVfRlhPUEVOX29uX2lvcyI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlhPUEVOX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0ZYUFJPIjoxLjAsImJyb2tlcl9GWFRGIjoxLjAsImJyb2tlcl9GWUVSUyI6MS4wLCJicm9rZXJfR0FURSI6MS4wLCJicm9rZXJfR0JFQlJPS0VSUyI6MS4wLCJnZW1pbmktYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HRU5JQUxJTlZFU1RJTUVOVE9TIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25faW9zIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX21vYmlsZV93ZWIiOjEuMCwiZ2xvYmFscHJpbWUtYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HT01BUktFVFMiOjEuMCwiYnJva2VyX0dPVFJBREUiOjEuMCwiZ290cmFkZV9lbmFibGVfc3RyZWFtaW5nX2VuZHBvaW50cyI6MS4wLCJicm9rZXJfSEVSRU5ZQSI6MS4wLCJoaWRlX0hUWF9vbl9pb3MiOjEuMCwiaGlkZV9IVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0hUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9JQktSIjoxLjAsImNoZWNrX2lia3Jfc2lkZV9tYWludGVuYW5jZSI6MS4wLCJpYmtyX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3BhcmFsbGVsX3Byb3ZpZGVyX2luaXRpYWxpemF0aW9uIjoxLjAsImlia3Jfd3NfYWNjb3VudF9zdW1tYXJ5IjoxLjAsImlia3Jfd3Nfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3N1YnNjcmliZV90b19vcmRlcl91cGRhdGVzX2ZpcnN0IjoxLjAsImlia3Jfd3NfYWNjb3VudF9sZWRnZXIiOjEuMCwiYnJva2VyX0lCUk9LRVIiOjEuMCwiYnJva2VyX0lDTUFSS0VUUyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0FTSUMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19FVSI6MS4wLCJicm9rZXJfSUciOjEuMCwiYnJva2VyX0lORFNUT0NLUyI6MS4wLCJicm9rZXJfSU5GT1lBVElSSU0iOjEuMCwiYnJva2VyX0lOTk9WRVNUWCI6MS4wLCJicm9rZXJfSU5URVJBQ1RJVkVJTCI6MS4wLCJicm9rZXJfSU5WRVNUUkFERSI6MS4wLCJJTlZFU1RSQURFX2JldGEiOjEuMCwiYnJva2VyX0lST05CRUFNIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tJV09PTSI6MS4wLCJraXdvb21fdXNlX3NlcGFyYXRlX3N0cmVhbWluZ191cmwiOjEuMCwiYnJva2VyX0tPVEFLIjoxLjAsImhpZGVfS09UQUtfb25faW9zIjoxLjAsImhpZGVfS09UQUtfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0tPVEFLX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tSQUtFTiI6MS4wLCJoaWRlX0tSQUtFTl9vbl9pb3MiOjEuMCwiaGlkZV9LUkFLRU5fb25fYW5kcm9pZCI6MS4wLCJLUkFLRU5fYmV0YSI6MS4wLCJrcmFrZW5fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9LU0VDVVJJVElFUyI6MS4wLCJicm9rZXJfTElCRVJBVE9SIjoxLjAsImJyb2tlcl9NRVhDIjoxLjAsImJyb2tlcl9NRVhFTSI6MS4wLCJicm9rZXJfTUlEQVMiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX01PT01PTyI6MS4wLCJicm9rZXJfTU9USUxBTE9TV0FMIjoxLjAsImJyb2tlcl9OSU5KQVRSQURFUiI6MS4wLCJicm9rZXJfT0FOREEiOjEuMCwib2FuZGFfc2VydmVyX2xvZ2dpbmciOjEuMCwib2FuZGFfb2F1dGhfbXVsdGlwbGV4aW5nIjoxLjAsImJyb2tlcl9PS1giOjEuMCwiYnJva2VyX09QT0ZJTkFOQ0UiOjEuMCwiYnJva2VyX09QVElNVVMiOjEuMCwiYnJva2VyX09TTUFOTEkiOjEuMCwiYnJva2VyX09TTUFOTElGWCI6MS4wLCJwYXBlcl9mb3JjZV9jb25uZWN0X3B1c2hzdHJlYW0iOjEuMCwicGFwZXJfc3ViYWNjb3VudF9jdXN0b21fY3VycmVuY3kiOjEuMCwicGFwZXJfb3V0c2lkZV9ydGgiOjEuMCwiYnJva2VyX1BBWVRNIjoxLjAsImJyb2tlcl9QRVBQRVJTVE9ORSI6MS4wLCJicm9rZXJfUEhFTUVYIjoxLjAsImJyb2tlcl9QSElMTElQQ0FQSVRBTF9UUiI6MS4wLCJicm9rZXJfUEhJTExJUE5PVkEiOjEuMCwiYnJva2VyX1BMVVM1MDAiOjEuMCwicGx1czUwMF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIlBMVVM1MDBVU19iZXRhIjoxLjAsImJyb2tlcl9QVVJQTEVUUkFESU5HIjoxLjAsImJyb2tlcl9RVUVTVFJBREUiOjEuMCwiYnJva2VyX1JBVkFCVVJTQVRJTCI6MS4wLCJSQVZBQlVSU0FUSUxfYmV0YSI6MS4wLCJicm9rZXJfUklZQURDQVBJVEFMIjoxLjAsImJyb2tlcl9ST0JPTUFSS0VUUyI6MS4wLCJicm9rZXJfUkVQTEFZQlJPS0VSIjoxLjAsImJyb2tlcl9TQU1VRUwiOjEuMCwiYnJva2VyX1NBWE9CQU5LIjoxLjAsImJyb2tlcl9TSEFSRU1BUktFVCI6MS4wLCJicm9rZXJfU0tJTExJTkciOjEuMCwiYnJva2VyX1NQUkVBREVYIjoxLjAsImJyb2tlcl9TV0lTU1FVT1RFIjoxLjAsImJyb2tlcl9TVE9ORVgiOjEuMCwiYnJva2VyX1RBU1RZRlgiOjEuMCwiYnJva2VyX1RBU1RZVFJBREUiOjEuMCwiYnJva2VyX1RISU5LTUFSS0VUUyI6MS4wLCJ0aGlua21hcmtldHNfYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJicm9rZXJfVElDS01JTEwiOjEuMCwiaGlkZV9USUdFUl9vbl9pb3MiOjEuMCwiaGlkZV9USUdFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVElHRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfVFJBREVOQVRJT04iOjEuMCwiYnJva2VyX1RSQURFU1RBVElPTiI6MS4wLCJ0cmFkZXN0YXRpb25fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInRyYWRlc3RhdGlvbl9hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsInRyYWRlc3RhdGlvbl9zdHJlYW1pbmdfc2VydmVyX2xvZ2dpbmciOjEuMCwiYnJva2VyX1RSQURFWkVSTyI6MS4wLCJicm9rZXJfVFJBRElFUiI6MS4wLCJicm9rZXJfVFJBRElFUl9GVVRVUkVTIjoxLjAsInRyYWRpZXJfZnV0dXJlc19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9UUkFET1ZBVEUiOjEuMCwiaGlkZV9UUkFEVV9vbl9pb3MiOjEuMCwiaGlkZV9UUkFEVV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVFJBRFVfb25fbW9iaWxlX3dlYiI6MS4wLCJ0cmFkdV9zcHJlYWRfYmV0IjoxLjAsImJyb2tlcl9UUklWRSI6MS4wLCJicm9rZXJfVkFOVEFHRSI6MS4wLCJicm9rZXJfVkVMT0NJVFkiOjEuMCwiYnJva2VyX1dFQlVMTCI6MS4wLCJicm9rZXJfV0VCVUxMSkFQQU4iOjEuMCwiYnJva2VyX1dFQlVMTFBBWSI6MS4wLCJicm9rZXJfV0VCVUxMVUsiOjEuMCwiYnJva2VyX1dISVRFQklUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1QiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVF9GVVRVUkVTIjoxLjAsIldIU0VMRklOVkVTVF9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1hDVUJFIjoxLjAsImJyb2tlcl9ZTEciOjEuMCwiYnJva2VyX2lkX3Nlc3Npb24iOjEuMCwiZGlzYWxsb3dfY29uY3VycmVudF9zZXNzaW9ucyI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXJfZm9yX3VudGVzdGVkX2Jyb2tlcnMiOjEuMCwibW9iaWxlX3RyYWRpbmdfd2ViIjoxLjAsIm1vYmlsZV90cmFkaW5nX2lvcyI6MS4wLCJtb2JpbGVfdHJhZGluZ19hbmRyb2lkIjoxLjAsImNvbnRpbnVvdXNfZnJvbnRfY29udHJhY3RfdHJhZGluZyI6MS4wLCJ0cmFkaW5nX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJvYXV0aDJfY29kZV9mbG93X3Byb3ZpZGVyX3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9vYXV0aDJfY29kZV9mbG93X211bHRpcGxleGluZyI6MS4wLCJyZXN0X2xvZ291dF9vbl80MjkiOjEuMCwicmV2aWV3X3BvcHVwX29uX2NoYXJ0IjoxLjAsInNob3dfY29uY3VycmVudF9jb25uZWN0aW9uX3dhcm5pbmciOjEuMCwiZW5hYmxlX3RyYWRpbmdfc2VydmVyX2xvZ2dlciI6MS4wLCJvcmRlcl9wcmVzZXRzIjoxLjAsIm9yZGVyX3RpY2tldF9yZXNpemFibGVfZHJhd2VyX29uIjoxLjAsInJlc3RfdXNlX2FzeW5jX21hcHBlciI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9iYW5uZXJfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2ciOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2dfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fbGVhZGVyYm9hcmQiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fcHJldmlvdXNfY29tcGV0aXRpb25zIjoxLjAsImFtcF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJsdWVsaW5lX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiZG9ybWFuX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiaXJvbmJlYW1fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJvcHRpbXVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwic3RvbmV4X29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwieWxnX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwidHJhZGluZ19nZW5lcmFsX2V2ZW50c19nYV90cmFja2luZyI6MS4wLCJyZXBsYXlfcmVzdWx0X3NoYXJpbmciOjEuMCwicmVwbGF5X3RyYWRpbmdfYnJhY2tldHMiOjEuMCwiaGlkZV9hbGxfYnJva2Vyc19idXR0b25faW5faW9zX2FwcCI6MS4wLCJmb3JjZV9tYXhfYWxsb3dlZF9wdWxsaW5nX2ludGVydmFscyI6MS4wLCJwYXBlcl9kZWxheV90cmFkaW5nIjoxLjAsImVuYWJsZV9maXJzdF90b3VjaF9pc19zZWxlY3Rpb24iOjEuMCwiY2xlYXJfcHJvamVjdF9vcmRlcl9vbl9vcmRlcl90aWNrZXRfY2xvc2UiOjEuMCwiZW5hYmxlX25ld19iZWhhdmlvcl9vZl9jb25maXJtX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsInJlbmV3X3Rva2VuX3ByZWVtcHRpb25fMzAiOjEuMCwiZG9fbm90X29wZW5fb3RfZnJvbV9wbHVzX2J1dHRvbiI6MS4wLCJicm9rZXJfc2lkZV9wcm9tb3Rpb24iOjEuMCwiZW5hYmxlX25ld190cmFkaW5nX21lbnVfc3RydWN0dXJlIjoxLjAsInF1aWNrX3RyYWRpbmdfcGFuZWwiOjEuMCwicGFwZXJfb3JkZXJfY29uZmlybWF0aW9uX2RpYWxvZyI6MS4wLCJwYXBlcl9tdWx0aXBsZV9sZXZlbHNfZW5hYmxlZCI6MS4wLCJwYXBlcl9tYXJnaW5fY29udHJvbCI6MS4wLCJlbmFibGVfc2VnbWVudGF0aW9uX3BhcGVyX3RyYWRpbmciOjEuMCwiZW5hYmxlX2NoYXJ0X2FkYXB0aXZlX3Rwc2xfYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwiZW5hYmxlX21hcmtldF9wcm9qZWN0X29yZGVyIjoxLjAsImVuYWJsZV9zeW1ib2xzX3BvcHVsYXJpdHlfc2hvd2luZyI6MS4wLCJlbmFibGVfdHJhbnNsYXRpb25zX3MzX3VwbG9hZCI6MS4wLCJldGZfZnVuZF9mbG93c19vbmx5X2RheXNfcmVzb2x1dGlvbnMiOjEuMCwiZGlzYWJsZV9zbm93cGxvd19wbGF0Zm9ybV9ldmVudHMiOjEuMCwibm90aWZ5X2lkZWFfbW9kc19hYm91dF9maXJzdF9wdWJsaWNhdGlvbiI6MS4wLCJlbmFibGVfd2FmX3RyYWNraW5nIjoxLjAsIm5ld19lcnJvcnNfZmxvdyI6MS4wLCJxdW90ZS10b2tlbi1maWx0ZXItb3duLXNjcmlwdHMtYnktYWNjZXNzIjoxLjAsImtlZXBfaW5kaWNhdG9yc19zZWFyY2hfc3RhdGUiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3RhYl9zY3JvbGxfc3RhdGUiOjEuMCwiY29uZmlndXJhYmxlX3NlYXJjaF9hbmRfZmlsdHJhdGlvbiI6MS4wLCJwaW5lX2VkaXRvcl93cmFwX29uX2xpbmVfc3BsaXQiOjEuMCwic3ltYm9sX3NlYXJjaF9jb3VudHJ5X3NvdXJjZXMiOjEuMCwid2F0Y2hsaXN0c19kaWFsb2dfc2Nyb2xsX3RvX2FjdGl2ZSI6MS4wLCJib3R0b21fcGFuZWxfdHJhY2tfZXZlbnRzIjoxLjAsInNub3dwbG93X2JlYWNvbl9mZWF0dXJlIjoxLjAsInNob3dfZGF0YV9wcm9ibGVtc19pbl9oZWxwX2NlbnRlciI6MS4wLCJlbmFibGVfYXBwbGVfZGV2aWNlX2NoZWNrIjoxLjAsImVuYWJsZV9hcHBsZV9pbnRyb19vZmZlcl9zaWduYXR1cmUiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX29mZmVyX3NpZ25hdHVyZV92MiI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfYW5kcm9pZCI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2lvcyI6MS4wLCJlbmFibGVfbWFudGljb3JlX2NsdXN0ZXIiOjEuMCwiZW5hYmxlX3B1c2hzdHJlYW1fYXV0aCI6MS4wLCJlbmFibGVfZW52b3lfcHJveHkiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3BhcGVydHJhZGluZyI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfc2NyZWVuZXIiOjEuMCwib3B0aW9uc19yZWR1Y2VfcG9sbGluZ19pbnRlcnZhbCI6MS4wLCJvcHRpb25zX2J1aWxkZXJfZ3JvdXBfYWN0aW9ucyI6MS4wLCJvcHRpb25zX2NoYWluX3NpZ21hX2ZpbHRlciI6MS4wLCJvcHRpb25zX2Jyb2tlcl9zdHJhdGVnaWVzIjoxLjAsInNob3dfdG9hc3RfYWJvdXRfdW5yZWFkX21lc3NhZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcGF5b3V0IjoxLjAsImVuYWJsZV9lbWFpbF9jaGFuZ2VfbG9nZ2luZyI6MS4wLCJlbmFibGVfZW1haWxfb25fcGFydG5lcl9zdGF0dXNfY2hhbmdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW1fYXBwbHkiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbSI6MS4wLCJjb21wcmVzc19jYWNoZV9kYXRhIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZyI6MS4wLCJuZXdzX3NjcmVlbmVyX3BhZ2VfY2xpZW50IjoxLjAsImVuYWJsZV9kZWNsYXJhdGlvbl9wb3B1cF9vbl9sb2FkIjoxLjAsInNob3dfZGF0YV9ib25kc19mcmVlX3VzZXJzIjoxLjAsImVuYWJsZV9tb2Rlcm5fcmVuZGVyX21vZGUiOjEuMCwiZW5hYmxlX3Byb2ZfcG9wdXBfZnJlZSI6MS4wLCJpb3NfYXBwX25ld3NfYW5kX21pbmRzIjoxLjAsImRvX25vdF9kaXNjbG9zZV9waG9uZV9vY2N1cGFuY3kiOjEuMCwiZW5hYmxlX3JlZGlyZWN0X3RvX3dpZGdldF9kb2N1bWVudGF0aW9uX29mX2FueV9sb2NhbGl6YXRpb24iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX2hpYmVybmF0aW9uIjoxLjAsIm5ld3Nfc3RyZWFtaW5nX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIjoxLjAsInBhc3NfcmVjb3Zlcnlfc2VhcmNoX2hpZGVfaW5mbyI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfb25fc2NyZWVuZXIiOjEuMCwiZW5hYmxlX2ZvcmNlZF9lbWFpbF9jb25maXJtYXRpb24iOjEuMCwic2hvd19naWZ0X2J1dHRvbiI6MS4wLCJhZGRyZXNzX3ZhbGlkYXRpb25fZW5hYmxlZCI6MS4wLCJkaXNhYmxlX3VudmVyaWZpZWRfYWRkcmVzcyI6MS4wLCJnZW5lcmF0ZV9pbnZvaWNlX251bWJlcl9ieV9jb3VudHJ5IjoxLjAsInNob3dfZmF2b3JpdGVfbGF5b3V0cyI6MS4wLCJlbmFibGVfc29jaWFsX2F1dGhfY29uZmlybWF0aW9uIjoxLjAsImVuYWJsZV9hZF9ibG9ja19kZXRlY3QiOjEuMCwidHZkX25ld190YWJfbGlua2luZyI6MS4wLCJ0dmRfdGltZV9hbmRfZGF0ZV9yYW5nZV9saW5raW5nIjoxLjAsInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ1c2VfZGVza3RvcF9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwid3JvbmdfYWNjb3VudF9kaWFsb2dfcHJpbWFyeV9zd2l0Y2giOjEuMCwiZW5hYmxlX2xpbmd1YV9sYW5nX2NoZWNrIjoxLjAsImdldF9zYXZlZF9hY3RpdmVfbGlzdF9iZWZvcmVfZ2V0dGluZ19hbGxfbGlzdHMiOjEuMCwid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iOjEuMCwic2hvd19yZWZlcnJhbF9ub3RpZmljYXRpb25fZGlhbG9nIjoxLjAsInNldF9uZXdfYmxhY2tfY29sb3IiOjEuMCwibmV3c191c2VfbmV3c19tZWRpYXRvciI6MS4wLCJhbGxvd190cmFpbGluZ193aGl0ZXNwYWNlX2luX251bWJlcl90b2tlbiI6MS4wLCJyZXN0cmljdF9wd25lZF9wYXNzd29yZF9zZXQiOjEuMCwibm90aWZfc2V0dGluZ3NfZW5hYmxlX25ld19zdG9yZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV93cml0ZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV9yZWFkIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrLWZvci1pbml0aWFsLXB1cmNoYXNlIjoxLjAsImVuYWJsZV9tZXRhZGVmZW5kZXJfY2hlY2tfZm9yX2FncmVlbWVudCI6MS4wLCJzaG93X2Rvd25sb2FkX3lpZWxkX2N1cnZlc19kYXRhIjoxLjAsIm1vdmVfa2V5X3Rlbm9yc190b19zZXR0aW5ncyI6MS4wLCJzaG93X3lpZWxkX2N1cnZlc19tYXAiOjEuMCwiZGlzYWJsZV93aWRnZXRiYXJfaW5fYXBwcyI6MS4wLCJoaWRlX3B1YmxpY2F0aW9uc19vZl9iYW5uZWRfdXNlcnMiOjEuMCwiZW5hYmxlX3N1bW1hcnlfdXBkYXRlc19mcm9tX2NoYXJ0X3Nlc3Npb24iOjEuMCwic2hvd19uZXdzX2Zsb3dfdG9vbF9yaWdodF9iYXIiOjEuMCwiZW5hYmxlX2NoYXJ0X3NhdmluZ19zdGF0cyI6MS4wLCJlbmFibGVfc2F2aW5nX3NhbWVfY2hhcnRfcmF0ZV9saW1pdCI6MS4wLCJuZXdzX2FsZXJ0c19lbmFibGVkIjoxLjAsIm5ld3NfbXVsdGlwbGVfYWxlcnRzX2VuYWJsZWQiOjEuMCwicmVmdW5kX3Vudm9pZGFibGVfY291cG9uc19lbmFibGVkIjoxLjAsImVuYWJsZV9zbm93cGxvd19lbWFpbF90cmFja2luZyI6MS4wLCJuZXdzX2VuYWJsZV9zZW50aW1lbnQiOjEuMCwidXNlX2luX3N5bWJvbF9zZWFyY2hfb3B0aW9uc19tY3hfZXhjaGFuZ2UiOjEuMCwiZW5hYmxlX3VzZXJzZXR0aW5nc19zeW1ib2xzX3Blcl9yb3dfc29mdF9saW1pdCI6MC4xLCJmb3JiaWRfbG9naW5fd2l0aF9wd25lZF9wYXNzd29yZHMiOjEuMCwiZGVidWdfZ2V0X3Rlc3RfYmFyc19kYXRhIjoxLjAsIm5ld3NfdXNlX21lZGlhdG9yX3N0b3J5IjoxLjAsIm5ld3NfZmxvd19yZWNvbmZpZ3VyZV9maWx0ZXJzIjoxLjAsImJsYWNrX2ZyaWRheV9lbmFibGVfc2tpcF90b19wYXltZW50IjoxLjAsImhpZGVfdHJhZGluZ19idXR0b25fb25fYm90dG9tX3BhbmVsX2FuZF9yZXBsYXlfdGFiIjoxLjAsImhpZGVfdHJhZGVfYnV0dG9uX2hpbnRfaW5faGVhZGVyX3Rvb2xiYXIiOjEuMCwiaGlkZV9zZWVfb25fc3VwZXJfY2hhcnRzX2J1dHRvbiI6MS4wLCJoaWRlX3N5bWJvbF9wYWdlX2NoYXJ0X3R5cGVfc3dpdGNoZXIiOjEuMCwiZGlzYWJsZV9jaGF0X3NwYW1fcHJvdGVjdGlvbl9mb3JfcHJlbWl1bV91c2VycyI6MS4wLCJkaXNhYmxlX3B1YmxpY19waW5lX3NjcmlwdF9wdWJsaXNoX2xpbWl0cyI6MS4wLCJtYWtlX3RyYWRpbmdfcGFuZWxfY29udGV4dHVhbF90YWIiOjEuMCwicmVjb25uZWN0X2dhaW5fc2Vzc2lvbl9vbl9sc19lcnJvciI6MS4wLCJjaGVja291dC1mbG93LXBheW1lbnRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2t5YyI6MS4wLCJpbmRpYV9leGNsdWRlX2JyYWludHJlZV90YWIiOjEuMCwibWFjcm9fbWFwc19oaWRlX3Rvb2x0aXBfY2hhcnRfYnV0dG9uIjoxLjAsImZvcmNlX2t5Y19mb3Jfbm9ucHJvX3B1cmNoYXNlX2J5X2NvbW1lcmNpYWwiOjEuMCwic2hvd19zcGxpdF9wYW5lbF9mdWxsc2NyZWVuX2J1dHRvbiI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX21vdmVfYnV0dG9uX3RvX3RpdGxlIjoxLjAsIm9yZGVyX3ByZXNldHNfY3J1ZF9zdG9yYWdlIjoxLjAsIm9yZGVyX3ByZXNldHNfcmVtb3ZlX2Zyb21fdHZfc2V0dGluZ3MiOjEuMCwiY2hlY2tvdXQtZmxvdy10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheSI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsIjoxLjAsImZvcmJpZF9zaWdudXBfd2l0aF9mYWtlX2dtYWlsX2RvbWFpbnMiOjEuMCwic2hvd19pbXBvcnRfZnJvbV9wYXBlcl90cmFkaW5nX2J1dHRvbiI6MS4wLCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwtdHJpYWwiOjEuMCwidm9pZF9ub3RfZm91bmRfY2tvX3BheW1lbnRfaW5fYXBwcm92ZWRfd2ViaG9vayI6MS4wLCJzaG93X3BhbmVsX2NvbGxhcHNlX2J1dHRvbiI6MS4wLCJkZWxheV9zdGF0dXNfb25fbGFzdF9iYXIiOjAuM307CndpbmRvdy5pbml0RGF0YSA9IHt9OwoJCXdpbmRvdy5TM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwgPSAiaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIjsKCndpbmRvdy5pbml0RGF0YSA9IHsid2lkZ2V0RGVmYXVsdHMiOnsid2lkdGgiOjc3MCwiaGVpZ2h0Ijo0MDAsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJjdXJyZW5jaWVzIjpbIkVVUiIsIlVTRCIsIkpQWSIsIkdCUCIsIkNIRiIsIkFVRCIsIkNBRCIsIk5aRCJdLCJmcmFtZUVsZW1lbnRJZCI6bnVsbCwiYXV0b3NpemUiOmZhbHNlLCJjb2xvclRoZW1lIjoibGlnaHQiLCJsb2NhbGUiOiJlbiJ9fTsKCQl3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm8gPSB7Imxhbmd1YWdlIjoiZW4iLCJsYW5ndWFnZV9uYW1lIjoiRW5nbGlzaCIsImZsYWciOiJ1cyIsImdlb2lwX2NvZGUiOiJ1cyIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJFbmdsaXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfTsKCQl3aW5kb3cuaW5pdERhdGEuc2V0dGluZ3MgPSB7J1MzX0xPR09fU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8nLCAnUzNfTkVXU19JTUFHRV9TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL25ld3MvJywgJ1dFQlBBQ0tfU1RBVElDX1BBVEgnOiAnaHR0cHM6Ly9zdGF0aWMudHJhZGluZ3ZpZXcuY29tL3N0YXRpYy9idW5kbGVzLycsICdUUkFESU5HX1VSTFMnOiB7J2ZyZWUnOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmctZnJlZS50cmFkaW5ndmlldy5jb20nLCAncHJvJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLnRyYWRpbmd2aWV3LmNvbSd9LCAnQ09OVEVTVFNfVVJMJzogJy9wYXBlci10cmFkaW5nJywgJ0NSVURfU1RPUkFHRV9VUkwnOiAnaHR0cHM6Ly9jcnVkLXN0b3JhZ2UudHJhZGluZ3ZpZXcuY29tJ307PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iWmt5czNMMndRcCtVTVk4dTQvUlpOUT09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgZT17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtjb25zdCB0PXdpbmRvdzt0LmluaXREYXRhPXQuaW5pdERhdGF8fHt9O2NvbnN0IGE9L1wrL2csbj0vPFwvP1tePl0rKD58JCkvZyxzPWU9PmRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoYSwiICIpKS5yZXBsYWNlKG4sIiIpLG89dC5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGM9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtsZXQgbCxyPWMuZXhlYyhvKTtmb3IoO251bGwhPT1yOylpW3MoclsxXSldPXMoclsyXSkscj1jLmV4ZWMobyk7dHJ5e2w9SlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQodC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWx8fChsPXt9KX1jYXRjaChlKXtsPXt9fXZhciBoO3QuaW5pdERhdGEucXVlcnlTZXR0aW5ncz1pLHQuaW5pdERhdGEuaGFzaFNldHRpbmdzPShoPWwsT2JqZWN0LmtleXMoaCkuZm9yRWFjaCgodD0+e2VbdF0mJmRlbGV0ZSBoW3RdfSkpLGgpfSkoKTsKCTwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IlpreXMzTDJ3UXArVU1ZOHU0L1JaTlE9PSI+d2luZG93LlNTX0hPU1QgPSAic3ltYm9sLXNlYXJjaC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7CgkJd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQgPSBmYWxzZTsKCgoJCXdpbmRvdy5sb2NhbGVfZG9tYWlucyA9IHsiZW4iOiJ3d3cudHJhZGluZ3ZpZXcuY29tIiwiYXJfQUUiOiJhci50cmFkaW5ndmlldy5jb20iLCJiciI6ImJyLnRyYWRpbmd2aWV3LmNvbSIsImRlX0RFIjoiZGUudHJhZGluZ3ZpZXcuY29tIiwiZXMiOiJlcy50cmFkaW5ndmlldy5jb20iLCJmciI6ImZyLnRyYWRpbmd2aWV3LmNvbSIsImhlX0lMIjoiaWwudHJhZGluZ3ZpZXcuY29tIiwiaWQiOiJpZC50cmFkaW5ndmlldy5jb20iLCJpbiI6ImluLnRyYWRpbmd2aWV3LmNvbSIsIml0IjoiaXQudHJhZGluZ3ZpZXcuY29tIiwiamEiOiJqcC50cmFkaW5ndmlldy5jb20iLCJrciI6ImtyLnRyYWRpbmd2aWV3LmNvbSIsIm1zX01ZIjoibXkudHJhZGluZ3ZpZXcuY29tIiwicGwiOiJwbC50cmFkaW5ndmlldy5jb20iLCJydSI6InJ1LnRyYWRpbmd2aWV3LmNvbSIsInRoX1RIIjoidGgudHJhZGluZ3ZpZXcuY29tIiwidHIiOiJ0ci50cmFkaW5ndmlldy5jb20iLCJ2aV9WTiI6InZuLnRyYWRpbmd2aWV3LmNvbSIsInpoX0NOIjoiY24udHJhZGluZ3ZpZXcuY29tIiwiemhfVFciOiJ0dy50cmFkaW5ndmlldy5jb20iLCJjYV9FUyI6ImVzLnRyYWRpbmd2aWV3LmNvbSJ9OwoKCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyA9IHdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgfHwgW107CgkJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLnB1c2goJ3dpZGdldCcpOwoKCQl3aW5kb3cuVHJhZGluZ1ZpZXcgPSB3aW5kb3cuVHJhZGluZ1ZpZXcgfHwge307Cjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IlpreXMzTDJ3UXArVU1ZOHU0L1JaTlE9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7CgkJd2luZG93LkJVSUxEX1RJTUUgPSAiMjAyNi0wNy0yNFQxMTo0MDowOCI7CgkJd2luZG93LldFQlNPQ0tFVF9IT1NUID0gIndpZGdldGRhdGEudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1RfRk9SX1JFQ09OTkVDVCA9ICJ3aWRnZXRkYXRhLWJhY2t1cC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy51c2VyID0geyd1c2VybmFtZSc6ICdHdWVzdCcsICdmb2xsb3dpbmcnOiAnMCcsICdmb2xsb3dlcnMnOiAnMCcsICdpZ25vcmVfbGlzdCc6IHt9LCAnZG9fbm90X3RyYWNrJzogdHJ1ZX07PC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJaa3lzM0wyd1FwK1VNWTh1NC9SWk5RPT0iPmxldCBwYXJhbXMgPSB7fTsKCQkJY29uc3QgaHR0cFJlZyA9IG5ldyBSZWdFeHAoJ15odHRwKHMpPzovLycpOwoKCQkJdHJ5IHsKCQkJCXBhcmFtcyA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSk7CgkJCX0gY2F0Y2ggKGUpIHsKCQkJCXBhcmFtcyA9IHt9OwoJCQl9CgoJCQl3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1MgPSB7CgkJCQknd3NfYW5jZXN0b3Jfb3JpZ2luJzogd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyAmJiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCA/IHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnNbd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGggLSAxXS5yZXBsYWNlKGh0dHBSZWcsICcnKSA6IG51bGwsCgkJCQknd3NfcGFnZV91cmknOiBwYXJhbXNbJ3BhZ2UtdXJpJ10sCgkJCX07KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSx0PSExKXtjb25zdHtzZWFyY2hQYXJhbXM6bn09bmV3IFVSTChTdHJpbmcobG9jYXRpb24pKTtsZXQgcz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwX25ldyIpLG89InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcCIpO2lmKCF0KXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZSsiPSIsbj1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl7bGV0IHM9bltlXTtmb3IoOyIgIj09PXMuY2hhckF0KDApOylzPXMuc3Vic3RyaW5nKDEscy5sZW5ndGgpO2lmKDA9PT1zLmluZGV4T2YodCkpcmV0dXJuIHMuc3Vic3RyaW5nKHQubGVuZ3RoLHMubGVuZ3RoKX1yZXR1cm4gbnVsbH0oInR2X2FwcCIpfHwiIjtzfHw9WyJhbmRyb2lkIiwiYW5kcm9pZF9ucHMiXS5pbmNsdWRlcyhlKSxvfHw9ImlvcyI9PT1lfXJldHVybiEoIm5ldyIhPT1lJiYiYW55IiE9PWV8fCFzKXx8ISgibmV3Ij09PWV8fCFvKX1jb25zdCB0PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixuPXQmJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LHM9KHQmJm4mJndpbmRvdyx0JiYobnx8bmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSx0JiZ3aW5kb3cuY2hyb21lJiZ3aW5kb3cuY2hyb21lLnJ1bnRpbWUsdCYmd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJmaXJlZm94IiksdCYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHQmJkJvb2xlYW4obmF2aWdhdG9yLnZlbmRvcikmJm5hdmlnYXRvci52ZW5kb3IuaW5kZXhPZigiQXBwbGUiKT4tMSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkNyaU9TIikmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiRnhpT1MiKSx0JiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSxvPXQmJi9CbGFja0JlcnJ5L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxpPXQmJi9pUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkscj10JiYvT3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksYz10JiYoIk1hY0ludGVsIj09PW5hdmlnYXRvci5wbGF0Zm9ybSYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjF8fC9pUGFkLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGE9c3x8b3x8aXx8cjtjb25zdCBfPW5ldyBNYXA7ZnVuY3Rpb24gZCgpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHQ9d2luZG93LmxvY2F0aW9uLmhvc3Qsbj1gJHt0fSR7ZX1gO3JldHVybiBfLmhhcyhuKXx8Xy5zZXQobixmdW5jdGlvbihlLHQpe2NvbnN0IG49WyJed2lkZ2V0LWRvY3MiXTtmb3IoY29uc3QgZSBvZiBuKWlmKG5ldyBSZWdFeHAoZSkudGVzdCh0KSlyZXR1cm4hMDtjb25zdCBzPVsiXndpZGdldGVtYmVkLz8kIiwiXmNtZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0c3RhdGljLz8kIiwiXihbMC05YS16QS1aLV0rKT8vP21lZGl1bXdpZGdldGVtYmVkLz8kIiwiXnR3aXR0ZXItY2hhcnQvPyQiLCJedGVsZWdyYW0vY2hhcnQvPyQiLCJeZW1iZWQvKFswLTlhLXpBLVpdezh9KS8/JCIsIl53aWRnZXRwb3B1cC8/JCIsIl5leHRlbnNpb24vPyQiLCJeaWRlYS1wb3B1cC8/JCIsIl5ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXm1hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeZXZlbnRzd2lkZ2V0ZW1iZWQvPyQiLCJedGlja2Vyc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4Y3Jvc3NyYXRlc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4aGVhdG1hcHdpZGdldGVtYmVkLz8kIiwiXm1hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnNjcmVlbmVyd2lkZ2V0Lz8kIiwiXmNyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJedGVjaG5pY2FsLWFuYWx5c2lzLXdpZGdldC1lbWJlZC8kIiwiXnNpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3NpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeZW1iZWQtd2lkZ2V0LyhbMC05YS16QS1aLV0rKS8oKFswLTlhLXpBLVotXSspLyk/JCIsIl53aWRnZXQtZG9jcy8oWzAtOWEtekEtWi1dKykvKFswLTlhLXpBLVotL10rKT8kIl0sbz1lLnJlcGxhY2UoL15cLy8sIiIpO2xldCBpO2ZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7ZS0tKWlmKGk9bmV3IFJlZ0V4cChzW2VdKSxpLnRlc3QobykpcmV0dXJuITA7cmV0dXJuITF9KGUsdCkpLF8uZ2V0KG4pPz8hMX1jb25zdCBoPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2NvbnN0IGw9e0FuZHJvaWQ6KCk9PnMsQmxhY2tCZXJyeTooKT0+byxpT1M6KCk9PmksT3BlcmE6KCk9PnIsaXNJUGFkOigpPT5jLGFueTooKT0+YX07aC5pc01vYmlsZT1sLGgub25XaWRnZXQ9ZDtjb25zdCB1PSgpPT57fSxnPSJ+bX4iO2NsYXNzIG17Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuY29ubmVjdGVkPSExLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9iYXNlPWUsdGhpcy5fb3B0aW9ucz17dGltZW91dDp0LnRpbWVvdXR8fDJlNCxjb25uZWN0aW9uVHlwZTp0LmNvbm5lY3Rpb25UeXBlLGFwaUtleTp0LmFwaUtleX19Y29ubmVjdCgpe3RoaXMuX3NvY2tldD1uZXcgV2ViU29ja2V0KHRoaXMuX3ByZXBhcmVVcmwoKSksCnRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9ZT0+e2lmKCJzdHJpbmciIT10eXBlb2YgZS5kYXRhKXRocm93IG5ldyBUeXBlRXJyb3IoYFRoZSBXZWJTb2NrZXQgbWVzc2FnZSBzaG91bGQgYmUgYSBzdHJpbmcuIFJlY2lldmVkICR7T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUuZGF0YSl9YCk7dGhpcy5fb25EYXRhKGUuZGF0YSl9LHRoaXMuX3NvY2tldC5vbmNsb3NlPXRoaXMuX29uQ2xvc2UuYmluZCh0aGlzKSx0aGlzLl9zb2NrZXQub25lcnJvcj10aGlzLl9vbkVycm9yLmJpbmQodGhpcyl9c2VuZChlKXt0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5zZW5kKHRoaXMuX2VuY29kZShlKSl9ZGlzY29ubmVjdCgpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub25tZXNzYWdlPXUsdGhpcy5fc29ja2V0Lm9uY2xvc2U9dSx0aGlzLl9zb2NrZXQub25lcnJvcj11LHRoaXMuX3NvY2tldC5jbG9zZSgpKX1fY2xlYXJJZGxlVGltZW91dCgpe251bGwhPT10aGlzLl90aW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX3RpbWVvdXQ9bnVsbCl9X2VuY29kZShlKXtsZXQgdCxuPSIiO2NvbnN0IHM9QXJyYXkuaXNBcnJheShlKT9lOltlXSxvPXMubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bztlKyspdD1udWxsPT09c1tlXXx8dm9pZCAwPT09c1tlXT8iIjptLl9zdHJpbmdpZnkoc1tlXSksbis9Zyt0Lmxlbmd0aCtnK3Q7cmV0dXJuIG59X2RlY29kZShlKXtjb25zdCB0PVtdO2xldCBuLHM7ZG97aWYoZS5zdWJzdHJpbmcoMCwzKSE9PWcpcmV0dXJuIHQ7bj0iIixzPSIiO2NvbnN0IG89KGU9ZS5zdWJzdHJpbmcoMykpLmxlbmd0aDtmb3IobGV0IHQ9MDt0PG87dCsrKXtpZihzPU51bWJlcihlLnN1YnN0cmluZyh0LHQrMSkpLE51bWJlcihlLnN1YnN0cmluZyh0LHQrMSkpIT09cyl7ZT1lLnN1YnN0cmluZyhuLmxlbmd0aCszKSxuPU51bWJlcihuKTticmVha31uKz1zfXQucHVzaChlLnN1YnN0cmluZygwLG4pKSxlPWUuc3Vic3RyaW5nKG4pfXdoaWxlKCIiIT09ZSk7cmV0dXJuIHR9X29uRGF0YShlKXt0aGlzLl9zZXRUaW1lb3V0KCk7Y29uc3QgdD10aGlzLl9kZWNvZGUoZSksbj10Lmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXRoaXMuX29uTWVzc2FnZSh0W2VdKX1fc2V0VGltZW91dCgpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQodGhpcy5fb25UaW1lb3V0LmJpbmQodGhpcyksdGhpcy5fb3B0aW9ucy50aW1lb3V0KX1fb25UaW1lb3V0KCl7dGhpcy5kaXNjb25uZWN0KCksdGhpcy5fb25EaXNjb25uZWN0KHtjb2RlOjRlMyxyZWFzb246InNvY2tldC5pbyB0aW1lb3V0Iix3YXNDbGVhbjohMX0pfV9vbk1lc3NhZ2UoZSl7dGhpcy5zZXNzaW9uaWQ/dGhpcy5fY2hlY2tJZkhlYXJ0YmVhdChlKT90aGlzLl9vbkhlYXJ0YmVhdChlLnNsaWNlKDMpKTp0aGlzLl9jaGVja0lmSnNvbihlKT90aGlzLl9iYXNlLm9uTWVzc2FnZShKU09OLnBhcnNlKGUuc2xpY2UoMykpKTp0aGlzLl9iYXNlLm9uTWVzc2FnZShlKToodGhpcy5zZXNzaW9uaWQ9ZSx0aGlzLl9vbkNvbm5lY3QoKSl9X2NoZWNrSWZIZWFydGJlYXQoZSl7cmV0dXJuIHRoaXMuX2NoZWNrTWVzc2FnZVR5cGUoZSwiaCIpfV9jaGVja0lmSnNvbihlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJqIil9X2NoZWNrTWVzc2FnZVR5cGUoZSx0KXtyZXR1cm4gZS5zdWJzdHJpbmcoMCwzKT09PSJ+Iit0KyJ+In1fb25IZWFydGJlYXQoZSl7dGhpcy5zZW5kKCJ+aH4iK2UpfV9vbkNvbm5lY3QoKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLl9iYXNlLm9uQ29ubmVjdCgpfV9vbkRpc2Nvbm5lY3QoZSl7dGhpcy5fY2xlYXIoKSx0aGlzLl9iYXNlLm9uRGlzY29ubmVjdChlKSx0aGlzLnNlc3Npb25pZD1udWxsfV9jbGVhcigpe3RoaXMuY29ubmVjdGVkPSExfV9wcmVwYXJlVXJsKCl7Y29uc3QgdD1rKHRoaXMuX2Jhc2UuaG9zdCk7aWYodC5wYXRobmFtZSs9InNvY2tldC5pby93ZWJzb2NrZXQiLHQucHJvdG9jb2w9IndzczoiLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZnJvbSIsd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEsNTApKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImRhdGUiLHdpbmRvdy5CVUlMRF9USU1FfHwiIiksZSgiYW55IikmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiY2xpZW50IiwibW9iaWxlIiksdGhpcy5fb3B0aW9ucy5jb25uZWN0aW9uVHlwZSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ0eXBlIix0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlKSx3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1Mpe2NvbnN0e3dzX3BhZ2VfdXJpOmUsd3NfYW5jZXN0b3Jfb3JpZ2luOm59PXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUztlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInBhZ2UtdXJpIixlKSxuJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFuY2VzdG9yLW9yaWdpbiIsbil9Y29uc3Qgbj13aW5kb3cubG9jYXRpb24uc2VhcmNoLmluY2x1ZGVzKCJ3aWRnZXRfdG9rZW4iKXx8d2luZG93LmxvY2F0aW9uLmhhc2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpO3JldHVybiBkKCl8fG58fHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXV0aCIsInNlc3Npb25pZCIpLHZvaWQgMCE9PXRoaXMuX29wdGlvbnMuYXBpS2V5JiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLHRoaXMuX29wdGlvbnMuYXBpS2V5KSx0LmhyZWZ9X29uQ2xvc2UoZSl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX29uRGlzY29ubmVjdChlKX1fb25FcnJvcihlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fY2xlYXIoKSx0aGlzLl9iYXNlLmVtaXQoImVycm9yIixbZV0pLHRoaXMuc2Vzc2lvbmlkPW51bGx9c3RhdGljIF9zdHJpbmdpZnkoZSl7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk/In5qfiIrSlNPTi5zdHJpbmdpZnkoZSk6U3RyaW5nKGUpfX1jbGFzcyB3e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ob3N0PWUsCnRoaXMuX2Nvbm5lY3Rpbmc9ITEsdGhpcy5fZXZlbnRzPXt9LHRoaXMudHJhbnNwb3J0PXRoaXMuX2dldFRyYW5zcG9ydCh0KX1pc0Nvbm5lY3RlZCgpe3JldHVybiEhdGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmNvbm5lY3RlZH1pc0Nvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGluZ31jb25uZWN0KCl7dGhpcy5pc0Nvbm5lY3RlZCgpfHwodGhpcy5fY29ubmVjdGluZyYmdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fY29ubmVjdGluZz0hMCx0aGlzLnRyYW5zcG9ydC5jb25uZWN0KCkpfXNlbmQoZSl7dGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmNvbm5lY3RlZCYmdGhpcy50cmFuc3BvcnQuc2VuZChlKX1kaXNjb25uZWN0KCl7dGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmRpc2Nvbm5lY3QoKX1vbihlLHQpe2UgaW4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzW2VdPVtdKSx0aGlzLl9ldmVudHNbZV0ucHVzaCh0KX1vZmZBbGwoKXt0aGlzLl9ldmVudHM9e319b25NZXNzYWdlKGUpe3RoaXMuZW1pdCgibWVzc2FnZSIsW2VdKX1lbWl0KGUsdD1bXSl7aWYoZSBpbiB0aGlzLl9ldmVudHMpe2NvbnN0IG49dGhpcy5fZXZlbnRzW2VdLmNvbmNhdCgpLHM9bi5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxzO2UrKyluW2VdLmFwcGx5KHRoaXMsdCl9fW9uQ29ubmVjdCgpe3RoaXMuY2xlYXIoKSx0aGlzLmVtaXQoImNvbm5lY3QiKX1vbkRpc2Nvbm5lY3QoZSl7dGhpcy5lbWl0KCJkaXNjb25uZWN0IixbZV0pfWNsZWFyKCl7dGhpcy5fY29ubmVjdGluZz0hMX1fZ2V0VHJhbnNwb3J0KGUpe3JldHVybiBuZXcgbSh0aGlzLGUpfX1mdW5jdGlvbiBrKGUpe2NvbnN0IHQ9LTEhPT1lLmluZGV4T2YoIi8iKT9uZXcgVVJMKGUpOm5ldyBVUkwoIndzczovLyIrZSk7aWYoIndzczoiIT09dC5wcm90b2NvbCYmImh0dHBzOiIhPT10LnByb3RvY29sKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB3ZWJzb2NrZXQgYmFzZSAiK2UpO3JldHVybiB0LnBhdGhuYW1lLmVuZHNXaXRoKCIvIil8fCh0LnBhdGhuYW1lKz0iLyIpLHQuc2VhcmNoPSIiLHQudXNlcm5hbWU9IiIsdC5wYXNzd29yZD0iIix0fXZhciBwLGI7IWZ1bmN0aW9uKGUpe2VbZS5Ob3JtYWw9MzAwXT0iTm9ybWFsIixlW2UuQWZ0ZXJDbG9zZUV2ZW50PTVlM109IkFmdGVyQ2xvc2VFdmVudCJ9KHB8fChwPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkluZm89MF09IkluZm8iLGVbZS5Ob3JtYWw9MV09Ik5vcm1hbCIsZVtlLkRlYnVnPTJdPSJEZWJ1ZyIsZVtlLkVycm9yPTNdPSJFcnJvciJ9KGJ8fChiPXt9KSk7Y29uc3QgZj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmTnVtYmVyKHdpbmRvdy5URUxFTUVUUllfV1NfRVJST1JfTE9HU19USFJFU0hPTEQpfHwwO3ZhciB5OyFmdW5jdGlvbihlKXtlW2UuUGluZ0ludGVydmFsPTFlNF09IlBpbmdJbnRlcnZhbCIsZVtlLk1heFBpbmdzQ291bnQ9MTBdPSJNYXhQaW5nc0NvdW50IixlW2UuTWF4UmVkaXJlY3RzPTIwXT0iTWF4UmVkaXJlY3RzIixlW2UuTWF4UmVjb25uZWN0cz0yMF09Ik1heFJlY29ubmVjdHMifSh5fHwoeT17fSkpO2NsYXNzIFR7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLl9xdWV1ZVN0YWNrPVtdLHRoaXMuX2xvZ3NRdWV1ZT1bXSx0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWU9W10sdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9yZWRpcmVjdENvdW50PTAsdGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9bnVsbCx0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9bnVsbCx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PW51bGwsdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCx0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITEsdGhpcy5faW5pdGlhbEhvc3Q9dC5pbml0aWFsSG9zdHx8bnVsbCx0aGlzLl9zdWdnZXN0ZWRIb3N0PWUsdGhpcy5fcHJvSG9zdD10LnByb0hvc3QsdGhpcy5fcmVjb25uZWN0SG9zdD10LnJlY29ubmVjdEhvc3QsdGhpcy5fbm9SZWNvbm5lY3RBZnRlclRpbWVvdXQ9ITA9PT10Lm5vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0LHRoaXMuX2RhdGFSZXF1ZXN0VGltZW91dD10LmRhdGFSZXF1ZXN0VGltZW91dCx0aGlzLl9jb25uZWN0aW9uVHlwZT10LmNvbm5lY3Rpb25UeXBlLHRoaXMuX2FwaUtleT10LmFwaUtleSx0aGlzLl9kb0Nvbm5lY3QoKSx0LnBpbmdSZXF1aXJlZCYmLTE9PT13aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIm5vcGluZyIpJiZ0aGlzLl9zdGFydFBpbmcoKX1jb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpfXJlc2V0Q291bnRlcnMoKXt0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MH1zZXRMb2dnZXIoZSx0KXt0aGlzLl9sb2dnZXI9ZSx0aGlzLl9nZXRMb2dIaXN0b3J5PXQsdGhpcy5fZmx1c2hMb2dzKCl9c2V0VGVsZW1ldHJ5KGUpe3RoaXMuX3RlbGVtZXRyeT1lLHRoaXMuX3RlbGVtZXRyeS5yZXBvcnRTZW50LnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGVsZW1ldHJ5U2VudCksdGhpcy5fZmx1c2hUZWxlbWV0cnkoKX1vblJlY29ubmVjdChlKXt0aGlzLl9vblJlY29ubmVjdD1lfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfWlzQ29ubmVjdGluZygpe3JldHVybiEhdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCl9b24oZSx0KXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmKCJjb25uZWN0Ij09PWUmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpP3QoKToiZGlzY29ubmVjdCI9PT1lP3RoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3MucHVzaCh0KTp0aGlzLl9zb2NrZXQub24oZSx0KSwhMCl9Z2V0U2Vzc2lvbklkKCl7cmV0dXJuIHRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnRyYW5zcG9ydD90aGlzLl9zb2NrZXQudHJhbnNwb3J0LnNlc3Npb25pZDpudWxsfXNlbmQoZSl7cmV0dXJuIHRoaXMuaXNDb25uZWN0ZWQoKT8odGhpcy5fc29ja2V0LnNlbmQoZSksITApOih0aGlzLl9xdWV1ZU1lc3NhZ2UoZSksITEpfQpnZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkfWdldEhvc3QoKXtjb25zdCBlPXRoaXMuX3RyeUdldFByb0hvc3QoKTtyZXR1cm4gbnVsbCE9PWU/ZTp0aGlzLl9yZWNvbm5lY3RIb3N0JiZ0aGlzLl9yZWNvbm5lY3RDb3VudD4zP3RoaXMuX3JlY29ubmVjdEhvc3Q6dGhpcy5fc3VnZ2VzdGVkSG9zdH1nZXRSZWNvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudH1nZXRSZWRpcmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnR9Z2V0Q29ubmVjdGlvblN0YXJ0KCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25TdGFydH1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCksKHRoaXMuaXNDb25uZWN0ZWQoKXx8dGhpcy5pc0Nvbm5lY3RpbmcoKSkmJih0aGlzLl9wcm9wYWdhdGVEaXNjb25uZWN0KCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jbG9zZVNvY2tldCgpKX1mb3JiaWRDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSEwLHRoaXMuZGlzY29ubmVjdCgpfWFsbG93Q29ubmVjdGlvbigpe3RoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLmNvbm5lY3QoKX1pc01heFJlZGlyZWN0cygpe3JldHVybiB0aGlzLl9yZWRpcmVjdENvdW50Pj0yMH1pc01heFJlY29ubmVjdHMoKXtyZXR1cm4gdGhpcy5fcmVjb25uZWN0Q291bnQ+PTIwfWdldFBpbmdJbmZvKCl7cmV0dXJuIHRoaXMuX3BpbmdJbmZvfHxudWxsfWdldEFwaUtleSgpe3JldHVybiB0aGlzLl9hcGlLZXl9X3RyeUdldFByb0hvc3QoKXtyZXR1cm4gd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcub25DaGFydFBhZ2UmJiJiYXR0bGUiPT09d2luZG93LmVudmlyb25tZW50JiYhdGhpcy5fcmVkaXJlY3RDb3VudCYmLTE9PT13aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCJ3c19ob3N0Iik/dGhpcy5faW5pdGlhbEhvc3Q/dGhpcy5faW5pdGlhbEhvc3Q6dm9pZCAwIT09d2luZG93LnVzZXImJndpbmRvdy51c2VyLnByb19wbGFuP3RoaXMuX3Byb0hvc3R8fHRoaXMuX3N1Z2dlc3RlZEhvc3Q6bnVsbDpudWxsfV9xdWV1ZU1lc3NhZ2UoZSl7MD09PXRoaXMuX3F1ZXVlU3RhY2subGVuZ3RoJiZ0aGlzLl9sb2dNZXNzYWdlKDAsIlNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBRdWV1ZWQgYSBtZXNzYWdlIiksdGhpcy5fcXVldWVTdGFjay5wdXNoKGUpfV9wcm9jZXNzTWVzc2FnZVF1ZXVlKCl7MCE9PXRoaXMuX3F1ZXVlU3RhY2subGVuZ3RoJiYodGhpcy5fbG9nTWVzc2FnZSgwLCJQcm9jZXNzaW5nIHF1ZXVlZCBtZXNzYWdlcyIpLHRoaXMuX3F1ZXVlU3RhY2suZm9yRWFjaCh0aGlzLnNlbmQuYmluZCh0aGlzKSksdGhpcy5fbG9nTWVzc2FnZSgwLCJQcm9jZXNzZWQgIit0aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCsiIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjaz1bXSl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dHx8bnVsbCE9PXRoaXMuX3JlY29ubmVjdFRpbWVvdXR8fCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PXNldFRpbWVvdXQodGhpcy5fdHJ5UmVjb25uZWN0LmJpbmQodGhpcyksNWUzKSksdGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpO2xldCB0PSJkaXNjb25uZWN0IHNlc3Npb246Iit0aGlzLmdldFNlc3Npb25JZCgpO2UmJih0Kz0iLCBjb2RlOiIrZS5jb2RlKyIsIHJlYXNvbjoiK2UucmVhc29uLDEwMDU9PT1lLmNvZGUmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9jb2RlXzEwMDUiKSksdGhpcy5fbG9nTWVzc2FnZSgwLHQpLHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoZSksdGhpcy5fY2xvc2VTb2NrZXQoKSx0aGlzLl9xdWV1ZVN0YWNrPVtdfV9jbG9zZVNvY2tldCgpe251bGwhPT10aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub2ZmQWxsKCksdGhpcy5fc29ja2V0LmRpc2Nvbm5lY3QoKSx0aGlzLl9zb2NrZXQ9bnVsbCl9X2xvZ01lc3NhZ2UoZSx0KXtjb25zdCBuPXttZXRob2Q6ZSxtZXNzYWdlOnR9O3RoaXMuX2xvZ2dlcj90aGlzLl9mbHVzaExvZ01lc3NhZ2Uobik6KG4ubWVzc2FnZT1gWyR7KG5ldyBEYXRlKS50b0lTT1N0cmluZygpfV0gJHtuLm1lc3NhZ2V9YCx0aGlzLl9sb2dzUXVldWUucHVzaChuKSl9X2ZsdXNoTG9nTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UgMjp0aGlzLl9sb2dnZXIubG9nRGVidWcoZS5tZXNzYWdlKTticmVhaztjYXNlIDM6dGhpcy5fbG9nZ2VyLmxvZ0Vycm9yKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAwOnRoaXMuX2xvZ2dlci5sb2dJbmZvKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoZS5tZXNzYWdlKX19X2ZsdXNoTG9ncygpe3RoaXMuX2ZsdXNoTG9nTWVzc2FnZSh7bWV0aG9kOjEsbWVzc2FnZToibWVzc2FnZXMgZnJvbSBxdWV1ZS4gU3RhcnQuIn0pLHRoaXMuX2xvZ3NRdWV1ZS5mb3JFYWNoKChlPT57dGhpcy5fZmx1c2hMb2dNZXNzYWdlKGUpfSkpLHRoaXMuX2ZsdXNoTG9nTWVzc2FnZSh7bWV0aG9kOjEsbWVzc2FnZToibWVzc2FnZXMgZnJvbSBxdWV1ZS4gRW5kLiJ9KSx0aGlzLl9sb2dzUXVldWU9W119X3NlbmRUZWxlbWV0cnkoZSx0KXtjb25zdCBuPXtldmVudDplLHBhcmFtczp0fTt0aGlzLl90ZWxlbWV0cnk/dGhpcy5fZmx1c2hUZWxlbWV0cnlPYmplY3Qobik6dGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlLnB1c2gobil9X2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpe3RoaXMuX3RlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoZS5ldmVudCxlLnBhcmFtcywhMSl9X2ZsdXNoVGVsZW1ldHJ5KCl7dGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChlKX0pKSx0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWU9W119X2RvQ29ubmVjdCgpewp0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKXx8dGhpcy5fc29ja2V0LmlzQ29ubmVjdGluZygpKXx8KHRoaXMuX2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9ob3N0PXRoaXMuZ2V0SG9zdCgpLHRoaXMuX3NvY2tldD1uZXcgdyh0aGlzLl9ob3N0LHt0aW1lb3V0OnRoaXMuX2RhdGFSZXF1ZXN0VGltZW91dCxjb25uZWN0aW9uVHlwZTp0aGlzLl9jb25uZWN0aW9uVHlwZSxhcGlLZXk6dGhpcy5fYXBpS2V5fSksdGhpcy5fbG9nTWVzc2FnZSgwLCJDb25uZWN0aW5nIHRvICIrdGhpcy5faG9zdCksdGhpcy5fYmluZEV2ZW50cygpLHRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3M9W10sdGhpcy5fY29ubmVjdGlvblN0YXJ0PXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3NvY2tldC5jb25uZWN0KCkscGVyZm9ybWFuY2UubWFyaygiU1dTQyIse2RldGFpbDoiU3RhcnQgV2ViU29ja2V0IGNvbm5lY3Rpb24ifSksdGhpcy5fc29ja2V0Lm9uKCJjb25uZWN0IiwoKCk9PntwZXJmb3JtYW5jZS5tYXJrKCJFV1NDIix7ZGV0YWlsOiJFbmQgV2ViU29ja2V0IGNvbm5lY3Rpb24ifSkscGVyZm9ybWFuY2UubWVhc3VyZSgiV2ViU29ja2V0IGNvbm5lY3Rpb24gZGVsYXkiLCJTV1NDIiwiRVdTQyIpfSkpKX1fcHJvcGFnYXRlRGlzY29ubmVjdChlKXtjb25zdCB0PXRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3MubGVuZ3RoO2ZvcihsZXQgbj0wO248dDtuKyspdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrc1tuXShlfHx7fSl9X2JpbmRFdmVudHMoKXt0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e2NvbnN0IGU9dGhpcy5nZXRTZXNzaW9uSWQoKTtpZigic3RyaW5nIj09dHlwZW9mIGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZih0LnJlZGlyZWN0KXJldHVybiB0aGlzLl9yZWRpcmVjdENvdW50Kz0xLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9dC5yZWRpcmVjdCx0aGlzLmlzTWF4UmVkaXJlY3RzKCkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoInJlZGlyZWN0X2JhaWxvdXQiKSx2b2lkIHRoaXMuX3JlZGlyZWN0KCl9dGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX3Byb2Nlc3NNZXNzYWdlUXVldWUoKSx0aGlzLl9sb2dNZXNzYWdlKDAsImNvbm5lY3Qgc2Vzc2lvbjoiK2UpfSkpLHRoaXMuX3NvY2tldC5vbigiZGlzY29ubmVjdCIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiY2xvc2UiLHRoaXMuX29uRGlzY29ubmVjdC5iaW5kKHRoaXMpKSx0aGlzLl9zb2NrZXQub24oImVycm9yIiwoZT0+e3RoaXMuX2xvZ01lc3NhZ2UoMCxuZXcgRGF0ZSsiIHNlc3Npb246Iit0aGlzLmdldFNlc3Npb25JZCgpKyIgd2Vic29ja2V0IGVycm9yOiIrSlNPTi5zdHJpbmdpZnkoZSkpLHRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvciIpLHRoaXMuX2Vycm9yc0NvdW50KyssIXRoaXMuX2Vycm9yc0luZm9TZW50JiZ0aGlzLl9lcnJvcnNDb3VudD49ZiYmKHZvaWQgMCE9PXRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrJiYodGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yX2Nvbm5lY3Rfc3RhY2siLHt0ZXh0OnRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrfSksZGVsZXRlIHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrKSx2b2lkIDAhPT10aGlzLl9nZXRMb2dIaXN0b3J5JiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfbG9nIix7dGV4dDp0aGlzLl9nZXRMb2dIaXN0b3J5KDUwKS5qb2luKCJcbiIpfSksdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITApfSkpKX1fcmVkaXJlY3QoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZWNvbm5lY3RXaGVuT25saW5lKCl9X3RyeVJlY29ubmVjdCgpe3RoaXMuX3RyeUNvbm5lY3QoKSYmKHRoaXMuX3JlY29ubmVjdENvdW50Kz0xKX1fdHJ5Q29ubmVjdCgpe3JldHVybiF0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW4mJih0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSx0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjaz1uZXcgRXJyb3IoYFdlYlNvY2tldCBjb25uZWN0IHN0YWNrLiBJcyBjb25uZWN0ZWQ6ICR7dGhpcy5pc0Nvbm5lY3RlZCgpfS5gKS5zdGFja3x8IiIsIXRoaXMuaXNDb25uZWN0ZWQoKSYmKHRoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKSwhMCkpfV9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCl7dGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4mJih0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPW51bGwpfV9jbGVhclJlY29ubmVjdFRpbWVvdXQoKXtudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0KSx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PW51bGwpfV9yZWNvbm5lY3RXaGVuT25saW5lKCl7aWYobmF2aWdhdG9yLm9uTGluZSlyZXR1cm4gdGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1czogb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLl9kb0Nvbm5lY3QoKSx2b2lkKHRoaXMuX29uUmVjb25uZWN0JiZ0aGlzLl9vblJlY29ubmVjdCgpKTt0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvZmZsaW5lIC0gd2FpdCB1bnRpbCBvbmxpbmUiKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1mdW5jdGlvbihlKXtsZXQgdD1lO2NvbnN0IG49KCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixuKSx0JiZ0KCl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixuKSwoKT0+e3Q9bnVsbH19KCgoKT0+e3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXMgY2hhbmdlZCB0byBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHRoaXMuX29uUmVjb25uZWN0JiZ0aGlzLl9vblJlY29ubmVjdCgpfSkpfQpfb25UZWxlbWV0cnlTZW50KGUpeyJ3ZWJzb2NrZXRfZXJyb3IiaW4gZSYmKHRoaXMuX2Vycm9yc0NvdW50PTAsdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITEpfV9zdGFydFBpbmcoKXtpZih0aGlzLl9waW5nSW50ZXJ2YWxJZClyZXR1cm47Y29uc3QgZT1rKHRoaXMuZ2V0SG9zdCgpKTtlLnBhdGhuYW1lKz0icGluZyIsZS5wcm90b2NvbD0iaHR0cHM6IjtsZXQgdD0wLG49MDtjb25zdCBzPWU9Pnt0aGlzLl9waW5nSW5mbz10aGlzLl9waW5nSW5mb3x8e21heDowLG1pbjoxLzAsYXZnOjB9O2NvbnN0IHM9KG5ldyBEYXRlKS5nZXRUaW1lKCktZTtzPnRoaXMuX3BpbmdJbmZvLm1heCYmKHRoaXMuX3BpbmdJbmZvLm1heD1zKSxzPHRoaXMuX3BpbmdJbmZvLm1pbiYmKHRoaXMuX3BpbmdJbmZvLm1pbj1zKSx0Kz1zLG4rKyx0aGlzLl9waW5nSW5mby5hdmc9dC9uLG4+PTEwJiZ0aGlzLl9waW5nSW50ZXJ2YWxJZCYmKGNsZWFySW50ZXJ2YWwodGhpcy5fcGluZ0ludGVydmFsSWQpLGRlbGV0ZSB0aGlzLl9waW5nSW50ZXJ2YWxJZCl9O3RoaXMuX3BpbmdJbnRlcnZhbElkPXNldEludGVydmFsKCgoKT0+e2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCksbj1uZXcgWE1MSHR0cFJlcXVlc3Q7bi5vcGVuKCJHRVQiLGUsITApLG4uc2VuZCgpLG4ub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57bi5yZWFkeVN0YXRlPT09WE1MSHR0cFJlcXVlc3QuRE9ORSYmMjAwPT09bi5zdGF0dXMmJnModCl9fSksMWU0KX19CmNvbnN0IEM9IndpZGdldF91c2VyX3Rva2VuLSIsdj1KU09OLnBhcnNlKCd7ImFkeCI6IndpZGdldF91c2VyX3Rva2VuLWFkeCIsImFkeEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHhEIiwiYWdlbmNpYWxibWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWdlbmNpYWxibWNvbWJyIiwiYWxqYXppcmFjYXBpdGFsRCI6IndpZGdldF91c2VyX3Rva2VuLWFsamF6aXJhY2FwaXRhbEQiLCJhbGphemlyYWNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLWFsamF6aXJhY2FwaXRhbFJUIiwiYWxyYWpoaWNhcGl0YWxjb21EIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21EIiwiYWxyYWpoaWNhcGl0YWxjb21SVCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tUlQiLCJhbWJpdG8iOiJ3aWRnZXRfdXNlcl90b2tlbi1hbWJpdG8iLCJhcmVuYXh0cm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1hcmVuYXh0cm8iLCJhcnRlY2hlY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tQXJ0ZWNoZUQiLCJhdGxjYXBpdGFsIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXRsY2FwaXRhbCIsImJhbmtpcm9zcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iYW5raXJvc3J1IiwiYmJ2YWNoIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmJ2YWNoIiwiYmVla3Nncm91cCI6IndpZGdldF91c2VyX3Rva2VuLWJlZWtzZ3JvdXAiLCJiZWx1Z2Fncm91cHJ1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmVsdWdhZ3JvdXBydSIsImJpdmFjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1iaXZhY29tIiwiYmx1ZWZpZWxkIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmx1ZWZpZWxkIiwiYmx1ZWxpbmVmdXR1cmVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmx1ZWxpbmVmdXR1cmVzIiwiYm92ZXNwYSI6IndpZGdldF91c2VyX3Rva2VuLWJtZmJvdmVzcGFjb21iciIsImJ2YnJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYnZicm8iLCJieXRldHJhdmVsIjoid2lkZ2V0X3VzZXJfdG9rZW4tYnl0ZXRyYXZlbCIsImNib2VjYW5hZGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1jYm9lY2FuYWRhIiwiY2hhbXBpb25uYXRib3Vyc2UiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaGFtcGlvbm5hdGJvdXJzZSIsImNpbmNvZGlhcyI6IndpZGdldF91c2VyX3Rva2VuLWNpbmNvZGlhcyIsImNlb2NhRCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhRCIsImNlb2NhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYVJUIiwiY21jbWFya2V0cyI6IndpZGdldF91c2VyX3Rva2VuLWNtY21hcmtldHMiLCJjb3BlZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jb3BlZXMiLCJjc2VsayI6IndpZGdldF91c2VyX3Rva2VuLWNzZWxrIiwiZGFpbHlmeCI6IndpZGdldF91c2VyX3Rva2VuLWRhaWx5ZngiLCJkZWVwc2VhcmNoIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVlcHNlYXJjaCIsImRlcmF5YWhjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1kZXJheWFoY29tIiwiZGZtYWVEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVEIiwiZGZtYWVSVCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlUlQiLCJkaW5hcnNhRCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FEIiwiZGluYXJzYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYVJUIiwiZG9sYXJob3kiOiJ3aWRnZXRfdXNlcl90b2tlbi1kb2xhcmhveSIsImVhc3ludmVzdGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWFzeW52ZXN0Y29tYnIiLCJlZGFpbHkiOiJ3aWRnZXRfdXNlcl90b2tlbi1lZGFpbHkiLCJlbGVzcGFub2xjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbGVzcGFub2xjb20iLCJlbG9icmVyb2VzIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxvYnJlcm9lcyIsImVsbmFjaW9uYWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRWxOYWNpb25hbEQiLCJlbHBhaXNmaW5hbmNpZXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwYWlzZmluYW5jaWVybyIsImVscGVyaW9kaWNvZGVsYWVuZXJnaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBlcmlvZGljb2RlbGFlbmVyZ2lhIiwiZXVxdWVyb2ludmVzdGlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVxdWVyb2ludmVzdGlyY29tIiwiZXVyZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJleCIsImV1cm9maW5zIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyb2ZpbnMiLCJlcGUiOiJ3aWRnZXRfdXNlcl90b2tlbi1lcGUiLCJldXJvcGFwcmVzc2VzIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyb3BhcHJlc3NlcyIsImZpbmFuemFzRCI6IndpZGdldF91c2VyX3Rva2VuLUZpbmFuemFzRCIsImZvcmJlc2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZm9yYmVzY29tYnIiLCJnZW5pYWxpbnZlc3RpbWVudG9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tZ2VuaWFsaW52ZXN0aW1lbnRvcyIsImhlYWx0aGl0YWxpYSI6IndpZGdldF91c2VyX3Rva2VuLWhlYWx0aGl0YWxpYSIsImhlZ25hcm5vIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVnbmFybm8iLCJoaXBvdGVjYXJpb2NvbWFyIjoid2lkZ2V0X3VzZXJfdG9rZW4taGlwb3RlY2FyaW9jb21hciIsImlnY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4taWdjb20iLCJpbnZlc3RlZ2F0ZWNvdWsiOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnZlc3RlZ2F0ZWNvdWsiLCJpbnZlc3RvcGVkaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnZlc3RvcGVkaWEiLCJpbnRlZ3JhbHlhdGlyaW0iOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnRlZ3JhbHlhdGlyaW0iLCJpdnNncm91cCI6IndpZGdldF91c2VyX3Rva2VuLWl2c2dyb3VwIiwianNlY296YSI6IndpZGdldF91c2VyX3Rva2VuLWpzZWNvemEiLCJib2Vyc2VuemVpdHVuZyI6IndpZGdldF91c2VyX3Rva2VuLWJvZXJzZW56ZWl0dW5nIiwibGFpbmZvcm1hY2lvbmNvbSI6IndpZGdldF91c2VyX3Rva2VuLWxhaW5mb3JtYWNpb25jb20iLCJtYXJjb3BvbG9jb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1hcmNvcG9sb2NvbWJyIiwibWVyY2Fkb2ZpbmFuY2llcm9jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1tZXJjYWRvZmluYW5jaWVyb2NvbSIsIm1vZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb2V4IiwibW9uZXl0aW1lc2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uZXl0aW1lc2NvbWJyIiwibW9uaXRvcmRvbWVyY2Fkb0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25pdG9yZG9tZXJjYWRvRCIsIm15bmV0Y29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbXluZXRjb20iLCJuZWdvY2lvcyI6IndpZGdldF91c2VyX3Rva2VuLW5lZ29jaW9zIiwiTkdYIjoid2lkZ2V0X3VzZXJfdG9rZW4tTkdYIiwiTm90aWNpYXNhZ3JpY29sYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ub3RpY2lhc2Fncmljb2xhRCIsIm5vbW1vbWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ub21tb21hIiwibnNlY29rciI6IndpZGdldF91c2VyX3Rva2VuLW5zZWNva3IiLCJva2RpYXJpbyI6IndpZGdldF91c2VyX3Rva2VuLW9rZGlhcmlvIiwicGFuYWZyaWNhbnJlc291cmNlc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXBhbmFmcmljYW5yZXNvdXJjZXNjb20iLCJwc2UiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2UiLCJwb2RlcjM2MCI6IndpZGdldF91c2VyX3Rva2VuLXBvZGVyMzYwIiwicHNlRCI6IndpZGdldF91c2VyX3Rva2VuLXBzZUQiLCJyaXlhZGhjYXBpdGFsRCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxEIiwicml5YWRoY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbFJUIiwicWVjb21xYSI6IndpZGdldF91c2VyX3Rva2VuLXFlY29tcWEiLCJzYW1vbGV0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2Ftb2xldCIsInNlZWluZ21hY2hpbmVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2VlaW5nbWFjaGluZXNjb20iLCJzZXVkaW5oZWlybyI6IndpZGdldF91c2VyX3Rva2VuLXNldWRpbmhlaXJvIiwic29mdHdhcmVhZyI6IndpZGdldF91c2VyX3Rva2VuLXNvZnR3YXJlYWciLCJzb2dlY2xhaXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2dlY2xhaXIiLCJzZ2NvbXBhbnlpdCI6IndpZGdldF91c2VyX3Rva2VuLXNnY29tcGFueWl0Iiwic2hhcmVqdW5jdGlvbiI6IndpZGdldF91c2VyX3Rva2VuLXNoYXJlanVuY3Rpb24iLCJzbWFydGxhYi1jdXN0b20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNtYXJ0bGFiIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzcGFjZW1vbmV5Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zcGFjZW1vbmV5Y29tYnIiLCJzdG9uZXh3ZGciOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG9uZXjCoy0hd3d3LnN0b25leC5jb20iLCJzdG94aW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG94aW8iLCJzdG9uZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG9uZXgiLCJ0b3JvaW52ZXN0aW1lbnRvc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXRvcm9pbnZlc3RpbWVudG9zY29tIiwidGhlY3NlY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdGhlY3NlY29tIiwidHJhZGVyc2NsdWJicmFzaWwiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbCIsInRyYWRlcnNjbHViYnJhc2lsRCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsRCIsInRyYWRpbmd2aWV3Ijoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGluZ3ZpZXciLCJ4dG9vbHMiOiJ3aWRnZXRfdXNlcl90b2tlbi14dG9vbHMiLCJ0d2l0dGVyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHdpdHRlciIsInZlbG9jaXR5Y29tcG9zaXRlc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXZlbG9jaXR5Y29tcG9zaXRlc2NvbSIsInZvY2VzYWFicmlsY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi12b2Nlc2FhYnJpbGNvbWJyIiwid2VhbHRoc2ltcGxlIjoid2lkZ2V0X3VzZXJfdG9rZW4td2VhbHRoc2ltcGxlwqMtIW15LndlYWx0aHNpbXBsZS5jb20iLCJ3b3JsZGNoZXNzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4td29ybGRjaGVzc2NvbSIsInhDcnR5SmtzcCI6IndpZGdldF91c2VyX3Rva2VuLXhDcnR5SmtzcCIsInhwaWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4teHBpY29tYnIifScpW3dpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3LndpZGdldEN1c3RvbWVyfHwiIl18fCIiLFM9di5zdGFydHNXaXRoKEMpP3Yuc3Vic3RyaW5nKDE4KToidHJhZGluZ3ZpZXciCjt3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbj1uZXcgVCh3aW5kb3cuV0VCU09DS0VUX0hPU1Qse3BpbmdSZXF1aXJlZDp3aW5kb3cuV1NfSE9TVF9QSU5HX1JFUVVJUkVELHByb0hvc3Q6d2luZG93LldFQlNPQ0tFVF9QUk9fSE9TVCxyZWNvbm5lY3RIb3N0OndpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNULGluaXRpYWxIb3N0OndpbmRvdy5XRUJTT0NLRVRfSU5JVElBTF9IT1NULGNvbm5lY3Rpb25UeXBlOndpbmRvdy5XRUJTT0NLRVRfQ09OTkVDVElPTl9UWVBFLGFwaUtleTpTfSksd2luZG93LldTQmFja2VuZENvbm5lY3Rpb25DdG9yPVR9KSgpOwoJPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+Cgk8c2NyaXB0IG5vbmNlPSJaa3lzM0wyd1FwK1VNWTh1NC9SWk5RPT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCB0PTEwMTk7dmFyIGUscyxvLGEsZDshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0oZXx8KGU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0oc3x8KHM9e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KG98fChvPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGF8fChhPXt9KSksZnVuY3Rpb24odCl7dC5UaGVtZUNsYXNzUHJlZml4PSJ0aGVtZS0ifShkfHwoZD17fSkpO2NvbnN0IGM9d2luZG93O2MuaW5pdERhdGE9Yy5pbml0RGF0YXx8e307bGV0IGk9Yy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cyYmKGk9ey4uLmMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsLi4uaX0pLHZvaWQgMCE9PWkpe2lmKHZvaWQgMCE9PWkuY29sb3JUaGVtZSYmZnVuY3Rpb24odCxlPXdpbmRvdyl7Y29uc3Qgcz0idGhlbWUtIit0LG89ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCB0IG9mIEFycmF5LmZyb20obykpdC5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmdCE9PXMmJm8ucmVtb3ZlKHQpO28uYWRkKHMpLGUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9dH0oaS5jb2xvclRoZW1lKSwoaS5pc1RyYW5zcGFyZW50fHxpLnRyYW5zcGFyZW5jeSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy10cmFuc3BhcmVudCIpLHZvaWQgMCE9PWkuZGlzcGxheU1vZGUmJmZ1bmN0aW9uKHMsbyl7aWYobz09PWUuQWRhcHRpdmUpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEoYChtYXgtd2lkdGg6ICR7dH1weClgKSxvPSgpPT57cy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsIWUubWF0Y2hlcykscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsZS5tYXRjaGVzKX07bygpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixvKX1lbHNlIHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLG89PT1lLlJlZ3VsYXIpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLG89PT1lLkNvbXBhY3QpfShkb2N1bWVudC5ib2R5LGkuZGlzcGxheU1vZGUpLGkuYm9keUNsYXNzZXMpZm9yKGNvbnN0IHQgb2YgaS5ib2R5Q2xhc3Nlcylkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQodCk7aS5ib2R5X2NsYXNzJiZkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoaS5ib2R5X2NsYXNzKSxpLmJvZHlJZCYmKGRvY3VtZW50LmJvZHkuaWQ9aS5ib2R5SWQpfX0pKCk7Cgk8L3NjcmlwdD4KCgk8ZGl2IGlkPSJ3aWRnZXQtZm9yZXgtY3Jvc3MtcmF0ZXMtY29udGFpbmVyIj48L2Rpdj4KCjxzY3JpcHQgbm9uY2U9IlpreXMzTDJ3UXArVU1ZOHU0L1JaTlE9PSI+Cgl3aW5kb3cuaW5pdERhdGEgPSB3aW5kb3cuaW5pdERhdGEgfHwge307CgoJd2luZG93LmluaXREYXRhLnNub3dwbG93U2V0dGluZ3MgPSB7CgkJY29sbGVjdG9ySWQ6ICd0dl9jZicsCgkJdXJsOiAnc25vd3Bsb3ctcGl4ZWwudHJhZGluZ3ZpZXcuY29tJywKCQlwYXJhbXM6IHsKCQkJYXBwSWQ6ICd0cmFkaW5ndmlldycsCgkJCXBvc3RQYXRoOiAnL2NvbS50cmFkaW5ndmlldy90cmFjaycsCgkJfSwKCQllbmFibGVkOiB0cnVlLAoJfQo8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4="}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":2,"send":0,"wait":8,"receive":0,"ssl":14},"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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.524Z","timestamp":1785120763524,"http_version":"HTTP/2","security_state":"","security_info":null,"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/market-overview/?locale=en\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 02:52:43 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: b6d6224a4417e49c884db424e6b441ce\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/imge4.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.998Z","timestamp":1785120760998,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/imge4.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 4254\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":4254,"size_decoded":4665,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 185x273, components 3","md5":"7b8de25f75314e517fcee68024863a4d","sha1":"965f41dcba6b40e6649b382e92cc4145c5dffd2b","sha256":"e39bce47234616ae7bcddf96b9f1532e11a32ce5731d80ebf626d647cd2ece8e","sha512":"38b51dbd5f7da4817482689b9ddb5aee7af0b76f3a51f9fd82ab083baf980c11b8bf0ddae0e41a2e7ff6543f56d8bef57ebfad6791e010fc02d29a36b8cca412","ssdeep":"96:t4LdAGfxIKJU5yRP64uSZL4eOmGckbuz/rzUL1FVlfujwP13w:2B1xf3RcclOm6yz/vUhTlmi1A","tlshash":"a4918ebe2e17646bcf56e3b45abf5496da023042e72c5944483c17838a3c3f2927ce4e","first_seen":"2024-08-19T14:44:35.704136Z","last_seen":"2026-07-27T05:24:59.895376Z","times_seen":921,"resource_available":false,"data":"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"}},"time_used":506,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":476,"receive":30,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.576Z","timestamp":1785120761576,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no 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://360trustwealthavenue.stglen.com/\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: 313652\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 02:52:41 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::blcpr-1785120761625-740ee0033455\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\nserver-timing: cfCacheStatus;desc=\"DYNAMIC\", cfEdge;dur=6,cfOrigin;dur=56, cfExtPri\r\ncontent-encoding: zstd\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=HRYzaK0LMSSKMq6ng3fNtA3lcrhAeShHM9TRxojPB8OsLFOpMIkDQDzbCrr%2Bn6RY%2Bz7V3eLchK5elF%2F0PX1lH3BIh0BrS0pfyFR1MitYlCQ0i5wBiqHIUvCEHDxe\"}]}\r\ncf-ray: a2185977ebc30daa-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":"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"]}],"data":{"size":264025,"size_decoded":33854,"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-27T05:31:38.793698Z","times_seen":491,"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":85,"timings":{"blocked":6,"dns":5,"connect":0,"send":0,"wait":70,"receive":4,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.805Z","timestamp":1785120761805,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 3808278\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 02:52:41 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=nIJp4CGe%2FLuCf%2F%2B9j9r6zUM7Fd2BGRgbVuVDDM6JA4717mqpTgrdp2vfzRlRzYEL9DtfDd7OnevQIw6uFuMLYnWZncteUeOyzoNOnpeJt1Ow01ZRN1zGZiHe37%2Fu\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859794bce0daa-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":"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"]}],"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-07-27T05:24:59.811029Z","times_seen":1201,"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":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/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%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://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.910Z","timestamp":1785120762910,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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/market-overview/?locale=en 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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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/2 200 \r\ndate: Mon, 27 Jul 2026 02:52:42 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 02:53:48 GMT\r\ncontent-security-policy: base-uri 'none'; 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-09TWkqfJayUqUKwTPJ6dEg=='; default-src 'self' https: data: blob: wss: 'unsafe-inline'; object-src '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 02:52:11\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 07e40d24fbc3cd8111465c75b83ec066\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":"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":"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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":55864,"size_decoded":18170,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"442bcec7a1ffb46705843d4b18a41bad","sha1":"34a94b0f41ab34a063e1ca5b6cfc7f6298b0f1a3","sha256":"93d178d2b4ae4c8d49f3a9515f8bb67a5fd1091f4cb51ac301f322f4de522d27","sha512":"b608ce0e0910ec1f36765f12534156bd3ec39ac29912a1c811838df6ae26ba33ccea29ad8385e751ad4da3ebbf6a8d2192afad924a93c992f3bc3b71472196bb","ssdeep":"1536:Yf8pteeAQKlNzfMOdo3TW8aNogdwh32Wn+66ceuvRMK:Yf8pteeAQKlNzfMOdo3TW8aNlHWe4MK","tlshash":"8743e75398098b05dad64a487c33b103f91903a8d65268d479e8e8dc159ffc2f1a7bfe","first_seen":"2026-07-27T02:53:32.392495Z","last_seen":"2026-07-27T02:53:37.895388Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5NYXJrZXQgT3ZlcnZpZXcgd2lkZ2V0PC90aXRsZT4KCgk8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyIgY3Jvc3NvcmlnaW4+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTUyNy4xNWM1YzI1ZDI3YTU2YTBkZjc3Mi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA3MC41NWNiYzdhMWRhOTYzYjM4MjliMy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDY5MDcuYzVhZjhhYTdiNTA4MmIxODc1YTUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzI4MTYuMzU1ZDc1YjIxYWU0YjUzNGE4NDkuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDMzMjUuMjU2ZmE1YTUyMTNiOWNiNzBmNWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNTkzMi4yYTcwZDM5N2MzNGYyZTlkZTk0Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84NDA4LmRlNTM0NjYzZTA1MjA3NWJhMTJmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM4MDAyLjg2ZDI4MGZlZWFiYWI2OTgzNjBiLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYyNjMwLjUzNzMyZGFlYTgxNzg0NDczOTNmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYyNjgxLjY4ODNjNGIxN2U2YTg5ZTRiODdmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzU2OTk5LjQwNjI1YWI1Mjk0YjNlZTYyM2ZkLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQ0NDU0Ljg4OTRjNDcxMTk4OTQ0NWYwZDQ3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0iMDlUV2txZkpheVVxVUt3VFBKNmRFZz09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSIwOVRXa3FmSmF5VXFVS3dUUEo2ZEVnPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9tYXJrZXRfb3ZlcnZpZXdfd2lkZ2V0LmIzNzc4Y2Y1OWM3OTcyZmIyMTE3LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTYwOTMuYTQ3YTkwODA5NjYwZjgwMWMyYWMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzMTQ4LjMyY2MwMWRjMDE3NTFiOTE2ODJjLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA3MDYuYTU5MTNhYTZhZDYyZDlkYmYwMzEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NjI1OC4yODJlNjE0MWZjMDJhYzg1ZDBkNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNzE0MjQuZWFlZmFmNTY4ZGM4ZjFkMTYyMjguanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM4NjAuNWYxNjUzN2VhZjdlMjAwMjBiNGUuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY1ODYyLjk1NzY0NzUyYzA5ZjNmMThmODkwLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTAzMS41MzVmMjdiNzc2ZjM5NGM3ZTQzYS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQ3MDguNzNkMmJjYTM3MjA3YzY3YTQxZjQuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM1NTIuNGM1NTM1MTgzYjdhMDMzMGE4OWQuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNTk0LmU4NzQ0NGUyNmY5ZTEyNTQ1MjMxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84Nzk5NS45MTFiMjYxODE3NzhmZWNjNGI0ZS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQ4MjUuOGE5MGMwYzNlYmQ0MTNlYjljODEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzcyNzguNzM4NzU5ZWYwYWMzMzQ2OTI1M2IuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzE1MDQ5LjA4ZTA4ODhlN2Q0NWYzNzE0MTdhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83ODY4OC5iMjFlODY3ZGRjYzczODA2ZDFlYi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTE0NzEuYjI5OTc0ZmQwYzllMDgyYjY3NWYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX21hcmtldF9vdmVydmlld193aWRnZXQuOTY0Mjk1OTQ5NTRmMTc4NzJjNWEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL3J1bnRpbWUtZW1iZWRfbWFya2V0X292ZXJ2aWV3X3dpZGdldC5iMzc3OGNmNTljNzk3MmZiMjExNy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU4NjY3LmQxNWZjNGI1YzYzMWJiNWVjZThkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTYwOTMuYTQ3YTkwODA5NjYwZjgwMWMyYWMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQ5MjY1LmMyMDhlZjgzNzllMDczZjk0ZDE2LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA3MDYuYTU5MTNhYTZhZDYyZDlkYmYwMzEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTgyNy5kMzk3NmRjMGM1Y2ZhMmMyMTQwZS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzU2MjU4LjI4MmU2MTQxZmMwMmFjODVkMGQ1LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNzE0MjQuZWFlZmFmNTY4ZGM4ZjFkMTYyMjguanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zODYwLjVmMTY1MzdlYWY3ZTIwMDIwYjRlLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTAzMS41MzVmMjdiNzc2ZjM5NGM3ZTQzYS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0NzA4LjczZDJiY2EzNzIwN2M2N2E0MWY0LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNTk0LmU4NzQ0NGUyNmY5ZTEyNTQ1MjMxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODc5OTUuOTExYjI2MTgxNzc4ZmVjYzRiNGUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDgyNS44YTkwYzBjM2ViZDQxM2ViOWM4MS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzcyNzguNzM4NzU5ZWYwYWMzMzQ2OTI1M2IuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNTA0OS4wOGUwODg4ZTdkNDVmMzcxNDE3YS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc4Njg4LmIyMWU4NjdkZGNjNzM4MDZkMWViLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTE0NzEuYjI5OTc0ZmQwYzllMDgyYjY3NWYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbWJlZF9tYXJrZXRfb3ZlcnZpZXdfd2lkZ2V0Ljk2NDI5NTk0OTU0ZjE3ODcyYzVhLmpzIiBkZWZlcj48L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSIwOVRXa3FmSmF5VXFVS3dUUEo2ZEVnPT0iPndpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjMsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC4zfTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJ0aXRsZSI6Ik1hcmtldCBzdW1tYXJ5IiwiZm9yY2VfZW5kX2JvcmRlciI6dHJ1ZSwiaXNfZW1iZWRfd2lkZ2V0Ijp0cnVlLCJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY2MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlLCJhdXRvc2l6ZSI6ZmFsc2UsInRhYnMiOlt7InRpdGxlIjoiSW5kaWNlcyIsInN5bWJvbHMiOlt7InMiOiJGT1JFWENPTTpTUFhVU0QiLCJkIjoiUyZQIDUwMCBJbmRleCJ9LHsicyI6IkZPUkVYQ09NOk5TWFVTRCIsImQiOiJVUyAxMDAgQ2FzaCBDRkQifSx7InMiOiJGT1JFWENPTTpESkkiLCJkIjoiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJ9LHsicyI6IklOREVYOk5LWSIsImQiOiJKYXBhbiAyMjUifSx7InMiOiJJTkRFWDpERVU0MCIsImQiOiJEQVggSW5kZXgifSx7InMiOiJGT1JFWENPTTpVS1hHQlAiLCJkIjoiRlRTRSAxMDAgSW5kZXgifV19LHsidGl0bGUiOiJGdXR1cmVzIiwic3ltYm9scyI6W3sicyI6IkJNRkJPVkVTUEE6SVNQMSEiLCJkIjoiUyZQIDUwMCBJbmRleCBGdXR1cmVzIn0seyJzIjoiQk1GQk9WRVNQQTpFVVIxISIsImQiOiJFdXJvIEZ1dHVyZXMifSx7InMiOiJUVkM6VVNPSUwiLCJkIjoiQ3J1ZGUgT2lsIn0seyJzIjoiQk1GQk9WRVNQQTpFVEgxISIsImQiOiJIeWRyb3VzIGV0aGFub2wifSx7InMiOiJCTUZCT1ZFU1BBOkNDTTEhIiwiZCI6IkNvcm4ifV19LHsidGl0bGUiOiJCb25kcyIsInN5bWJvbHMiOlt7InMiOiJFVVJFWDpGR0JMMSEiLCJkIjoiRXVybyBCdW5kIn0seyJzIjoiRVVSRVg6RkJUUDEhIiwiZCI6IkV1cm8gQlRQIn0seyJzIjoiRVVSRVg6RkdCTTEhIiwiZCI6IkV1cm8gQk9CTCJ9XX0seyJ0aXRsZSI6IkZvcmV4Iiwic3ltYm9scyI6W3sicyI6IkZYOkVVUlVTRCIsImQiOiJFVVIgdG8gVVNEIn0seyJzIjoiRlg6R0JQVVNEIiwiZCI6IkdCUCB0byBVU0QifSx7InMiOiJGWDpVU0RKUFkiLCJkIjoiVVNEIHRvIEpQWSJ9LHsicyI6IkZYOlVTRENIRiIsImQiOiJVU0QgdG8gQ0hGIn0seyJzIjoiRlg6QVVEVVNEIiwiZCI6IkFVRCB0byBVU0QifSx7InMiOiJGWDpVU0RDQUQiLCJkIjoiVVNEIHRvIENBRCJ9XX1dLCJiZWxvd19saW5lX2ZpbGxfY29sb3JfZmFsbGluZyI6InJnYmEoNDEsIDk4LCAyNTUsIDAuMTIpIiwiYmVsb3dfbGluZV9maWxsX2NvbG9yX2dyb3dpbmciOiJyZ2JhKDQxLCA5OCwgMjU1LCAwLjEyKSIsImJlbG93X2xpbmVfZmlsbF9jb2xvcl9mYWxsaW5nX2JvdHRvbSI6InJnYmEoNDEsIDk4LCAyNTUsIDApIiwiYmVsb3dfbGluZV9maWxsX2NvbG9yX2dyb3dpbmdfYm90dG9tIjoicmdiYSg0MSwgOTgsIDI1NSwgMCkiLCJncmlkX2xpbmVfY29sb3IiOiJyZ2JhKDI0MCwgMjQzLCAyNTAsIDApIiwicGxvdF9saW5lX2NvbG9yX2ZhbGxpbmciOiIjMjk2MkZGIiwicGxvdF9saW5lX2NvbG9yX2dyb3dpbmciOiIjMjk2MkZGIiwic2NhbGVfZm9udF9jb2xvciI6IiMwRjBGMEYiLCJzaG93X2NoYXJ0Ijp0cnVlLCJzeW1ib2xfYWN0aXZlX2NvbG9yIjoicmdiYSg0MSwgOTgsIDI1NSwgMC4xMikiLCJzeW1ib2xfc2hvcnRfbmFtZV9jb2xvciI6IiMwRjBGMEYiLCJzeW1ib2xfZGVzY3JpcHRpb25fY29sb3IiOiIjNzA3MDcwIiwidGlja2VyX2NvbG9yX2dyb3dpbmciOiIjMDg5OTgxIiwidGlja2VyX2NvbG9yX2ZhbGxpbmciOiIjRjIzNjQ1Iiwic3ltYm9sX3NlcGFyYXRvcl9jb2xvciI6IiNGMkYyRjIiLCJjb2xvclRoZW1lIjoibGlnaHQiLCJsb2NhbGUiOiJlbiJ9fTsKCQl3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm8gPSB7Imxhbmd1YWdlIjoiZW4iLCJsYW5ndWFnZV9uYW1lIjoiRW5nbGlzaCIsImZsYWciOiJ1cyIsImdlb2lwX2NvZGUiOiJ1cyIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJFbmdsaXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfTsKCQl3aW5kb3cuaW5pdERhdGEuc2V0dGluZ3MgPSB7J1MzX0xPR09fU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8nLCAnUzNfTkVXU19JTUFHRV9TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL25ld3MvJywgJ1dFQlBBQ0tfU1RBVElDX1BBVEgnOiAnaHR0cHM6Ly9zdGF0aWMudHJhZGluZ3ZpZXcuY29tL3N0YXRpYy9idW5kbGVzLycsICdUUkFESU5HX1VSTFMnOiB7J2ZyZWUnOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmctZnJlZS50cmFkaW5ndmlldy5jb20nLCAncHJvJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLnRyYWRpbmd2aWV3LmNvbSd9LCAnQ09OVEVTVFNfVVJMJzogJy9wYXBlci10cmFkaW5nJywgJ0NSVURfU1RPUkFHRV9VUkwnOiAnaHR0cHM6Ly9jcnVkLXN0b3JhZ2UudHJhZGluZ3ZpZXcuY29tJ307PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iMDlUV2txZkpheVVxVUt3VFBKNmRFZz09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgZT17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtjb25zdCB0PXdpbmRvdzt0LmluaXREYXRhPXQuaW5pdERhdGF8fHt9O2NvbnN0IGE9L1wrL2csbj0vPFwvP1tePl0rKD58JCkvZyxzPWU9PmRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoYSwiICIpKS5yZXBsYWNlKG4sIiIpLG89dC5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGM9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtsZXQgbCxyPWMuZXhlYyhvKTtmb3IoO251bGwhPT1yOylpW3MoclsxXSldPXMoclsyXSkscj1jLmV4ZWMobyk7dHJ5e2w9SlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQodC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWx8fChsPXt9KX1jYXRjaChlKXtsPXt9fXZhciBoO3QuaW5pdERhdGEucXVlcnlTZXR0aW5ncz1pLHQuaW5pdERhdGEuaGFzaFNldHRpbmdzPShoPWwsT2JqZWN0LmtleXMoaCkuZm9yRWFjaCgodD0+e2VbdF0mJmRlbGV0ZSBoW3RdfSkpLGgpfSkoKTsKCTwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IjA5VFdrcWZKYXlVcVVLd1RQSjZkRWc9PSI+d2luZG93LlNTX0hPU1QgPSAic3ltYm9sLXNlYXJjaC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7CgkJd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQgPSBmYWxzZTsKCgoJCXdpbmRvdy5sb2NhbGVfZG9tYWlucyA9IHsiZW4iOiJ3d3cudHJhZGluZ3ZpZXcuY29tIiwiYXJfQUUiOiJhci50cmFkaW5ndmlldy5jb20iLCJiciI6ImJyLnRyYWRpbmd2aWV3LmNvbSIsImRlX0RFIjoiZGUudHJhZGluZ3ZpZXcuY29tIiwiZXMiOiJlcy50cmFkaW5ndmlldy5jb20iLCJmciI6ImZyLnRyYWRpbmd2aWV3LmNvbSIsImhlX0lMIjoiaWwudHJhZGluZ3ZpZXcuY29tIiwiaWQiOiJpZC50cmFkaW5ndmlldy5jb20iLCJpbiI6ImluLnRyYWRpbmd2aWV3LmNvbSIsIml0IjoiaXQudHJhZGluZ3ZpZXcuY29tIiwiamEiOiJqcC50cmFkaW5ndmlldy5jb20iLCJrciI6ImtyLnRyYWRpbmd2aWV3LmNvbSIsIm1zX01ZIjoibXkudHJhZGluZ3ZpZXcuY29tIiwicGwiOiJwbC50cmFkaW5ndmlldy5jb20iLCJydSI6InJ1LnRyYWRpbmd2aWV3LmNvbSIsInRoX1RIIjoidGgudHJhZGluZ3ZpZXcuY29tIiwidHIiOiJ0ci50cmFkaW5ndmlldy5jb20iLCJ2aV9WTiI6InZuLnRyYWRpbmd2aWV3LmNvbSIsInpoX0NOIjoiY24udHJhZGluZ3ZpZXcuY29tIiwiemhfVFciOiJ0dy50cmFkaW5ndmlldy5jb20iLCJjYV9FUyI6ImVzLnRyYWRpbmd2aWV3LmNvbSJ9OwoKCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyA9IHdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgfHwgW107CgkJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLnB1c2goJ3dpZGdldCcpOwoKCQl3aW5kb3cuVHJhZGluZ1ZpZXcgPSB3aW5kb3cuVHJhZGluZ1ZpZXcgfHwge307Cjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IjA5VFdrcWZKYXlVcVVLd1RQSjZkRWc9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7CgkJd2luZG93LkJVSUxEX1RJTUUgPSAiMjAyNi0wNy0yNFQxMTo0MDowOCI7CgkJd2luZG93LldFQlNPQ0tFVF9IT1NUID0gIndpZGdldGRhdGEudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1RfRk9SX1JFQ09OTkVDVCA9ICJ3aWRnZXRkYXRhLWJhY2t1cC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy51c2VyID0geyd1c2VybmFtZSc6ICdHdWVzdCcsICdmb2xsb3dpbmcnOiAnMCcsICdmb2xsb3dlcnMnOiAnMCcsICdpZ25vcmVfbGlzdCc6IHt9LCAnZG9fbm90X3RyYWNrJzogdHJ1ZX07PC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSIwOVRXa3FmSmF5VXFVS3dUUEo2ZEVnPT0iPmxldCBwYXJhbXMgPSB7fTsKCQkJY29uc3QgaHR0cFJlZyA9IG5ldyBSZWdFeHAoJ15odHRwKHMpPzovLycpOwoKCQkJdHJ5IHsKCQkJCXBhcmFtcyA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSk7CgkJCX0gY2F0Y2ggKGUpIHsKCQkJCXBhcmFtcyA9IHt9OwoJCQl9CgoJCQl3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1MgPSB7CgkJCQknd3NfYW5jZXN0b3Jfb3JpZ2luJzogd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyAmJiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCA/IHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnNbd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGggLSAxXS5yZXBsYWNlKGh0dHBSZWcsICcnKSA6IG51bGwsCgkJCQknd3NfcGFnZV91cmknOiBwYXJhbXNbJ3BhZ2UtdXJpJ10sCgkJCX07KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSx0PSExKXtjb25zdHtzZWFyY2hQYXJhbXM6bn09bmV3IFVSTChTdHJpbmcobG9jYXRpb24pKTtsZXQgcz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwX25ldyIpLG89InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcCIpO2lmKCF0KXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZSsiPSIsbj1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl7bGV0IHM9bltlXTtmb3IoOyIgIj09PXMuY2hhckF0KDApOylzPXMuc3Vic3RyaW5nKDEscy5sZW5ndGgpO2lmKDA9PT1zLmluZGV4T2YodCkpcmV0dXJuIHMuc3Vic3RyaW5nKHQubGVuZ3RoLHMubGVuZ3RoKX1yZXR1cm4gbnVsbH0oInR2X2FwcCIpfHwiIjtzfHw9WyJhbmRyb2lkIiwiYW5kcm9pZF9ucHMiXS5pbmNsdWRlcyhlKSxvfHw9ImlvcyI9PT1lfXJldHVybiEoIm5ldyIhPT1lJiYiYW55IiE9PWV8fCFzKXx8ISgibmV3Ij09PWV8fCFvKX1jb25zdCB0PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixuPXQmJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LHM9KHQmJm4mJndpbmRvdyx0JiYobnx8bmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSx0JiZ3aW5kb3cuY2hyb21lJiZ3aW5kb3cuY2hyb21lLnJ1bnRpbWUsdCYmd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJmaXJlZm94IiksdCYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHQmJkJvb2xlYW4obmF2aWdhdG9yLnZlbmRvcikmJm5hdmlnYXRvci52ZW5kb3IuaW5kZXhPZigiQXBwbGUiKT4tMSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkNyaU9TIikmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiRnhpT1MiKSx0JiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSxvPXQmJi9CbGFja0JlcnJ5L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxpPXQmJi9pUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkscj10JiYvT3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksYz10JiYoIk1hY0ludGVsIj09PW5hdmlnYXRvci5wbGF0Zm9ybSYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjF8fC9pUGFkLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGE9c3x8b3x8aXx8cjtjb25zdCBfPW5ldyBNYXA7ZnVuY3Rpb24gZCgpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHQ9d2luZG93LmxvY2F0aW9uLmhvc3Qsbj1gJHt0fSR7ZX1gO3JldHVybiBfLmhhcyhuKXx8Xy5zZXQobixmdW5jdGlvbihlLHQpe2NvbnN0IG49WyJed2lkZ2V0LWRvY3MiXTtmb3IoY29uc3QgZSBvZiBuKWlmKG5ldyBSZWdFeHAoZSkudGVzdCh0KSlyZXR1cm4hMDtjb25zdCBzPVsiXndpZGdldGVtYmVkLz8kIiwiXmNtZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0c3RhdGljLz8kIiwiXihbMC05YS16QS1aLV0rKT8vP21lZGl1bXdpZGdldGVtYmVkLz8kIiwiXnR3aXR0ZXItY2hhcnQvPyQiLCJedGVsZWdyYW0vY2hhcnQvPyQiLCJeZW1iZWQvKFswLTlhLXpBLVpdezh9KS8/JCIsIl53aWRnZXRwb3B1cC8/JCIsIl5leHRlbnNpb24vPyQiLCJeaWRlYS1wb3B1cC8/JCIsIl5ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXm1hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeZXZlbnRzd2lkZ2V0ZW1iZWQvPyQiLCJedGlja2Vyc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4Y3Jvc3NyYXRlc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4aGVhdG1hcHdpZGdldGVtYmVkLz8kIiwiXm1hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnNjcmVlbmVyd2lkZ2V0Lz8kIiwiXmNyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJedGVjaG5pY2FsLWFuYWx5c2lzLXdpZGdldC1lbWJlZC8kIiwiXnNpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3NpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeZW1iZWQtd2lkZ2V0LyhbMC05YS16QS1aLV0rKS8oKFswLTlhLXpBLVotXSspLyk/JCIsIl53aWRnZXQtZG9jcy8oWzAtOWEtekEtWi1dKykvKFswLTlhLXpBLVotL10rKT8kIl0sbz1lLnJlcGxhY2UoL15cLy8sIiIpO2xldCBpO2ZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7ZS0tKWlmKGk9bmV3IFJlZ0V4cChzW2VdKSxpLnRlc3QobykpcmV0dXJuITA7cmV0dXJuITF9KGUsdCkpLF8uZ2V0KG4pPz8hMX1jb25zdCBoPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2NvbnN0IGw9e0FuZHJvaWQ6KCk9PnMsQmxhY2tCZXJyeTooKT0+byxpT1M6KCk9PmksT3BlcmE6KCk9PnIsaXNJUGFkOigpPT5jLGFueTooKT0+YX07aC5pc01vYmlsZT1sLGgub25XaWRnZXQ9ZDtjb25zdCB1PSgpPT57fSxnPSJ+bX4iO2NsYXNzIG17Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuY29ubmVjdGVkPSExLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9iYXNlPWUsdGhpcy5fb3B0aW9ucz17dGltZW91dDp0LnRpbWVvdXR8fDJlNCxjb25uZWN0aW9uVHlwZTp0LmNvbm5lY3Rpb25UeXBlLGFwaUtleTp0LmFwaUtleX19Y29ubmVjdCgpe3RoaXMuX3NvY2tldD1uZXcgV2ViU29ja2V0KHRoaXMuX3ByZXBhcmVVcmwoKSksCnRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9ZT0+e2lmKCJzdHJpbmciIT10eXBlb2YgZS5kYXRhKXRocm93IG5ldyBUeXBlRXJyb3IoYFRoZSBXZWJTb2NrZXQgbWVzc2FnZSBzaG91bGQgYmUgYSBzdHJpbmcuIFJlY2lldmVkICR7T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUuZGF0YSl9YCk7dGhpcy5fb25EYXRhKGUuZGF0YSl9LHRoaXMuX3NvY2tldC5vbmNsb3NlPXRoaXMuX29uQ2xvc2UuYmluZCh0aGlzKSx0aGlzLl9zb2NrZXQub25lcnJvcj10aGlzLl9vbkVycm9yLmJpbmQodGhpcyl9c2VuZChlKXt0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5zZW5kKHRoaXMuX2VuY29kZShlKSl9ZGlzY29ubmVjdCgpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub25tZXNzYWdlPXUsdGhpcy5fc29ja2V0Lm9uY2xvc2U9dSx0aGlzLl9zb2NrZXQub25lcnJvcj11LHRoaXMuX3NvY2tldC5jbG9zZSgpKX1fY2xlYXJJZGxlVGltZW91dCgpe251bGwhPT10aGlzLl90aW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX3RpbWVvdXQ9bnVsbCl9X2VuY29kZShlKXtsZXQgdCxuPSIiO2NvbnN0IHM9QXJyYXkuaXNBcnJheShlKT9lOltlXSxvPXMubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bztlKyspdD1udWxsPT09c1tlXXx8dm9pZCAwPT09c1tlXT8iIjptLl9zdHJpbmdpZnkoc1tlXSksbis9Zyt0Lmxlbmd0aCtnK3Q7cmV0dXJuIG59X2RlY29kZShlKXtjb25zdCB0PVtdO2xldCBuLHM7ZG97aWYoZS5zdWJzdHJpbmcoMCwzKSE9PWcpcmV0dXJuIHQ7bj0iIixzPSIiO2NvbnN0IG89KGU9ZS5zdWJzdHJpbmcoMykpLmxlbmd0aDtmb3IobGV0IHQ9MDt0PG87dCsrKXtpZihzPU51bWJlcihlLnN1YnN0cmluZyh0LHQrMSkpLE51bWJlcihlLnN1YnN0cmluZyh0LHQrMSkpIT09cyl7ZT1lLnN1YnN0cmluZyhuLmxlbmd0aCszKSxuPU51bWJlcihuKTticmVha31uKz1zfXQucHVzaChlLnN1YnN0cmluZygwLG4pKSxlPWUuc3Vic3RyaW5nKG4pfXdoaWxlKCIiIT09ZSk7cmV0dXJuIHR9X29uRGF0YShlKXt0aGlzLl9zZXRUaW1lb3V0KCk7Y29uc3QgdD10aGlzLl9kZWNvZGUoZSksbj10Lmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXRoaXMuX29uTWVzc2FnZSh0W2VdKX1fc2V0VGltZW91dCgpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQodGhpcy5fb25UaW1lb3V0LmJpbmQodGhpcyksdGhpcy5fb3B0aW9ucy50aW1lb3V0KX1fb25UaW1lb3V0KCl7dGhpcy5kaXNjb25uZWN0KCksdGhpcy5fb25EaXNjb25uZWN0KHtjb2RlOjRlMyxyZWFzb246InNvY2tldC5pbyB0aW1lb3V0Iix3YXNDbGVhbjohMX0pfV9vbk1lc3NhZ2UoZSl7dGhpcy5zZXNzaW9uaWQ/dGhpcy5fY2hlY2tJZkhlYXJ0YmVhdChlKT90aGlzLl9vbkhlYXJ0YmVhdChlLnNsaWNlKDMpKTp0aGlzLl9jaGVja0lmSnNvbihlKT90aGlzLl9iYXNlLm9uTWVzc2FnZShKU09OLnBhcnNlKGUuc2xpY2UoMykpKTp0aGlzLl9iYXNlLm9uTWVzc2FnZShlKToodGhpcy5zZXNzaW9uaWQ9ZSx0aGlzLl9vbkNvbm5lY3QoKSl9X2NoZWNrSWZIZWFydGJlYXQoZSl7cmV0dXJuIHRoaXMuX2NoZWNrTWVzc2FnZVR5cGUoZSwiaCIpfV9jaGVja0lmSnNvbihlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJqIil9X2NoZWNrTWVzc2FnZVR5cGUoZSx0KXtyZXR1cm4gZS5zdWJzdHJpbmcoMCwzKT09PSJ+Iit0KyJ+In1fb25IZWFydGJlYXQoZSl7dGhpcy5zZW5kKCJ+aH4iK2UpfV9vbkNvbm5lY3QoKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLl9iYXNlLm9uQ29ubmVjdCgpfV9vbkRpc2Nvbm5lY3QoZSl7dGhpcy5fY2xlYXIoKSx0aGlzLl9iYXNlLm9uRGlzY29ubmVjdChlKSx0aGlzLnNlc3Npb25pZD1udWxsfV9jbGVhcigpe3RoaXMuY29ubmVjdGVkPSExfV9wcmVwYXJlVXJsKCl7Y29uc3QgdD1rKHRoaXMuX2Jhc2UuaG9zdCk7aWYodC5wYXRobmFtZSs9InNvY2tldC5pby93ZWJzb2NrZXQiLHQucHJvdG9jb2w9IndzczoiLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZnJvbSIsd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEsNTApKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImRhdGUiLHdpbmRvdy5CVUlMRF9USU1FfHwiIiksZSgiYW55IikmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiY2xpZW50IiwibW9iaWxlIiksdGhpcy5fb3B0aW9ucy5jb25uZWN0aW9uVHlwZSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ0eXBlIix0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlKSx3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1Mpe2NvbnN0e3dzX3BhZ2VfdXJpOmUsd3NfYW5jZXN0b3Jfb3JpZ2luOm59PXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUztlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInBhZ2UtdXJpIixlKSxuJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFuY2VzdG9yLW9yaWdpbiIsbil9Y29uc3Qgbj13aW5kb3cubG9jYXRpb24uc2VhcmNoLmluY2x1ZGVzKCJ3aWRnZXRfdG9rZW4iKXx8d2luZG93LmxvY2F0aW9uLmhhc2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpO3JldHVybiBkKCl8fG58fHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXV0aCIsInNlc3Npb25pZCIpLHZvaWQgMCE9PXRoaXMuX29wdGlvbnMuYXBpS2V5JiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLHRoaXMuX29wdGlvbnMuYXBpS2V5KSx0LmhyZWZ9X29uQ2xvc2UoZSl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX29uRGlzY29ubmVjdChlKX1fb25FcnJvcihlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fY2xlYXIoKSx0aGlzLl9iYXNlLmVtaXQoImVycm9yIixbZV0pLHRoaXMuc2Vzc2lvbmlkPW51bGx9c3RhdGljIF9zdHJpbmdpZnkoZSl7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk/In5qfiIrSlNPTi5zdHJpbmdpZnkoZSk6U3RyaW5nKGUpfX1jbGFzcyB3e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ob3N0PWUsCnRoaXMuX2Nvbm5lY3Rpbmc9ITEsdGhpcy5fZXZlbnRzPXt9LHRoaXMudHJhbnNwb3J0PXRoaXMuX2dldFRyYW5zcG9ydCh0KX1pc0Nvbm5lY3RlZCgpe3JldHVybiEhdGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmNvbm5lY3RlZH1pc0Nvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGluZ31jb25uZWN0KCl7dGhpcy5pc0Nvbm5lY3RlZCgpfHwodGhpcy5fY29ubmVjdGluZyYmdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fY29ubmVjdGluZz0hMCx0aGlzLnRyYW5zcG9ydC5jb25uZWN0KCkpfXNlbmQoZSl7dGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmNvbm5lY3RlZCYmdGhpcy50cmFuc3BvcnQuc2VuZChlKX1kaXNjb25uZWN0KCl7dGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmRpc2Nvbm5lY3QoKX1vbihlLHQpe2UgaW4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzW2VdPVtdKSx0aGlzLl9ldmVudHNbZV0ucHVzaCh0KX1vZmZBbGwoKXt0aGlzLl9ldmVudHM9e319b25NZXNzYWdlKGUpe3RoaXMuZW1pdCgibWVzc2FnZSIsW2VdKX1lbWl0KGUsdD1bXSl7aWYoZSBpbiB0aGlzLl9ldmVudHMpe2NvbnN0IG49dGhpcy5fZXZlbnRzW2VdLmNvbmNhdCgpLHM9bi5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxzO2UrKyluW2VdLmFwcGx5KHRoaXMsdCl9fW9uQ29ubmVjdCgpe3RoaXMuY2xlYXIoKSx0aGlzLmVtaXQoImNvbm5lY3QiKX1vbkRpc2Nvbm5lY3QoZSl7dGhpcy5lbWl0KCJkaXNjb25uZWN0IixbZV0pfWNsZWFyKCl7dGhpcy5fY29ubmVjdGluZz0hMX1fZ2V0VHJhbnNwb3J0KGUpe3JldHVybiBuZXcgbSh0aGlzLGUpfX1mdW5jdGlvbiBrKGUpe2NvbnN0IHQ9LTEhPT1lLmluZGV4T2YoIi8iKT9uZXcgVVJMKGUpOm5ldyBVUkwoIndzczovLyIrZSk7aWYoIndzczoiIT09dC5wcm90b2NvbCYmImh0dHBzOiIhPT10LnByb3RvY29sKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB3ZWJzb2NrZXQgYmFzZSAiK2UpO3JldHVybiB0LnBhdGhuYW1lLmVuZHNXaXRoKCIvIil8fCh0LnBhdGhuYW1lKz0iLyIpLHQuc2VhcmNoPSIiLHQudXNlcm5hbWU9IiIsdC5wYXNzd29yZD0iIix0fXZhciBwLGI7IWZ1bmN0aW9uKGUpe2VbZS5Ob3JtYWw9MzAwXT0iTm9ybWFsIixlW2UuQWZ0ZXJDbG9zZUV2ZW50PTVlM109IkFmdGVyQ2xvc2VFdmVudCJ9KHB8fChwPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkluZm89MF09IkluZm8iLGVbZS5Ob3JtYWw9MV09Ik5vcm1hbCIsZVtlLkRlYnVnPTJdPSJEZWJ1ZyIsZVtlLkVycm9yPTNdPSJFcnJvciJ9KGJ8fChiPXt9KSk7Y29uc3QgZj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmTnVtYmVyKHdpbmRvdy5URUxFTUVUUllfV1NfRVJST1JfTE9HU19USFJFU0hPTEQpfHwwO3ZhciB5OyFmdW5jdGlvbihlKXtlW2UuUGluZ0ludGVydmFsPTFlNF09IlBpbmdJbnRlcnZhbCIsZVtlLk1heFBpbmdzQ291bnQ9MTBdPSJNYXhQaW5nc0NvdW50IixlW2UuTWF4UmVkaXJlY3RzPTIwXT0iTWF4UmVkaXJlY3RzIixlW2UuTWF4UmVjb25uZWN0cz0yMF09Ik1heFJlY29ubmVjdHMifSh5fHwoeT17fSkpO2NsYXNzIFR7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLl9xdWV1ZVN0YWNrPVtdLHRoaXMuX2xvZ3NRdWV1ZT1bXSx0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWU9W10sdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9yZWRpcmVjdENvdW50PTAsdGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9bnVsbCx0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9bnVsbCx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PW51bGwsdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCx0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITEsdGhpcy5faW5pdGlhbEhvc3Q9dC5pbml0aWFsSG9zdHx8bnVsbCx0aGlzLl9zdWdnZXN0ZWRIb3N0PWUsdGhpcy5fcHJvSG9zdD10LnByb0hvc3QsdGhpcy5fcmVjb25uZWN0SG9zdD10LnJlY29ubmVjdEhvc3QsdGhpcy5fbm9SZWNvbm5lY3RBZnRlclRpbWVvdXQ9ITA9PT10Lm5vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0LHRoaXMuX2RhdGFSZXF1ZXN0VGltZW91dD10LmRhdGFSZXF1ZXN0VGltZW91dCx0aGlzLl9jb25uZWN0aW9uVHlwZT10LmNvbm5lY3Rpb25UeXBlLHRoaXMuX2FwaUtleT10LmFwaUtleSx0aGlzLl9kb0Nvbm5lY3QoKSx0LnBpbmdSZXF1aXJlZCYmLTE9PT13aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIm5vcGluZyIpJiZ0aGlzLl9zdGFydFBpbmcoKX1jb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpfXJlc2V0Q291bnRlcnMoKXt0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MH1zZXRMb2dnZXIoZSx0KXt0aGlzLl9sb2dnZXI9ZSx0aGlzLl9nZXRMb2dIaXN0b3J5PXQsdGhpcy5fZmx1c2hMb2dzKCl9c2V0VGVsZW1ldHJ5KGUpe3RoaXMuX3RlbGVtZXRyeT1lLHRoaXMuX3RlbGVtZXRyeS5yZXBvcnRTZW50LnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGVsZW1ldHJ5U2VudCksdGhpcy5fZmx1c2hUZWxlbWV0cnkoKX1vblJlY29ubmVjdChlKXt0aGlzLl9vblJlY29ubmVjdD1lfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfWlzQ29ubmVjdGluZygpe3JldHVybiEhdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCl9b24oZSx0KXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmKCJjb25uZWN0Ij09PWUmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpP3QoKToiZGlzY29ubmVjdCI9PT1lP3RoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3MucHVzaCh0KTp0aGlzLl9zb2NrZXQub24oZSx0KSwhMCl9Z2V0U2Vzc2lvbklkKCl7cmV0dXJuIHRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnRyYW5zcG9ydD90aGlzLl9zb2NrZXQudHJhbnNwb3J0LnNlc3Npb25pZDpudWxsfXNlbmQoZSl7cmV0dXJuIHRoaXMuaXNDb25uZWN0ZWQoKT8odGhpcy5fc29ja2V0LnNlbmQoZSksITApOih0aGlzLl9xdWV1ZU1lc3NhZ2UoZSksITEpfQpnZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkfWdldEhvc3QoKXtjb25zdCBlPXRoaXMuX3RyeUdldFByb0hvc3QoKTtyZXR1cm4gbnVsbCE9PWU/ZTp0aGlzLl9yZWNvbm5lY3RIb3N0JiZ0aGlzLl9yZWNvbm5lY3RDb3VudD4zP3RoaXMuX3JlY29ubmVjdEhvc3Q6dGhpcy5fc3VnZ2VzdGVkSG9zdH1nZXRSZWNvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudH1nZXRSZWRpcmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnR9Z2V0Q29ubmVjdGlvblN0YXJ0KCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25TdGFydH1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCksKHRoaXMuaXNDb25uZWN0ZWQoKXx8dGhpcy5pc0Nvbm5lY3RpbmcoKSkmJih0aGlzLl9wcm9wYWdhdGVEaXNjb25uZWN0KCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jbG9zZVNvY2tldCgpKX1mb3JiaWRDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSEwLHRoaXMuZGlzY29ubmVjdCgpfWFsbG93Q29ubmVjdGlvbigpe3RoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLmNvbm5lY3QoKX1pc01heFJlZGlyZWN0cygpe3JldHVybiB0aGlzLl9yZWRpcmVjdENvdW50Pj0yMH1pc01heFJlY29ubmVjdHMoKXtyZXR1cm4gdGhpcy5fcmVjb25uZWN0Q291bnQ+PTIwfWdldFBpbmdJbmZvKCl7cmV0dXJuIHRoaXMuX3BpbmdJbmZvfHxudWxsfWdldEFwaUtleSgpe3JldHVybiB0aGlzLl9hcGlLZXl9X3RyeUdldFByb0hvc3QoKXtyZXR1cm4gd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcub25DaGFydFBhZ2UmJiJiYXR0bGUiPT09d2luZG93LmVudmlyb25tZW50JiYhdGhpcy5fcmVkaXJlY3RDb3VudCYmLTE9PT13aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCJ3c19ob3N0Iik/dGhpcy5faW5pdGlhbEhvc3Q/dGhpcy5faW5pdGlhbEhvc3Q6dm9pZCAwIT09d2luZG93LnVzZXImJndpbmRvdy51c2VyLnByb19wbGFuP3RoaXMuX3Byb0hvc3R8fHRoaXMuX3N1Z2dlc3RlZEhvc3Q6bnVsbDpudWxsfV9xdWV1ZU1lc3NhZ2UoZSl7MD09PXRoaXMuX3F1ZXVlU3RhY2subGVuZ3RoJiZ0aGlzLl9sb2dNZXNzYWdlKDAsIlNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBRdWV1ZWQgYSBtZXNzYWdlIiksdGhpcy5fcXVldWVTdGFjay5wdXNoKGUpfV9wcm9jZXNzTWVzc2FnZVF1ZXVlKCl7MCE9PXRoaXMuX3F1ZXVlU3RhY2subGVuZ3RoJiYodGhpcy5fbG9nTWVzc2FnZSgwLCJQcm9jZXNzaW5nIHF1ZXVlZCBtZXNzYWdlcyIpLHRoaXMuX3F1ZXVlU3RhY2suZm9yRWFjaCh0aGlzLnNlbmQuYmluZCh0aGlzKSksdGhpcy5fbG9nTWVzc2FnZSgwLCJQcm9jZXNzZWQgIit0aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCsiIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjaz1bXSl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dHx8bnVsbCE9PXRoaXMuX3JlY29ubmVjdFRpbWVvdXR8fCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PXNldFRpbWVvdXQodGhpcy5fdHJ5UmVjb25uZWN0LmJpbmQodGhpcyksNWUzKSksdGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpO2xldCB0PSJkaXNjb25uZWN0IHNlc3Npb246Iit0aGlzLmdldFNlc3Npb25JZCgpO2UmJih0Kz0iLCBjb2RlOiIrZS5jb2RlKyIsIHJlYXNvbjoiK2UucmVhc29uLDEwMDU9PT1lLmNvZGUmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9jb2RlXzEwMDUiKSksdGhpcy5fbG9nTWVzc2FnZSgwLHQpLHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoZSksdGhpcy5fY2xvc2VTb2NrZXQoKSx0aGlzLl9xdWV1ZVN0YWNrPVtdfV9jbG9zZVNvY2tldCgpe251bGwhPT10aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub2ZmQWxsKCksdGhpcy5fc29ja2V0LmRpc2Nvbm5lY3QoKSx0aGlzLl9zb2NrZXQ9bnVsbCl9X2xvZ01lc3NhZ2UoZSx0KXtjb25zdCBuPXttZXRob2Q6ZSxtZXNzYWdlOnR9O3RoaXMuX2xvZ2dlcj90aGlzLl9mbHVzaExvZ01lc3NhZ2Uobik6KG4ubWVzc2FnZT1gWyR7KG5ldyBEYXRlKS50b0lTT1N0cmluZygpfV0gJHtuLm1lc3NhZ2V9YCx0aGlzLl9sb2dzUXVldWUucHVzaChuKSl9X2ZsdXNoTG9nTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UgMjp0aGlzLl9sb2dnZXIubG9nRGVidWcoZS5tZXNzYWdlKTticmVhaztjYXNlIDM6dGhpcy5fbG9nZ2VyLmxvZ0Vycm9yKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAwOnRoaXMuX2xvZ2dlci5sb2dJbmZvKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoZS5tZXNzYWdlKX19X2ZsdXNoTG9ncygpe3RoaXMuX2ZsdXNoTG9nTWVzc2FnZSh7bWV0aG9kOjEsbWVzc2FnZToibWVzc2FnZXMgZnJvbSBxdWV1ZS4gU3RhcnQuIn0pLHRoaXMuX2xvZ3NRdWV1ZS5mb3JFYWNoKChlPT57dGhpcy5fZmx1c2hMb2dNZXNzYWdlKGUpfSkpLHRoaXMuX2ZsdXNoTG9nTWVzc2FnZSh7bWV0aG9kOjEsbWVzc2FnZToibWVzc2FnZXMgZnJvbSBxdWV1ZS4gRW5kLiJ9KSx0aGlzLl9sb2dzUXVldWU9W119X3NlbmRUZWxlbWV0cnkoZSx0KXtjb25zdCBuPXtldmVudDplLHBhcmFtczp0fTt0aGlzLl90ZWxlbWV0cnk/dGhpcy5fZmx1c2hUZWxlbWV0cnlPYmplY3Qobik6dGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlLnB1c2gobil9X2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpe3RoaXMuX3RlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoZS5ldmVudCxlLnBhcmFtcywhMSl9X2ZsdXNoVGVsZW1ldHJ5KCl7dGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChlKX0pKSx0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWU9W119X2RvQ29ubmVjdCgpewp0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKXx8dGhpcy5fc29ja2V0LmlzQ29ubmVjdGluZygpKXx8KHRoaXMuX2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9ob3N0PXRoaXMuZ2V0SG9zdCgpLHRoaXMuX3NvY2tldD1uZXcgdyh0aGlzLl9ob3N0LHt0aW1lb3V0OnRoaXMuX2RhdGFSZXF1ZXN0VGltZW91dCxjb25uZWN0aW9uVHlwZTp0aGlzLl9jb25uZWN0aW9uVHlwZSxhcGlLZXk6dGhpcy5fYXBpS2V5fSksdGhpcy5fbG9nTWVzc2FnZSgwLCJDb25uZWN0aW5nIHRvICIrdGhpcy5faG9zdCksdGhpcy5fYmluZEV2ZW50cygpLHRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3M9W10sdGhpcy5fY29ubmVjdGlvblN0YXJ0PXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3NvY2tldC5jb25uZWN0KCkscGVyZm9ybWFuY2UubWFyaygiU1dTQyIse2RldGFpbDoiU3RhcnQgV2ViU29ja2V0IGNvbm5lY3Rpb24ifSksdGhpcy5fc29ja2V0Lm9uKCJjb25uZWN0IiwoKCk9PntwZXJmb3JtYW5jZS5tYXJrKCJFV1NDIix7ZGV0YWlsOiJFbmQgV2ViU29ja2V0IGNvbm5lY3Rpb24ifSkscGVyZm9ybWFuY2UubWVhc3VyZSgiV2ViU29ja2V0IGNvbm5lY3Rpb24gZGVsYXkiLCJTV1NDIiwiRVdTQyIpfSkpKX1fcHJvcGFnYXRlRGlzY29ubmVjdChlKXtjb25zdCB0PXRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3MubGVuZ3RoO2ZvcihsZXQgbj0wO248dDtuKyspdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrc1tuXShlfHx7fSl9X2JpbmRFdmVudHMoKXt0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e2NvbnN0IGU9dGhpcy5nZXRTZXNzaW9uSWQoKTtpZigic3RyaW5nIj09dHlwZW9mIGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZih0LnJlZGlyZWN0KXJldHVybiB0aGlzLl9yZWRpcmVjdENvdW50Kz0xLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9dC5yZWRpcmVjdCx0aGlzLmlzTWF4UmVkaXJlY3RzKCkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoInJlZGlyZWN0X2JhaWxvdXQiKSx2b2lkIHRoaXMuX3JlZGlyZWN0KCl9dGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX3Byb2Nlc3NNZXNzYWdlUXVldWUoKSx0aGlzLl9sb2dNZXNzYWdlKDAsImNvbm5lY3Qgc2Vzc2lvbjoiK2UpfSkpLHRoaXMuX3NvY2tldC5vbigiZGlzY29ubmVjdCIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiY2xvc2UiLHRoaXMuX29uRGlzY29ubmVjdC5iaW5kKHRoaXMpKSx0aGlzLl9zb2NrZXQub24oImVycm9yIiwoZT0+e3RoaXMuX2xvZ01lc3NhZ2UoMCxuZXcgRGF0ZSsiIHNlc3Npb246Iit0aGlzLmdldFNlc3Npb25JZCgpKyIgd2Vic29ja2V0IGVycm9yOiIrSlNPTi5zdHJpbmdpZnkoZSkpLHRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvciIpLHRoaXMuX2Vycm9yc0NvdW50KyssIXRoaXMuX2Vycm9yc0luZm9TZW50JiZ0aGlzLl9lcnJvcnNDb3VudD49ZiYmKHZvaWQgMCE9PXRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrJiYodGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yX2Nvbm5lY3Rfc3RhY2siLHt0ZXh0OnRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrfSksZGVsZXRlIHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrKSx2b2lkIDAhPT10aGlzLl9nZXRMb2dIaXN0b3J5JiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfbG9nIix7dGV4dDp0aGlzLl9nZXRMb2dIaXN0b3J5KDUwKS5qb2luKCJcbiIpfSksdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITApfSkpKX1fcmVkaXJlY3QoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZWNvbm5lY3RXaGVuT25saW5lKCl9X3RyeVJlY29ubmVjdCgpe3RoaXMuX3RyeUNvbm5lY3QoKSYmKHRoaXMuX3JlY29ubmVjdENvdW50Kz0xKX1fdHJ5Q29ubmVjdCgpe3JldHVybiF0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW4mJih0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSx0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjaz1uZXcgRXJyb3IoYFdlYlNvY2tldCBjb25uZWN0IHN0YWNrLiBJcyBjb25uZWN0ZWQ6ICR7dGhpcy5pc0Nvbm5lY3RlZCgpfS5gKS5zdGFja3x8IiIsIXRoaXMuaXNDb25uZWN0ZWQoKSYmKHRoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKSwhMCkpfV9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCl7dGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4mJih0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPW51bGwpfV9jbGVhclJlY29ubmVjdFRpbWVvdXQoKXtudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0KSx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PW51bGwpfV9yZWNvbm5lY3RXaGVuT25saW5lKCl7aWYobmF2aWdhdG9yLm9uTGluZSlyZXR1cm4gdGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1czogb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLl9kb0Nvbm5lY3QoKSx2b2lkKHRoaXMuX29uUmVjb25uZWN0JiZ0aGlzLl9vblJlY29ubmVjdCgpKTt0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvZmZsaW5lIC0gd2FpdCB1bnRpbCBvbmxpbmUiKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1mdW5jdGlvbihlKXtsZXQgdD1lO2NvbnN0IG49KCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixuKSx0JiZ0KCl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixuKSwoKT0+e3Q9bnVsbH19KCgoKT0+e3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXMgY2hhbmdlZCB0byBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHRoaXMuX29uUmVjb25uZWN0JiZ0aGlzLl9vblJlY29ubmVjdCgpfSkpfQpfb25UZWxlbWV0cnlTZW50KGUpeyJ3ZWJzb2NrZXRfZXJyb3IiaW4gZSYmKHRoaXMuX2Vycm9yc0NvdW50PTAsdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITEpfV9zdGFydFBpbmcoKXtpZih0aGlzLl9waW5nSW50ZXJ2YWxJZClyZXR1cm47Y29uc3QgZT1rKHRoaXMuZ2V0SG9zdCgpKTtlLnBhdGhuYW1lKz0icGluZyIsZS5wcm90b2NvbD0iaHR0cHM6IjtsZXQgdD0wLG49MDtjb25zdCBzPWU9Pnt0aGlzLl9waW5nSW5mbz10aGlzLl9waW5nSW5mb3x8e21heDowLG1pbjoxLzAsYXZnOjB9O2NvbnN0IHM9KG5ldyBEYXRlKS5nZXRUaW1lKCktZTtzPnRoaXMuX3BpbmdJbmZvLm1heCYmKHRoaXMuX3BpbmdJbmZvLm1heD1zKSxzPHRoaXMuX3BpbmdJbmZvLm1pbiYmKHRoaXMuX3BpbmdJbmZvLm1pbj1zKSx0Kz1zLG4rKyx0aGlzLl9waW5nSW5mby5hdmc9dC9uLG4+PTEwJiZ0aGlzLl9waW5nSW50ZXJ2YWxJZCYmKGNsZWFySW50ZXJ2YWwodGhpcy5fcGluZ0ludGVydmFsSWQpLGRlbGV0ZSB0aGlzLl9waW5nSW50ZXJ2YWxJZCl9O3RoaXMuX3BpbmdJbnRlcnZhbElkPXNldEludGVydmFsKCgoKT0+e2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCksbj1uZXcgWE1MSHR0cFJlcXVlc3Q7bi5vcGVuKCJHRVQiLGUsITApLG4uc2VuZCgpLG4ub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57bi5yZWFkeVN0YXRlPT09WE1MSHR0cFJlcXVlc3QuRE9ORSYmMjAwPT09bi5zdGF0dXMmJnModCl9fSksMWU0KX19CmNvbnN0IEM9IndpZGdldF91c2VyX3Rva2VuLSIsdj1KU09OLnBhcnNlKCd7ImFkeCI6IndpZGdldF91c2VyX3Rva2VuLWFkeCIsImFkeEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHhEIiwiYWdlbmNpYWxibWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWdlbmNpYWxibWNvbWJyIiwiYWxqYXppcmFjYXBpdGFsRCI6IndpZGdldF91c2VyX3Rva2VuLWFsamF6aXJhY2FwaXRhbEQiLCJhbGphemlyYWNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLWFsamF6aXJhY2FwaXRhbFJUIiwiYWxyYWpoaWNhcGl0YWxjb21EIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21EIiwiYWxyYWpoaWNhcGl0YWxjb21SVCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tUlQiLCJhbWJpdG8iOiJ3aWRnZXRfdXNlcl90b2tlbi1hbWJpdG8iLCJhcmVuYXh0cm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1hcmVuYXh0cm8iLCJhcnRlY2hlY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tQXJ0ZWNoZUQiLCJhdGxjYXBpdGFsIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXRsY2FwaXRhbCIsImJhbmtpcm9zcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iYW5raXJvc3J1IiwiYmJ2YWNoIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmJ2YWNoIiwiYmVla3Nncm91cCI6IndpZGdldF91c2VyX3Rva2VuLWJlZWtzZ3JvdXAiLCJiZWx1Z2Fncm91cHJ1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmVsdWdhZ3JvdXBydSIsImJpdmFjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1iaXZhY29tIiwiYmx1ZWZpZWxkIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmx1ZWZpZWxkIiwiYmx1ZWxpbmVmdXR1cmVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmx1ZWxpbmVmdXR1cmVzIiwiYm92ZXNwYSI6IndpZGdldF91c2VyX3Rva2VuLWJtZmJvdmVzcGFjb21iciIsImJ2YnJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYnZicm8iLCJieXRldHJhdmVsIjoid2lkZ2V0X3VzZXJfdG9rZW4tYnl0ZXRyYXZlbCIsImNib2VjYW5hZGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1jYm9lY2FuYWRhIiwiY2hhbXBpb25uYXRib3Vyc2UiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaGFtcGlvbm5hdGJvdXJzZSIsImNpbmNvZGlhcyI6IndpZGdldF91c2VyX3Rva2VuLWNpbmNvZGlhcyIsImNlb2NhRCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhRCIsImNlb2NhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYVJUIiwiY21jbWFya2V0cyI6IndpZGdldF91c2VyX3Rva2VuLWNtY21hcmtldHMiLCJjb3BlZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jb3BlZXMiLCJjc2VsayI6IndpZGdldF91c2VyX3Rva2VuLWNzZWxrIiwiZGFpbHlmeCI6IndpZGdldF91c2VyX3Rva2VuLWRhaWx5ZngiLCJkZWVwc2VhcmNoIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVlcHNlYXJjaCIsImRlcmF5YWhjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1kZXJheWFoY29tIiwiZGZtYWVEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVEIiwiZGZtYWVSVCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlUlQiLCJkaW5hcnNhRCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FEIiwiZGluYXJzYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYVJUIiwiZG9sYXJob3kiOiJ3aWRnZXRfdXNlcl90b2tlbi1kb2xhcmhveSIsImVhc3ludmVzdGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWFzeW52ZXN0Y29tYnIiLCJlZGFpbHkiOiJ3aWRnZXRfdXNlcl90b2tlbi1lZGFpbHkiLCJlbGVzcGFub2xjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbGVzcGFub2xjb20iLCJlbG9icmVyb2VzIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxvYnJlcm9lcyIsImVsbmFjaW9uYWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRWxOYWNpb25hbEQiLCJlbHBhaXNmaW5hbmNpZXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwYWlzZmluYW5jaWVybyIsImVscGVyaW9kaWNvZGVsYWVuZXJnaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBlcmlvZGljb2RlbGFlbmVyZ2lhIiwiZXVxdWVyb2ludmVzdGlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVxdWVyb2ludmVzdGlyY29tIiwiZXVyZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJleCIsImV1cm9maW5zIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyb2ZpbnMiLCJlcGUiOiJ3aWRnZXRfdXNlcl90b2tlbi1lcGUiLCJldXJvcGFwcmVzc2VzIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyb3BhcHJlc3NlcyIsImZpbmFuemFzRCI6IndpZGdldF91c2VyX3Rva2VuLUZpbmFuemFzRCIsImZvcmJlc2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZm9yYmVzY29tYnIiLCJnZW5pYWxpbnZlc3RpbWVudG9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tZ2VuaWFsaW52ZXN0aW1lbnRvcyIsImhlYWx0aGl0YWxpYSI6IndpZGdldF91c2VyX3Rva2VuLWhlYWx0aGl0YWxpYSIsImhlZ25hcm5vIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVnbmFybm8iLCJoaXBvdGVjYXJpb2NvbWFyIjoid2lkZ2V0X3VzZXJfdG9rZW4taGlwb3RlY2FyaW9jb21hciIsImlnY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4taWdjb20iLCJpbnZlc3RlZ2F0ZWNvdWsiOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnZlc3RlZ2F0ZWNvdWsiLCJpbnZlc3RvcGVkaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnZlc3RvcGVkaWEiLCJpbnRlZ3JhbHlhdGlyaW0iOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnRlZ3JhbHlhdGlyaW0iLCJpdnNncm91cCI6IndpZGdldF91c2VyX3Rva2VuLWl2c2dyb3VwIiwianNlY296YSI6IndpZGdldF91c2VyX3Rva2VuLWpzZWNvemEiLCJib2Vyc2VuemVpdHVuZyI6IndpZGdldF91c2VyX3Rva2VuLWJvZXJzZW56ZWl0dW5nIiwibGFpbmZvcm1hY2lvbmNvbSI6IndpZGdldF91c2VyX3Rva2VuLWxhaW5mb3JtYWNpb25jb20iLCJtYXJjb3BvbG9jb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1hcmNvcG9sb2NvbWJyIiwibWVyY2Fkb2ZpbmFuY2llcm9jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1tZXJjYWRvZmluYW5jaWVyb2NvbSIsIm1vZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb2V4IiwibW9uZXl0aW1lc2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uZXl0aW1lc2NvbWJyIiwibW9uaXRvcmRvbWVyY2Fkb0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25pdG9yZG9tZXJjYWRvRCIsIm15bmV0Y29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbXluZXRjb20iLCJuZWdvY2lvcyI6IndpZGdldF91c2VyX3Rva2VuLW5lZ29jaW9zIiwiTkdYIjoid2lkZ2V0X3VzZXJfdG9rZW4tTkdYIiwiTm90aWNpYXNhZ3JpY29sYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ub3RpY2lhc2Fncmljb2xhRCIsIm5vbW1vbWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ub21tb21hIiwibnNlY29rciI6IndpZGdldF91c2VyX3Rva2VuLW5zZWNva3IiLCJva2RpYXJpbyI6IndpZGdldF91c2VyX3Rva2VuLW9rZGlhcmlvIiwicGFuYWZyaWNhbnJlc291cmNlc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXBhbmFmcmljYW5yZXNvdXJjZXNjb20iLCJwc2UiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2UiLCJwb2RlcjM2MCI6IndpZGdldF91c2VyX3Rva2VuLXBvZGVyMzYwIiwicHNlRCI6IndpZGdldF91c2VyX3Rva2VuLXBzZUQiLCJyaXlhZGhjYXBpdGFsRCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxEIiwicml5YWRoY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbFJUIiwicWVjb21xYSI6IndpZGdldF91c2VyX3Rva2VuLXFlY29tcWEiLCJzYW1vbGV0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2Ftb2xldCIsInNlZWluZ21hY2hpbmVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2VlaW5nbWFjaGluZXNjb20iLCJzZXVkaW5oZWlybyI6IndpZGdldF91c2VyX3Rva2VuLXNldWRpbmhlaXJvIiwic29mdHdhcmVhZyI6IndpZGdldF91c2VyX3Rva2VuLXNvZnR3YXJlYWciLCJzb2dlY2xhaXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2dlY2xhaXIiLCJzZ2NvbXBhbnlpdCI6IndpZGdldF91c2VyX3Rva2VuLXNnY29tcGFueWl0Iiwic2hhcmVqdW5jdGlvbiI6IndpZGdldF91c2VyX3Rva2VuLXNoYXJlanVuY3Rpb24iLCJzbWFydGxhYi1jdXN0b20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNtYXJ0bGFiIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzcGFjZW1vbmV5Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zcGFjZW1vbmV5Y29tYnIiLCJzdG9uZXh3ZGciOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG9uZXjCoy0hd3d3LnN0b25leC5jb20iLCJzdG94aW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG94aW8iLCJzdG9uZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG9uZXgiLCJ0b3JvaW52ZXN0aW1lbnRvc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXRvcm9pbnZlc3RpbWVudG9zY29tIiwidGhlY3NlY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdGhlY3NlY29tIiwidHJhZGVyc2NsdWJicmFzaWwiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbCIsInRyYWRlcnNjbHViYnJhc2lsRCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsRCIsInRyYWRpbmd2aWV3Ijoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGluZ3ZpZXciLCJ4dG9vbHMiOiJ3aWRnZXRfdXNlcl90b2tlbi14dG9vbHMiLCJ0d2l0dGVyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHdpdHRlciIsInZlbG9jaXR5Y29tcG9zaXRlc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXZlbG9jaXR5Y29tcG9zaXRlc2NvbSIsInZvY2VzYWFicmlsY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi12b2Nlc2FhYnJpbGNvbWJyIiwid2VhbHRoc2ltcGxlIjoid2lkZ2V0X3VzZXJfdG9rZW4td2VhbHRoc2ltcGxlwqMtIW15LndlYWx0aHNpbXBsZS5jb20iLCJ3b3JsZGNoZXNzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4td29ybGRjaGVzc2NvbSIsInhDcnR5SmtzcCI6IndpZGdldF91c2VyX3Rva2VuLXhDcnR5SmtzcCIsInhwaWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4teHBpY29tYnIifScpW3dpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3LndpZGdldEN1c3RvbWVyfHwiIl18fCIiLFM9di5zdGFydHNXaXRoKEMpP3Yuc3Vic3RyaW5nKDE4KToidHJhZGluZ3ZpZXciCjt3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbj1uZXcgVCh3aW5kb3cuV0VCU09DS0VUX0hPU1Qse3BpbmdSZXF1aXJlZDp3aW5kb3cuV1NfSE9TVF9QSU5HX1JFUVVJUkVELHByb0hvc3Q6d2luZG93LldFQlNPQ0tFVF9QUk9fSE9TVCxyZWNvbm5lY3RIb3N0OndpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNULGluaXRpYWxIb3N0OndpbmRvdy5XRUJTT0NLRVRfSU5JVElBTF9IT1NULGNvbm5lY3Rpb25UeXBlOndpbmRvdy5XRUJTT0NLRVRfQ09OTkVDVElPTl9UWVBFLGFwaUtleTpTfSksd2luZG93LldTQmFja2VuZENvbm5lY3Rpb25DdG9yPVR9KSgpOwoJPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+Cgk8c2NyaXB0IG5vbmNlPSIwOVRXa3FmSmF5VXFVS3dUUEo2ZEVnPT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCB0PTEwMTk7dmFyIGUscyxvLGEsZDshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0oZXx8KGU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0oc3x8KHM9e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KG98fChvPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGF8fChhPXt9KSksZnVuY3Rpb24odCl7dC5UaGVtZUNsYXNzUHJlZml4PSJ0aGVtZS0ifShkfHwoZD17fSkpO2NvbnN0IGM9d2luZG93O2MuaW5pdERhdGE9Yy5pbml0RGF0YXx8e307bGV0IGk9Yy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cyYmKGk9ey4uLmMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsLi4uaX0pLHZvaWQgMCE9PWkpe2lmKHZvaWQgMCE9PWkuY29sb3JUaGVtZSYmZnVuY3Rpb24odCxlPXdpbmRvdyl7Y29uc3Qgcz0idGhlbWUtIit0LG89ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCB0IG9mIEFycmF5LmZyb20obykpdC5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmdCE9PXMmJm8ucmVtb3ZlKHQpO28uYWRkKHMpLGUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9dH0oaS5jb2xvclRoZW1lKSwoaS5pc1RyYW5zcGFyZW50fHxpLnRyYW5zcGFyZW5jeSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy10cmFuc3BhcmVudCIpLHZvaWQgMCE9PWkuZGlzcGxheU1vZGUmJmZ1bmN0aW9uKHMsbyl7aWYobz09PWUuQWRhcHRpdmUpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEoYChtYXgtd2lkdGg6ICR7dH1weClgKSxvPSgpPT57cy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsIWUubWF0Y2hlcykscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsZS5tYXRjaGVzKX07bygpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixvKX1lbHNlIHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLG89PT1lLlJlZ3VsYXIpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLG89PT1lLkNvbXBhY3QpfShkb2N1bWVudC5ib2R5LGkuZGlzcGxheU1vZGUpLGkuYm9keUNsYXNzZXMpZm9yKGNvbnN0IHQgb2YgaS5ib2R5Q2xhc3Nlcylkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQodCk7aS5ib2R5X2NsYXNzJiZkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoaS5ib2R5X2NsYXNzKSxpLmJvZHlJZCYmKGRvY3VtZW50LmJvZHkuaWQ9aS5ib2R5SWQpfX0pKCk7Cgk8L3NjcmlwdD4KCgk8ZGl2IGlkPSJ3aWRnZXQtbWFya2V0LW92ZXJ2aWV3LWNvbnRhaW5lciIgY2xhc3M9ImpzLXdhdGNobGlzdC13aWRnZXQiPjwvZGl2PgoKPHNjcmlwdCBub25jZT0iMDlUV2txZkpheVVxVUt3VFBKNmRFZz09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"time_used":24,"timings":{"blocked":-1,"dns":1,"connect":3,"send":0,"wait":2,"receive":0,"ssl":16},"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.075Z","timestamp":1785120763075,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 14354158a77bffec40c52109967303ac\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-07-27T05:15:36.953007Z","times_seen":2425,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUVpDcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVFaQ3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LW1hcmtldC1zdGF0dXNfX2RvdHtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1pbnZhbGlkIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1yZXBsYXl7Y29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXl7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1hY3RpdmUpfS50di1tYXJrZXQtc3RhdHVzLS1uaWdodHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0udHYtbWFya2V0LXN0YXR1cy0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uX193aXRoSWNvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpfX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb25fX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7bWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcHJlLjdkMzdkY2NhMjM0ODMzZDEyYzQzLnN2Zyk7bWFzazp1cmwobWFya2V0LXByZS43ZDM3ZGNjYTIzNDgzM2QxMmM0My5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1wb3N0LW1hcmtldF9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7bWFzazp1cmwobWFya2V0LXBvc3QuOWYyYzViZmRhOTQwNWEyOTFmOTAuc3ZnKTstd2Via2l0LW1hc2stcG9zaXRpb246Y2VudGVyO21hc2stcG9zaXRpb246Y2VudGVyOy13ZWJraXQtbWFzay1zaXplOmNvdmVyO21hc2stc2l6ZTpjb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0taG9saWRheV9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKX19LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXlfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtaG9saWRheS40M2NhMzNkNjkwOTM5YjkzOTc4Ni5zdmcpO21hc2s6dXJsKG1hcmtldC1ob2xpZGF5LjQzY2EzM2Q2OTA5MzliOTM5Nzg2LnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29ue2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O3dpZHRoOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZF9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX19LnR2LW1hcmtldC1zdGF0dXMtLWRlbGlzdGVkX193aXRoSWNvbjphZnRlcntib3JkZXItcmFkaXVzOjZweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7b3BhY2l0eToxNSU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpO21hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tbmlnaHRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9fS50di1tYXJrZXQtc3RhdHVzLS1uaWdodF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcG9zdC45ZjJjNWJmZGE5NDA1YTI5MWY5MC5zdmcpO21hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOjB9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1wb3N0LW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbiAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLWludmFsaWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taG9saWRheXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1ob2xpZGF5IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHR7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnR7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlcnttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luOmF1dG8gM3B4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXN0aWNreS1zeW1ib2wtaGVhZGVyLC50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLXRhcGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfS50di1tYXJrZXQtc3RhdHVzLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LW1hcmtldC1zdGF0dXMtLWZvci10aWNrZXItdGFwZTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1jaGFydHtoZWlnaHQ6NnB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246MXB4O3dpZHRoOjZweH0udHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWNhcmR7aGVpZ2h0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDo2cHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luLWJvdHRvbTozcHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1sYXN0e2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGV7aGVpZ2h0OjRweDt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItY2hhcnR7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1jaGFydDpkaXIocnRsKXttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1jYXJkLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWxhc3QsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGUsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itd2F0Y2gtbGlzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXIsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWNhcmQsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItbGFzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItdGFwZSwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci13YXRjaC1saXN0e2Rpc3BsYXk6bm9uZX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQ6ZGlyKHJ0bCl7bWFyZ2luLWlubGluZS1zdGFydDowfS50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQtLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldF9fd2l0aEljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0OmFmdGVye2Rpc3BsYXk6bm9uZX0="}},"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/91471.b29974fd0c9e082b675f.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.589Z","timestamp":1785120763589,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/91471.b29974fd0c9e082b675f.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/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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=chart\u0026theme=dark\u0026coin_id=859\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":"subdocument","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.906Z","timestamp":1785120761906,"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=chart\u0026theme=dark\u0026coin_id=859\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: 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://360trustwealthavenue.stglen.com/\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: 313652\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 02:52:41 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::dzvkd-1785120761914-10beba4659b4\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\nserver-timing: cfCacheStatus;desc=\"DYNAMIC\", cfEdge;dur=2,cfOrigin;dur=19, cfExtPri\r\ncontent-encoding: zstd\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=PWTZdiujD3msqIdczMySr2QrCavkOHPdPxLxvo6RWJhFwjishmL7bDTDSqe33wAMfgiMavffOl6sfpwli0MgQjXT5DNkEO0yA0UJg%2FnARgggt6B3wvLSm5nIzT6l\"}]}\r\ncf-ray: a2185979ebdf0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\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"]},{"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"]}],"data":{"size":264025,"size_decoded":33883,"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-27T05:31:38.793698Z","times_seen":491,"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":30,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":27,"receive":3,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.928Z","timestamp":1785120761928,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 549\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 02:52:41 GMT\r\netag: W/\"+VKwgPrVCNZBziLO532Qg+nkID4=\"\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::dzvkd-1785120761935-6f8211027bfa\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=VCyRF6FUQUwg7ULXWN7WXKqi63J3QsFNoWa0TfVp3AELyluaQ9agdHpxtcu1%2FgbHt42BB0ZEXsKU7bCiFYWxw3r9GMWvyYZ%2BZ2r2hUShUbq8REA2jIwHBgQTHRF7\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a218597a0be00daa-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":22271,"size_decoded":7593,"mime_type":"application/json","magic":"JSON text data","md5":"a27a379921e72ab236740423582388d3","sha1":"f952b080fad508d641ce22cee77d9083e9e4203e","sha256":"df896f65728556b0549e77e8369c22583014b631073b3aaff745d9a2a9aeeff4","sha512":"8a6d0def9d3f790ba1d1e289f94e9f61228094d93f577c9cdb8d12bee6e50a124625aaca655c243a381ae568b4712462d122db23c7b5d071f9dbb3600e5e80c2","ssdeep":"192:KvPp+zpuAD5OfLiO/y947kqA8q1hDdVULMQGx527S:KvB+1uADgfLz+D1BP+MD2G","tlshash":"b1a2ff8709305cefc67052b879a77b6c582e66ca8cee8c4681ddce9d04686f7131af4d","first_seen":"2026-07-27T02:47:36.051636Z","last_seen":"2026-07-27T02:53:32.395554Z","times_seen":3,"resource_available":false,"data":"eyJkYXRhIjpbeyJpZCI6MSwic2x1ZyI6ImJpdGNvaW4iLCJzeW1ib2wiOiJCVEMiLCJuYW1lIjoiQml0Y29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzEucG5nIiwicHJpY2VfdXNkIjo2NTE2OS4yODEwODI1MTkzMywibWFya2V0X2NhcCI6MTMwNzQxMDYwNjc4OC42MDUyLCJ2b2x1bWVfMjRoIjoxNTQxODM1NTM4Mi4zNjcyMzUsInJhbmsiOjEsInBlcmNlbnRfY2hhbmdlXzFoIjowLjIzOTA3NjUyLCJwZXJjZW50X2NoYW5nZV8yNGgiOjEuMjE4NzIwMjIsInBlcmNlbnRfY2hhbmdlXzdkIjowLjcxMTgxMDA4LCJjaXJjdWxhdGluZ19zdXBwbHkiOjIwMDYxNzYyLCJ0b3RhbF9zdXBwbHkiOjIwMDYxNzYyLCJtYXhfc3VwcGx5IjoyMTAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxMDI3LCJzbHVnIjoiZXRoZXJldW0iLCJzeW1ib2wiOiJFVEgiLCJuYW1lIjoiRXRoZXJldW0iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xMDI3LnBuZyIsInByaWNlX3VzZCI6MTk0NS42ODA1MDE5OTM1NzM3LCJtYXJrZXRfY2FwIjoyMzQ4MDk4NTE1MDguNTc0NSwidm9sdW1lXzI0aCI6NzQ3MDcyMDQ3Ni40NTQ4MDQsInJhbmsiOjIsInBlcmNlbnRfY2hhbmdlXzFoIjowLjI1NzY3NTY1LCJwZXJjZW50X2NoYW5nZV8yNGgiOjMuNjc5NDU0MiwicGVyY2VudF9jaGFuZ2VfN2QiOjMuODYwNzEwNzYsImNpcmN1bGF0aW5nX3N1cHBseSI6MTIwNjgyNjM1Ljg1MzEwMzcxLCJ0b3RhbF9zdXBwbHkiOjEyMDY4MjYzNS44NTMxMDM3MSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo4MjUsInNsdWciOiJ0ZXRoZXIiLCJzeW1ib2wiOiJVU0RUIiwibmFtZSI6IlRldGhlciBVU0R0IiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvODI1LnBuZyIsInByaWNlX3VzZCI6MC45OTkwNTE4NTU1Nzc4NTI0LCJtYXJrZXRfY2FwIjoxODM5NTIxNDMyNDEuOTUwNzQsInZvbHVtZV8yNGgiOjM4NzM1MjYyODk5Ljg0MjM4NCwicmFuayI6MywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAxMTI5NTI3LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjAwMDEwNTgsInBlcmNlbnRfY2hhbmdlXzdkIjotMC4wMTc3MDg3OCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxODQxMjY3MjE5NjYuMzUxNDcsInRvdGFsX3N1cHBseSI6MTg5MTA2NzI0MDE4LjYzOTYsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTgzOSwic2x1ZyI6ImJuYiIsInN5bWJvbCI6IkJOQiIsIm5hbWUiOiJCTkIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xODM5LnBuZyIsInByaWNlX3VzZCI6NTcyLjY0Mzg0ODE5MTExODgsIm1hcmtldF9jYXAiOjc2MjU2NDkxMTYxLjkyMjUsInZvbHVtZV8yNGgiOjgxNDc1NDIxOS40ODc2MiwicmFuayI6NCwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMTU0MTMyNDIsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC41OTQzNDgwNSwicGVyY2VudF9jaGFuZ2VfN2QiOjAuNTE5OTcyODgsImNpcmN1bGF0aW5nX3N1cHBseSI6MTMzMTY1NjUxLjU3LCJ0b3RhbF9zdXBwbHkiOjEzMzE2NTY1MS41NywibWF4X3N1cHBseSI6MTMzMTY1NjUxLjU3LCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM0MDgsInNsdWciOiJ1c2QtY29pbiIsInN5bWJvbCI6IlVTREMiLCJuYW1lIjoiVVNEQyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM0MDgucG5nIiwicHJpY2VfdXNkIjowLjk5OTkzNjk2ODI2Mzc1OTQsIm1hcmtldF9jYXAiOjcyNTczOTcxNjk5LjA3MjA3LCJ2b2x1bWVfMjRoIjo2MjgxODM0MjY4LjE1NzgzLCJyYW5rIjo1LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDAzODY2OTEsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDAwNDUzMTgsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAwNDExOTUsImNpcmN1bGF0aW5nX3N1cHBseSI6NzI1Nzg1NDY0NTAuODY4NjgsInRvdGFsX3N1cHBseSI6NzI1Nzg1NDY0NTAuODY4NjgsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NTIsInNsdWciOiJ4cnAiLCJzeW1ib2wiOiJYUlAiLCJuYW1lIjoiWFJQIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTIucG5nIiwicHJpY2VfdXNkIjoxLjEwNTAyNjM1MTU1NTQxMzUsIm1hcmtldF9jYXAiOjY5MTAwOTEzMzU5LjI1NjEsInZvbHVtZV8yNGgiOjY2NDk2Njg2OS4wMDIzNjUsInJhbmsiOjYsInBlcmNlbnRfY2hhbmdlXzFoIjowLjE0MTkyMjQxLCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuNjA0MTgxMzksInBlcmNlbnRfY2hhbmdlXzdkIjowLjU2MjE1MzQsImNpcmN1bGF0aW5nX3N1cHBseSI6NjI1MzMyNzE5NTUsInRvdGFsX3N1cHBseSI6OTk5ODU2MzU3MDcsIm1heF9zdXBwbHkiOjEwMDAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo1NDI2LCJzbHVnIjoic29sYW5hIiwic3ltYm9sIjoiU09MIiwibmFtZSI6IlNvbGFuYSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzU0MjYucG5nIiwicHJpY2VfdXNkIjo3Ni40NTkxMDM5OTEzMTc5OSwibWFya2V0X2NhcCI6NDQ1NzM5ODYxMzUuMzQ3MTksInZvbHVtZV8yNGgiOjExNDg5MTY1OTcuNjQ4MjA2NywicmFuayI6NywicGVyY2VudF9jaGFuZ2VfMWgiOjAuNTU2NzY0OTksInBlcmNlbnRfY2hhbmdlXzI0aCI6Mi4zNTA3MzI5OSwicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjIyMjIxMDc4LCJjaXJjdWxhdGluZ19zdXBwbHkiOjU4Mjk3ODEzOC43NDk5NDY4LCJ0b3RhbF9zdXBwbHkiOjYzMDk5NDQ4My45NjQ4MDE5LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjE5NTgsInNsdWciOiJ0cm9uIiwic3ltYm9sIjoiVFJYIiwibmFtZSI6IlRST04iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xOTU4LnBuZyIsInByaWNlX3VzZCI6MC4zMzEyMjEwNDI4Mzc0MzM0LCJtYXJrZXRfY2FwIjozMTQyNzUxNzI1MC4zMDIyNzcsInZvbHVtZV8yNGgiOjMxMTQ3NzA0My45NzIyNzg4LCJyYW5rIjo4LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDgxODgyOTcsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wNDYyODQyLCJwZXJjZW50X2NoYW5nZV83ZCI6MS40NTExNDA5MiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo5NDg4MzgxODMxMy44MjM3OSwidG90YWxfc3VwcGx5Ijo5NDg4Mzc5OTg4My4zOTEwOCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozMjE5Niwic2x1ZyI6Imh5cGVybGlxdWlkIiwic3ltYm9sIjoiSFlQRSIsIm5hbWUiOiJIeXBlcmxpcXVpZCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzMyMTk2LnBuZyIsInByaWNlX3VzZCI6NTkuNDcwMzE4OTY4OTQ1NTMsIm1hcmtldF9jYXAiOjE1MDI3Mjc0Mjg1LjMwMTg1OSwidm9sdW1lXzI0aCI6MTkyNTQ4MjQ5Ljk2MTU2NzIyLCJyYW5rIjo5LCJwZXJjZW50X2NoYW5nZV8xaCI6MC41NTExMzc5NywicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjg3MzkxNDk5LCJwZXJjZW50X2NoYW5nZV83ZCI6LTEuNTM5NzcxMzksImNpcmN1bGF0aW5nX3N1cHBseSI6MjUyNjg1MjgxLjQyODM1MTk0LCJ0b3RhbF9zdXBwbHkiOjk1MzA0NzY0NC4zMDQ5MDM0LCJtYXhfc3VwcGx5Ijo5NTMwNDc2NDQuMzA0OTAzNCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo3NCwic2x1ZyI6ImRvZ2Vjb2luIiwic3ltYm9sIjoiRE9HRSIsIm5hbWUiOiJEb2dlY29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0Lzc0LnBuZyIsInByaWNlX3VzZCI6MC4wNzI2MzM1MjMwNjMyODY1LCJtYXJrZXRfY2FwIjoxMjQxNjUwOTI0Mi4yNjIzOTYsInZvbHVtZV8yNGgiOjU5MjE3ODMzMi44NjY0MDQsInJhbmsiOjEwLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMDcxNjYxNywicGVyY2VudF9jaGFuZ2VfMjRoIjowLjIyMzQ0OTQxLCJwZXJjZW50X2NoYW5nZV83ZCI6MC4yMzMwMjY2NSwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNzA5NDczNjMxMjYuNTc5MSwidG90YWxfc3VwcGx5IjoxNzA5NDczNjMxMjYuNTc5MSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozOTU3LCJzbHVnIjoidW51cy1zZWQtbGVvIiwic3ltYm9sIjoiTEVPIiwibmFtZSI6IlVOVVMgU0VEIExFTyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM5NTcucG5nIiwicHJpY2VfdXNkIjo5LjcxNzQ5ODIzNDc2NDQ0LCJtYXJrZXRfY2FwIjo4OTQxMjEzMzEyLjE3MTUwMSwidm9sdW1lXzI0aCI6MTk5MjU1Ljc0NjE1Nzc4LCJyYW5rIjoxMSwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAxMTYwNzM4LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMDk0MzgwMDUsInBlcmNlbnRfY2hhbmdlXzdkIjotMC4wNDA1MDgyOCwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo5MjAxMTQ3MzQuOSwidG90YWxfc3VwcGx5Ijo5ODUyMzk1MDQsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTQzNywic2x1ZyI6InpjYXNoIiwic3ltYm9sIjoiWkVDIiwibmFtZSI6IlpjYXNoIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTQzNy5wbmciLCJwcmljZV91c2QiOjUwMy4wNzU5MzQzNDgwMzc4MywibWFya2V0X2NhcCI6ODQ0NzEwMjE5MS4yNDA0OTksInZvbHVtZV8yNGgiOjMyNTQ4ODgxMy4wNjIzNDAxLCJyYW5rIjoxMiwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMTg4NDEzNTIsInBlcmNlbnRfY2hhbmdlXzI0aCI6My42NTUyMTA3NywicGVyY2VudF9jaGFuZ2VfN2QiOi02LjI2MDIxNTc5LCJjaXJjdWxhdGluZ19zdXBwbHkiOjE2NzkwOTA4LjkxNTU0NDgsInRvdGFsX3N1cHBseSI6MTY3OTA5MDguOTE1NTQ0OCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzI4LCJzbHVnIjoibW9uZXJvIiwic3ltYm9sIjoiWE1SIiwibmFtZSI6Ik1vbmVybyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzMyOC5wbmciLCJwcmljZV91c2QiOjM1MC42MDA5NzY5MzU3NTE0LCJtYXJrZXRfY2FwIjo2NTg1NDIzODc3LjY2NTQyNiwidm9sdW1lXzI0aCI6NzAxMDQwMjYuMzgwMDQ3NDEsInJhbmsiOjEzLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDMwMzU5MTEsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTQuOTI3NDg3MDYsInBlcmNlbnRfY2hhbmdlXzdkIjo1LjAzNDAzMzE3LCJjaXJjdWxhdGluZ19zdXBwbHkiOjE4NzgzMjQ0LjUxNjk0OTAzLCJ0b3RhbF9zdXBwbHkiOjE4NzgzMjQ0LjUxNjk0OTAzLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjE5NzUsInNsdWciOiJjaGFpbmxpbmsiLCJzeW1ib2wiOiJMSU5LIiwibmFtZSI6IkNoYWlubGluayIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzE5NzUucG5nIiwicHJpY2VfdXNkIjo4Ljc0MjEwNTQyNTE2MDM1OSwibWFya2V0X2NhcCI6NjUzOTk2ODgxMC4wMTM2ODIsInZvbHVtZV8yNGgiOjIyNjk5NDQzOC40NzUzOTMsInJhbmsiOjE0LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMjMxNjE4NTEsInBlcmNlbnRfY2hhbmdlXzI0aCI6NC4xOTI0MTk3MywicGVyY2VudF9jaGFuZ2VfN2QiOjMuNDk0MDA0MjUsImNpcmN1bGF0aW5nX3N1cHBseSI6NzQ4MDk5OTcwLjQyNDg4NCwidG90YWxfc3VwcGx5IjoxMDAwMDAwMDAwLCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjUxMiwic2x1ZyI6InN0ZWxsYXIiLCJzeW1ib2wiOiJYTE0iLCJuYW1lIjoiU3RlbGxhciIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzUxMi5wbmciLCJwcmljZV91c2QiOjAuMTgxMTc2NjM0MzA0NDE5MiwibWFya2V0X2NhcCI6NjE5NTQ1NzM4My44NzkzNzgsInZvbHVtZV8yNGgiOjg2NjMwMTI5LjkzNjM5MzE0LCJyYW5rIjoxNSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMjI3NDYwNjksInBlcmNlbnRfY2hhbmdlXzI0aCI6Mi40NDU2MDg5NiwicGVyY2VudF9jaGFuZ2VfN2QiOi0zLjQzODk1NTk4LCJjaXJjdWxhdGluZ19zdXBwbHkiOjM0MTk1Njc1NDM5LjQxNDMyNiwidG90YWxfc3VwcGx5Ijo1MDAwMTc4NjgzOS45MTI0NzYsIm1heF9zdXBwbHkiOjUwMDAxODA2ODEyLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjIwMTAsInNsdWciOiJjYXJkYW5vIiwic3ltYm9sIjoiQURBIiwibmFtZSI6IkNhcmRhbm8iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yMDEwLnBuZyIsInByaWNlX3VzZCI6MC4xNjQ2NDYwODQ2ODk1MDMyNiwibWFya2V0X2NhcCI6NjAwNzkxOTA2OC44OTQ5OCwidm9sdW1lXzI0aCI6MTM3MzM5NzMxLjAwMzM4MzI4LCJyYW5rIjoxNiwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAyODkyMjc1LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjE1NDA5ODkyLCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuNTQ1OTA0NDgsImNpcmN1bGF0aW5nX3N1cHBseSI6MzY0ODk4OTk0MTEuOTcxODksInRvdGFsX3N1cHBseSI6NDQ5OTMyMDI2NTIuMzg2NTY2LCJtYXhfc3VwcGx5Ijo0NTAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozNzI2Mywic2x1ZyI6ImNhbnRvbi1uZXR3b3JrIiwic3ltYm9sIjoiQ0MiLCJuYW1lIjoiQ2FudG9uIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzcyNjMucG5nIiwicHJpY2VfdXNkIjowLjEyNDE1MzAyMjE2MjQ0MzMyLCJtYXJrZXRfY2FwIjo0ODYyMTgzMzgzLjA3OTc2Niwidm9sdW1lXzI0aCI6MTA1NjY2MjkuNjM5NTg2MzYsInJhbmsiOjE3LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMTQzNzEwMDMsInBlcmNlbnRfY2hhbmdlXzI0aCI6Mi4wMDYzNDQ0MywicGVyY2VudF9jaGFuZ2VfN2QiOi0yLjk5MTIxMzA5LCJjaXJjdWxhdGluZ19zdXBwbHkiOjM5MTYyODI3NDM5LjgxODgsInRvdGFsX3N1cHBseSI6MzkxNjI4Mjc0MzkuODE4OCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo0OTQzLCJzbHVnIjoibXVsdGktY29sbGF0ZXJhbC1kYWkiLCJzeW1ib2wiOiJEQUkiLCJuYW1lIjoiRGFpIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNDk0My5wbmciLCJwcmljZV91c2QiOjAuOTk5ODE0MTc4MjM2MzY4MiwibWFya2V0X2NhcCI6NDY0NzE2MzQzMS44MTMzNDksInZvbHVtZV8yNGgiOjI0MTgyMzE5LjY4NTI3MjU3LCJyYW5rIjoxOCwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDAwNjk4MjIsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMDQ1MzYwMywicGVyY2VudF9jaGFuZ2VfN2QiOjAuMDA4MTI2NTMsImNpcmN1bGF0aW5nX3N1cHBseSI6NDY0ODAyNzEzNi40MTMyNDYsInRvdGFsX3N1cHBseSI6NDY0ODAyNzEzNi40MTMyNDYsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTgzMSwic2x1ZyI6ImJpdGNvaW4tY2FzaCIsInN5bWJvbCI6IkJDSCIsIm5hbWUiOiJCaXRjb2luIENhc2giLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xODMxLnBuZyIsInByaWNlX3VzZCI6MjE0Ljk5NjkxNTg4NjIyMTIyLCJtYXJrZXRfY2FwIjo0MzE0Mjk5NDM5Ljg0MDI2MSwidm9sdW1lXzI0aCI6ODUyMDI2NjIuMTY1Njk4OTMsInJhbmsiOjE5LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMjE0NTIyNywicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjc4NDQxNzkyLCJwZXJjZW50X2NoYW5nZV83ZCI6MC42NDkzMDczNCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMDA2Njc5Ni44NzUsInRvdGFsX3N1cHBseSI6MjAwNjY3OTYuODc1LCJtYXhfc3VwcGx5IjoyMTAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxMTQxOSwic2x1ZyI6ImdyYW0iLCJzeW1ib2wiOiJHUkFNIiwibmFtZSI6IkdyYW0gKHByZXYuIFRvbmNvaW4pIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTE0MTkucG5nIiwicHJpY2VfdXNkIjoxLjUwNjAxODA4MzY5MzQ0ODMsIm1hcmtldF9jYXAiOjQxMTg2MjEwOTYuNjQwNjczNiwidm9sdW1lXzI0aCI6MzYzNTU3ODcuNzEyNjI3OSwicmFuayI6MjAsInBlcmNlbnRfY2hhbmdlXzFoIjowLjEzODg2OTUsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMTY5NDIzNTQsInBlcmNlbnRfY2hhbmdlXzdkIjozLjczMzU3Nzc2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjI3MzQ3NzUzMjYuNTYxNzY0NywidG90YWxfc3VwcGx5Ijo1MjIxMTMzNjMxLjAwMTA1NiwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozNjE0OCwic2x1ZyI6InVzZDEiLCJzeW1ib2wiOiJVU0QxIiwibmFtZSI6IldvcmxkIExpYmVydHkgRmluYW5jaWFsIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM2MTQ4LnBuZyIsInByaWNlX3VzZCI6MC45OTg3NDY1NjQ5MjM2NzMxLCJtYXJrZXRfY2FwIjo0MTA0MDk5NDA0LjM0NTA0MjcsInZvbHVtZV8yNGgiOjUxNTI3MTA4Mi4yNjkxNjg1NiwicmFuayI6MjEsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAwNTIyMjUsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDEyODE2NjMsInBlcmNlbnRfY2hhbmdlXzdkIjotMC4wMzU4NTI3MSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MTA5MjUwMDgyLjUzNTg5MjUsInRvdGFsX3N1cHBseSI6NDEwOTI1MDA4Mi41MzU4OTI1LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjI5NDcwLCJzbHVnIjoiZXRoZW5hLXVzZGUiLCJzeW1ib2wiOiJVU0RFIiwibmFtZSI6IkV0aGVuYSBVU0RlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjk0NzAucG5nIiwicHJpY2VfdXNkIjowLjk5OTc5ODAyOTcxOTA1MTcsIm1hcmtldF9jYXAiOjM5NzMwNTE2NTAuNjU1NDMzNywidm9sdW1lXzI0aCI6MTk1NDg0NzAuMTcwMjA5NDIsInJhbmsiOjIyLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDAxMjk5NjUsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDEzODg3NTksInBlcmNlbnRfY2hhbmdlXzdkIjotMC4wMDkxMTI1NywiY2lyY3VsYXRpbmdfc3VwcGx5IjozOTczODU0MjUxLjExNDk3OTMsInRvdGFsX3N1cHBseSI6Mzk3Mzg1NDI1MS4xMTQ5NzkzLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjIsInNsdWciOiJsaXRlY29pbiIsInN5bWJvbCI6IkxUQyIsIm5hbWUiOiJMaXRlY29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzIucG5nIiwicHJpY2VfdXNkIjo0Ny4yNDI2NTU1NTIwNDA3OCwibWFya2V0X2NhcCI6MzY1ODA3NzU0OC4yOTE5OTAzLCJ2b2x1bWVfMjRoIjoyMzI0MzUwMTMuNDU0NDM4MTUsInJhbmsiOjIzLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDM0MjI4NDMsInBlcmNlbnRfY2hhbmdlXzI0aCI6MS4yMTcwNDA0MywicGVyY2VudF9jaGFuZ2VfN2QiOjAuMjU0ODc3MTYsImNpcmN1bGF0aW5nX3N1cHBseSI6Nzc0MzE2NjYuNDc5MDg2NiwidG90YWxfc3VwcGx5Ijo4NDAwMDAwMCwibWF4X3N1cHBseSI6ODQwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzM3OTMsInNsdWciOiJnbG9iYWwtZG9sbGFyLXVzZGciLCJzeW1ib2wiOiJVU0RHIiwibmFtZSI6Ikdsb2JhbCBEb2xsYXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMzc5My5wbmciLCJwcmljZV91c2QiOjAuOTk5OTk3NDE0MTQ0MTE2NSwibWFya2V0X2NhcCI6MzI3OTAyNzk3NS42NTAzNzgsInZvbHVtZV8yNGgiOjEyMTY2MjM5My43MzIxNzcyOSwicmFuayI6MjQsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAwNTAwNTY3LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjAwMTU5MzIxLCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMDYzMDg5NjMsImNpcmN1bGF0aW5nX3N1cHBseSI6MzI3OTAzNjQ1NC43NjYwODcsInRvdGFsX3N1cHBseSI6MzI3OTAzNjQ1NC43NjYwODcsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NDY0Miwic2x1ZyI6ImhlZGVyYSIsInN5bWJvbCI6IkhCQVIiLCJuYW1lIjoiSGVkZXJhIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNDY0Mi5wbmciLCJwcmljZV91c2QiOjAuMDY5NTQ5NjYxNzA3NTkxNDcsIm1hcmtldF9jYXAiOjMwNDU2NTU5MzAuMDY3NzYyLCJ2b2x1bWVfMjRoIjozMjAxODEwNi41NDM0NzYxNiwicmFuayI6MjUsInBlcmNlbnRfY2hhbmdlXzFoIjowLjIzMTY0MjQyLCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjgwODQ5NDc5LCJwZXJjZW50X2NoYW5nZV83ZCI6NS40MDgwNjY4NSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0Mzc5MTA5NjI1MS4wODgyMSwidG90YWxfc3VwcGx5Ijo1MDAwMDAwMDAwMCwibWF4X3N1cHBseSI6NTAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NTk5NCwic2x1ZyI6InNoaWJhLWludSIsInN5bWJvbCI6IlNISUIiLCJuYW1lIjoiU2hpYmEgSW51IiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTk5NC5wbmciLCJwcmljZV91c2QiOjAuMDAwMDA1MDg2ODY2MjkwODY1MDU2LCJtYXJrZXRfY2FwIjoyOTk3Mzg5Mzc2LjI5NDgwMywidm9sdW1lXzI0aCI6NTM0NTI4MzQ5Ljc0NzQzNTE1LCJyYW5rIjoyNiwicGVyY2VudF9jaGFuZ2VfMWgiOi0yLjY5MjkxMzE1LCJwZXJjZW50X2NoYW5nZV8yNGgiOi00LjU2MjQ5MzgzLCJwZXJjZW50X2NoYW5nZV83ZCI6MjIuMDAwOTc0OTcsImNpcmN1bGF0aW5nX3N1cHBseSI6NTg5MjQwODQxOTg1MDcxLjUsInRvdGFsX3N1cHBseSI6NTg5NDk3NTQ3MjQxMTEzLjYsIm1heF9zdXBwbHkiOjU4OTU1MjY5NTMzMzY4Mywic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoyMDk0Nywic2x1ZyI6InN1aSIsInN5bWJvbCI6IlNVSSIsIm5hbWUiOiJTdWkiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yMDk0Ny5wbmciLCJwcmljZV91c2QiOjAuNzE4NzM5OTQ5MTg4NDg5NSwibWFya2V0X2NhcCI6MjkxMjU3NDM5NC41OTM1NjQ1LCJ2b2x1bWVfMjRoIjoxMzY3NTgwNDEuNjA1MDM2NzcsInJhbmsiOjI3LCJwZXJjZW50X2NoYW5nZV8xaCI6MC41NDEwODMwNywicGVyY2VudF9jaGFuZ2VfMjRoIjowLjg5MDQwNDg4LCJwZXJjZW50X2NoYW5nZV83ZCI6LTQuMzQyOTcyNzEsImNpcmN1bGF0aW5nX3N1cHBseSI6NDA1MjMzNDA4NS4zNDIwOTksInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMDAsIm1heF9zdXBwbHkiOjEwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjU4MDUsInNsdWciOiJhdmFsYW5jaGUiLCJzeW1ib2wiOiJBVkFYIiwibmFtZSI6IkF2YWxhbmNoZSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzU4MDUucG5nIiwicHJpY2VfdXNkIjo2LjY5NTgzNDM0OTUxNjkzNiwibWFya2V0X2NhcCI6Mjg5MTA3MzUyOC44MDg2Njg2LCJ2b2x1bWVfMjRoIjoyMTk1NTY2NTIuNzU5NzQxODcsInJhbmsiOjI4LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMjUxNjA1NiwicGVyY2VudF9jaGFuZ2VfMjRoIjotMS4wODUxNDEzMiwicGVyY2VudF9jaGFuZ2VfN2QiOjEuNzk3OTAzODksImNpcmN1bGF0aW5nX3N1cHBseSI6NDMxNzcxOTYxLjE3NzIxMTksInRvdGFsX3N1cHBseSI6NDYzNDQxMDYxLjE3NzIxMTksIm1heF9zdXBwbHkiOjcxNTc0ODcxOSwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozNjM1LCJzbHVnIjoiY3Jvbm9zIiwic3ltYm9sIjoiQ1JPIiwibmFtZSI6IkNyb25vcyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM2MzUucG5nIiwicHJpY2VfdXNkIjowLjA1NzQ3NTU1MTY1MTgxNjE5LCJtYXJrZXRfY2FwIjoyNzE3NDc5NDkzLjI2MzY1MjMsInZvbHVtZV8yNGgiOjYwMDU5NDcuMTg1NzAyOTUsInJhbmsiOjI5LCJwZXJjZW50X2NoYW5nZV8xaCI6MC40NTAzOTk3NiwicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjg2OTI0MTExLCJwZXJjZW50X2NoYW5nZV83ZCI6LTEuMjY4NjI2NTgsImNpcmN1bGF0aW5nX3N1cHBseSI6NDcyODA2MTYxMDguMzIzNzE1LCJ0b3RhbF9zdXBwbHkiOjk4ODEzOTU0NTYzLjU1MjM0LCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6Mjc3NzIsInNsdWciOiJwYXlwYWwtdXNkIiwic3ltYm9sIjoiUFlVU0QiLCJuYW1lIjoiUGF5UGFsIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzI3NzcyLnBuZyIsInByaWNlX3VzZCI6MC45OTk2NDM5MjIyMjgyMjY3LCJtYXJrZXRfY2FwIjoyNjg1MzM4MjY2LjQyODQwODYsInZvbHVtZV8yNGgiOjE3OTI2MTk5LjM2Njc5NTk3LCJyYW5rIjozMCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAwMTgyMjc4LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjAxMjc3NTI1LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMDA3NTUzOTEsImNpcmN1bGF0aW5nX3N1cHBseSI6MjY4NjI5NDc5Ni4yOTM3OTksInRvdGFsX3N1cHBseSI6MjY4NjI5NDc5Ni4yOTM3OTksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NTE3Niwic2x1ZyI6InRldGhlci1nb2xkIiwic3ltYm9sIjoiWEFVVCIsIm5hbWUiOiJUZXRoZXIgR29sZCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzUxNzYucG5nIiwicHJpY2VfdXNkIjo0MDg2LjY4Nzk2MDg1NzE0MSwibWFya2V0X2NhcCI6MjUwNDQxOTA3MS41Mzc4NCwidm9sdW1lXzI0aCI6MTk4MzU5NDAzLjA5ODc0MTIzLCJyYW5rIjozMSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDE4MjI4NTEsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC44NTUzNTY3LCJwZXJjZW50X2NoYW5nZV83ZCI6MS45MjY2MDE1NiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo2MTI4MjMuNjU5NTMyLCJ0b3RhbF9zdXBwbHkiOjcwNzc0Ny4wODksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NzA4Mywic2x1ZyI6InVuaXN3YXAiLCJzeW1ib2wiOiJVTkkiLCJuYW1lIjoiVW5pc3dhcCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzcwODMucG5nIiwicHJpY2VfdXNkIjozLjg4MzE1MTk3MDE0NzEwODIsIm1hcmtldF9jYXAiOjI0Mjc1MTE5MjAuMDY0ODM5LCJ2b2x1bWVfMjRoIjoxODQzODEyNTYuMTg2MzM0ODUsInJhbmsiOjMyLCJwZXJjZW50X2NoYW5nZV8xaCI6MC43ODA4MjUwMywicGVyY2VudF9jaGFuZ2VfMjRoIjo2LjA0NzcxODYzLCJwZXJjZW50X2NoYW5nZV83ZCI6MTEuMjY4OTUyMDcsImNpcmN1bGF0aW5nX3N1cHBseSI6NjI1MTM5NTYxLjU1Mzg3NzUsInRvdGFsX3N1cHBseSI6ODkyMjc0NDIwLjAzMjk0NzksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NjUzNSwic2x1ZyI6Im5lYXItcHJvdG9jb2wiLCJzeW1ib2wiOiJORUFSIiwibmFtZSI6Ik5FQVIgUHJvdG9jb2wiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC82NTM1LnBuZyIsInByaWNlX3VzZCI6MS44MzQzNjE2MjUxMjYwNzM1LCJtYXJrZXRfY2FwIjoyMzg4MjA4MTA2LjQ2NDIxLCJ2b2x1bWVfMjRoIjo5NjU3NDExNi42Nzc5NjM2NiwicmFuayI6MzMsInBlcmNlbnRfY2hhbmdlXzFoIjowLjQ3ODc4MjUxLCJwZXJjZW50X2NoYW5nZV8yNGgiOjIuNzA0NTkxMzcsInBlcmNlbnRfY2hhbmdlXzdkIjotNC40MzgxMDc2NiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMzAxOTI4NzMzLCJ0b3RhbF9zdXBwbHkiOjEzMDE5Mjg3MzMsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MjI5NzQsInNsdWciOiJiaXR0ZW5zb3IiLCJzeW1ib2wiOiJUQU8iLCJuYW1lIjoiQml0dGVuc29yIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjI5NzQucG5nIiwicHJpY2VfdXNkIjoxOTguODE0ODg1MjI1MjUxMDMsIm1hcmtldF9jYXAiOjIyMjAxMTU3OTMuNzA1NDY0LCJ2b2x1bWVfMjRoIjoxMTA4MjMwNTIuMDE3MzExMDcsInJhbmsiOjM0LCJwZXJjZW50X2NoYW5nZV8xaCI6MC43NDU5NDExMiwicGVyY2VudF9jaGFuZ2VfMjRoIjozLjY0NDE2NjM4LCJwZXJjZW50X2NoYW5nZV83ZCI6MC43NDk5NDE2OCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMTE2Njc0OC4zNjA4NjkxNywidG90YWxfc3VwcGx5IjoyMTAwMDAwMCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MjExNTksInNsdWciOiJvbmRvLWZpbmFuY2UiLCJzeW1ib2wiOiJPTkRPIiwibmFtZSI6Ik9uZG8iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yMTE1OS5wbmciLCJwcmljZV91c2QiOjAuNDA4MTU1NTMyNDc3MTUyNywibWFya2V0X2NhcCI6MTk4NzQ0NDI0My4wMzM2MDM0LCJ2b2x1bWVfMjRoIjoxMjMxNjA2MDMuMzI0NTMxNTcsInJhbmsiOjM1LCJwZXJjZW50X2NoYW5nZV8xaCI6MS4wMjY3NzkyMywicGVyY2VudF9jaGFuZ2VfMjRoIjo3LjMyOTQ3MTIyLCJwZXJjZW50X2NoYW5nZV83ZCI6MTguMDUyMTAwMzIsImNpcmN1bGF0aW5nX3N1cHBseSI6NDg2OTMzMDY0NywidG90YWxfc3VwcGx5IjoxMDAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NDcwNSwic2x1ZyI6InBheC1nb2xkIiwic3ltYm9sIjoiUEFYRyIsIm5hbWUiOiJQQVggR29sZCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzQ3MDUucG5nIiwicHJpY2VfdXNkIjo0MDkwLjUwMjYyNjkxMTY2NDMsIm1hcmtldF9jYXAiOjE4MTk3MjIwOTIuNzQ5MTE4Niwidm9sdW1lXzI0aCI6NzU3MDYwNjAuMzkzNTU2MTYsInJhbmsiOjM2LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMzc1ODU2MywicGVyY2VudF9jaGFuZ2VfMjRoIjowLjk3MjI0MjA0LCJwZXJjZW50X2NoYW5nZV83ZCI6Mi4xMjAxMDAyOSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0NDQ4NjUuMTU2ODU4LCJ0b3RhbF9zdXBwbHkiOjQ0NDg2NS4xNTY4NTgsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6Mzg5Nywic2x1ZyI6Im9rYiIsInN5bWJvbCI6Ik9LQiIsIm5hbWUiOiJPS0IiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zODk3LnBuZyIsInByaWNlX3VzZCI6ODUuOTk3NDQ4NTQwNDYxMjQsIm1hcmtldF9jYXAiOjE4MDU5NDY0MTkuMzQ5Njg2MSwidm9sdW1lXzI0aCI6MjE2Mjk5MDQuMTM4OTExNDYsInJhbmsiOjM3LCJwZXJjZW50X2NoYW5nZV8xaCI6MS40MTAzMzM2NiwicGVyY2VudF9jaGFuZ2VfMjRoIjozLjA1MjI4NjQ0LCJwZXJjZW50X2NoYW5nZV83ZCI6Ny4yNTIyNTI5NSwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMTAwMDAwMCwidG90YWxfc3VwcGx5IjoyMTAwMDAwMCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzMyNTEsInNsdWciOiJ3b3JsZC1saWJlcnR5LWZpbmFuY2lhbC13bGZpIiwic3ltYm9sIjoiV0xGSSIsIm5hbWUiOiJXb3JsZCBMaWJlcnR5IEZpbmFuY2lhbCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzMzMjUxLnBuZyIsInByaWNlX3VzZCI6MC4wNTUwOTIwMTg4MjgzNjQ4NTUsIm1hcmtldF9jYXAiOjE3NTA1MzYxMTAuOTcyOTg3LCJ2b2x1bWVfMjRoIjoyOTQ5MDMzMS42NTk3OTQyNiwicmFuayI6MzgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjUwOTQzMTUzLCJwZXJjZW50X2NoYW5nZV8yNGgiOi0xLjYxOTE3MjgyLCJwZXJjZW50X2NoYW5nZV83ZCI6LTMuNjEwNDAyNTEsImNpcmN1bGF0aW5nX3N1cHBseSI6MzE3NzQ3Njc4OTIsInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMDAwLCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzYzNDEsInNsdWciOiJhc3RlciIsInN5bWJvbCI6IkFTVEVSIiwibmFtZSI6IkFzdGVyIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzYzNDEucG5nIiwicHJpY2VfdXNkIjowLjYyOTU2MjA4MjQ5MDc2NywibWFya2V0X2NhcCI6MTY5OTgzNTkzOS44MjUzNTAzLCJ2b2x1bWVfMjRoIjozNzAzOTEyOC43MzY3NjIyOCwicmFuayI6MzksInBlcmNlbnRfY2hhbmdlXzFoIjowLjE5OTg0NDY1LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMjU3MzM0MzMsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjM1Nzk0MjgsImNpcmN1bGF0aW5nX3N1cHBseSI6MjcwMDAyOTA5NC45ODY0ODE3LCJ0b3RhbF9zdXBwbHkiOjc4MTYxOTc4NzQuNTE2NzI4LCJtYXhfc3VwcGx5Ijo4MDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM1NDkxLCJzbHVnIjoibWVtZWNvcmUiLCJzeW1ib2wiOiJNIiwibmFtZSI6Ik1lbWVDb3JlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzU0OTEucG5nIiwicHJpY2VfdXNkIjoxLjIxMDIwNjgwOTQ3MTIyNywibWFya2V0X2NhcCI6MTYwNzcwMDY3Mi43NTAxNzEyLCJ2b2x1bWVfMjRoIjoxNDcyMjUwMS45MzgwNTQ1LCJyYW5rIjo0MCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjg5NzgyODE5LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0zLjYzNTA1ODc4LCJwZXJjZW50X2NoYW5nZV83ZCI6MC4zNTY1ODc5MywiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMzI4NDUxMTg3LjE1OTE3NjgsInRvdGFsX3N1cHBseSI6NTM5NTc2Nzk1OS42NjY0MDIsIm1heF9zdXBwbHkiOjEwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM0Mzg3LCJzbHVnIjoicmlwcGxlLXVzZCIsInN5bWJvbCI6IlJMVVNEIiwibmFtZSI6IlJpcHBsZSBVU0QiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNDM4Ny5wbmciLCJwcmljZV91c2QiOjAuOTk5ODU2NTU2MzgzMjIwMiwibWFya2V0X2NhcCI6MTU4OTEyMDAyNS4zNDM5OTc1LCJ2b2x1bWVfMjRoIjo5Njg0Nzg2My43MTEyNDQ3LCJyYW5rIjo0MSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDEzMDYxNzUsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDIyMzk4MDYsInBlcmNlbnRfY2hhbmdlXzdkIjotMC4wMDg5ODQ5NiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNTg5MzQ4MDA3LjE3MDQ2NzYsInRvdGFsX3N1cHBseSI6MTU4OTM0ODAwNy4xNzA0Njc2LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjE5ODkxLCJzbHVnIjoidXNkZCIsInN5bWJvbCI6IlVTREQiLCJuYW1lIjoiVVNERCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzE5ODkxLnBuZyIsInByaWNlX3VzZCI6MC45OTkwMjgwNzI1MDQwNTI3LCJtYXJrZXRfY2FwIjoxNTU1OTg5MjM4Ljk5MDgxMywidm9sdW1lXzI0aCI6MTAwMTI1NDYwLjMzMzA0NzU4LCJyYW5rIjo0MiwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAxNjE4ODg2LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjAwMTIzOTg4LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMDM0OTI1NTcsImNpcmN1bGF0aW5nX3N1cHBseSI6MTU1NzUwMzAxOSwidG90YWxfc3VwcGx5IjoxNTU3NTAzMDE5LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjcyNzgsInNsdWciOiJhYXZlIiwic3ltYm9sIjoiQUFWRSIsIm5hbWUiOiJBYXZlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNzI3OC5wbmciLCJwcmljZV91c2QiOjEwMC4xNzEzNjYxMzgxOTYyOCwibWFya2V0X2NhcCI6MTU0NDQxMTI4OC42MTMyNjM4LCJ2b2x1bWVfMjRoIjozMDM1NDIwNzEuMDc5MDYyNDYsInJhbmsiOjQzLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMTEzODEyNzksInBlcmNlbnRfY2hhbmdlXzI0aCI6OC42NDcxNjkxMSwicGVyY2VudF9jaGFuZ2VfN2QiOjEyLjE0NzkzMzAxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjE1NDE3NjkyLjE4MjQ0MDYsInRvdGFsX3N1cHBseSI6MTYwMDAwMDAsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NjYzNiwic2x1ZyI6InBvbGthZG90LW5ldyIsInN5bWJvbCI6IkRPVCIsIm5hbWUiOiJQb2xrYWRvdCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzY2MzYucG5nIiwicHJpY2VfdXNkIjowLjgxNjg5OTAyNDAzODAzOTcsIm1hcmtldF9jYXAiOjEzODQ3NzIxNjQuODI4OTA1Mywidm9sdW1lXzI0aCI6NDkwMDgzNzYuMjcxNTQ0MTUsInJhbmsiOjQ0LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wNDE2MjQ0OSwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjEyMzYwODg4LCJwZXJjZW50X2NoYW5nZV83ZCI6MC41NTUxODAwOCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNjk1MTU3MDgwLjcxNzAxODgsInRvdGFsX3N1cHBseSI6MTY5NTE1NzA4MC43MTcwMTg4LCJtYXhfc3VwcGx5IjoyMTAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjI3MDc1LCJzbHVnIjoibWFudGxlIiwic3ltYm9sIjoiTU5UIiwibmFtZSI6Ik1hbnRsZSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzI3MDc1LnBuZyIsInByaWNlX3VzZCI6MC40MTQ5MzUxNjg5MDUwMTE1MywibWFya2V0X2NhcCI6MTM3MDIzODA3Ny4zOTE5OTQ1LCJ2b2x1bWVfMjRoIjoxNzcyODEyNy4xMDcyMDE2MSwicmFuayI6NDUsInBlcmNlbnRfY2hhbmdlXzFoIjowLjI3NTcwNzcsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC42OTMzNjM0MSwicGVyY2VudF9jaGFuZ2VfN2QiOi0yLjIxODk3NjU2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjMzMDIyOTQzODIuNTM2ODQsInRvdGFsX3N1cHBseSI6NjIxOTMxNjc5NC44ODk5OTksIm1heF9zdXBwbHkiOjYyMTkzMTY3OTUsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzMwMzgsInNsdWciOiJza3kiLCJzeW1ib2wiOiJTS1kiLCJuYW1lIjoiU2t5IiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzMwMzgucG5nIiwicHJpY2VfdXNkIjowLjA1NzY3NDg4ODU3NDM5NTQ1NSwibWFya2V0X2NhcCI6MTM0NzAwNjQ1OC45NDEyMDUzLCJ2b2x1bWVfMjRoIjoxNDE0MjgwMC4zNDQ4NjcxMiwicmFuayI6NDYsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAxMDM4NjM1LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0xLjQwNjIwMjkyLCJwZXJjZW50X2NoYW5nZV83ZCI6LTYuMDc5MDIzMzIsImNpcmN1bGF0aW5nX3N1cHBseSI6MjMzNTUxNjM2MTEuNjkzNjI2LCJ0b3RhbF9zdXBwbHkiOjIzNDYyNjY1MTQ3LjM2NTk2NywibWF4X3N1cHBseSI6MjM0NjI2NjUxNDcsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTM1MDIsInNsdWciOiJ3b3JsZGNvaW4tb3JnIiwic3ltYm9sIjoiV0xEIiwibmFtZSI6IldvcmxkY29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzEzNTAyLnBuZyIsInByaWNlX3VzZCI6MC4zNTI1OTMzNjMxMzQyOTQsIm1hcmtldF9jYXAiOjEzMjM5NzY0ODUuODc4MjMwOCwidm9sdW1lXzI0aCI6MTk5NTE0MTkyLjM1NTQxNTc2LCJyYW5rIjo0NywicGVyY2VudF9jaGFuZ2VfMWgiOjAuNDI0NzA2MTcsInBlcmNlbnRfY2hhbmdlXzI0aCI6NS4xMzQ1MjM2NywicGVyY2VudF9jaGFuZ2VfN2QiOi0zLjMxMzA1MDU2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjM3NTQ5NjcxMjEuNjQxMzcxMywidG90YWxfc3VwcGx5IjoxMDAwMDAwMDAwMCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo4OTE2LCJzbHVnIjoiaW50ZXJuZXQtY29tcHV0ZXIiLCJzeW1ib2wiOiJJQ1AiLCJuYW1lIjoiSW50ZXJuZXQgQ29tcHV0ZXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC84OTE2LnBuZyIsInByaWNlX3VzZCI6Mi4xOTE3NTE5OTI0NDcxOTQsIm1hcmtldF9jYXAiOjEyMTY4NzgwOTQuMjI1OTE3LCJ2b2x1bWVfMjRoIjozMTE2NzIyNC42MDMwMjA1MSwicmFuayI6NDgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjUyMzAzNzk2LCJwZXJjZW50X2NoYW5nZV8yNGgiOjEuMjA3ODI5MDYsInBlcmNlbnRfY2hhbmdlXzdkIjoyLjY2OTU3MzUyLCJjaXJjdWxhdGluZ19zdXBwbHkiOjU1NTIwNzkzMy4zODgxMjczLCJ0b3RhbF9zdXBwbHkiOjU1NTIwNzkzMy4zODgxMjczLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjI0NDc4LCJzbHVnIjoicGVwZSIsInN5bWJvbCI6IlBFUEUiLCJuYW1lIjoiUGVwZSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzI0NDc4LnBuZyIsInByaWNlX3VzZCI6MC4wMDAwMDI5MzAwMDY3OTI0NzY1MSwibWFya2V0X2NhcCI6MTIxMjM1NjE1Ni42ODg0MzgyLCJ2b2x1bWVfMjRoIjozNzkyNTM3NjQuMjE5NjYsInJhbmsiOjQ5LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMzcxNTg1NDMsInBlcmNlbnRfY2hhbmdlXzI0aCI6My4zNzAxMzc5NiwicGVyY2VudF9jaGFuZ2VfN2QiOjIuMzMzNTA4MTgsImNpcmN1bGF0aW5nX3N1cHBseSI6NDEzNzcyNDczMDg4MjcxLjEsInRvdGFsX3N1cHBseSI6NDEzNzcyNDczMDg4MjcxLjEsIm1heF9zdXBwbHkiOjQxMzc3MjQ3MzA4ODI3MS4xLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjExMDkyLCJzbHVnIjoiYml0Z2V0LXRva2VuLW5ldyIsInN5bWJvbCI6IkJHQiIsIm5hbWUiOiJCaXRnZXQgVG9rZW4iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xMTA5Mi5wbmciLCJwcmljZV91c2QiOjEuNjcwMjU4NDI5Mjc3MTA3MiwibWFya2V0X2NhcCI6MTE2Njc3NzU1NS4zMzczNDg3LCJ2b2x1bWVfMjRoIjo1ODM3MDg5LjY2ODQ3NjE5LCJyYW5rIjo1MCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjA5MDgzOTYyLCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMTg5MjY2NzEsInBlcmNlbnRfY2hhbmdlXzdkIjoyLjc0MzIzMjUxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjY5ODU2MTA5My44MzE2NDk1LCJ0b3RhbF9zdXBwbHkiOjkxMDkyMDg3NC42NDgxMDM4LCJtYXhfc3VwcGx5Ijo5MTk5OTIwMzUuOTgsInNwYXJrbGluZV83ZCI6bnVsbH1dLCJjdXJyZW5jeSI6eyJjb2RlIjoiVVNEIiwic3ltYm9sIjoiJCIsInJhdGUiOjF9LCJlcnJvciI6bnVsbH0="}},"time_used":28,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":28,"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.67","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/Gc2en3nHxA4","date":"2026-07-27T02:52:42.035Z","timestamp":1785120762035,"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: 347735\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-07-27T05:13:54.226554Z","times_seen":946887,"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":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":2,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.241Z","timestamp":1785120762241,"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=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\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: 3439\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: qwlEG65djaKFvsVvaMs5uWlk0j-YNYy1IiCMQJxN4D0-VwTU6vyV-Q==\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":4286,"size_decoded":4811,"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-07-27T05:24:59.948782Z","times_seen":1128,"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":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":"s2.coinmarketcap.com/static/img/coins/64x64/19891.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.262Z","timestamp":1785120762262,"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=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\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\nage: 65962\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: 2Y0BQpbBvyWHhtmwAzvoKQRtud4EKWtw_89921fGj8JRre1RBDccsA==\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":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-07-27T05:24:59.864139Z","times_seen":981,"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":"s2.coinmarketcap.com/static/img/coins/64x64/33038.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.269Z","timestamp":1785120762269,"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=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\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: Sun, 26 Jul 2026 03:41:58 GMT\r\netag: \"8fae21ff4a6f0a8988b54b0e313a59a0\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 83470\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: qur9QOhtcCBuVupo9z98ImpzhMwrAdy30Fsy1t_1e6woBZoy0SvAHw==\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":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-07-27T05:24:59.876176Z","times_seen":977,"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":"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.972Z","timestamp":1785120761972,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 2236148\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 02:52:41 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=3Pk5JdpliFp%2BhWaECAnGBko0s92kHUsw2qQbtahPDPaJIV%2FrtbDG%2FeSPcc1d%2BWyW0vPRxFp0NBkaeYALDp2h1THF%2BjnreSDAByEqjEdbqxUSu%2Fbw5APR9F7MgDL0\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a5be80daa-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":"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"]}],"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-27T05:24:59.93142Z","times_seen":995,"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":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.youtube.com/s/player/7a7969c2/www-player.css","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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/Gc2en3nHxA4","date":"2026-07-27T02:52:42.025Z","timestamp":1785120762025,"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/Gc2en3nHxA4\r\nCookie: __Secure-YNID=20.YT=bAUqAsWtUq0QI5lnbjhRqZxHGZTeQ44xv158_wDI-OREM7hGFwdQh-Fnn22UwtwKdRs2XmKd7gTrEAoqaDWooWex7Ez6kTDTNUcX8LsL0A97B1hbdocm9avbwiNvbxX0qKi_6wfFS1CnewvwpgMiqR_UIe99ateBO-McP73c1Zzq_nQj0oz29qM3VrxL5dXw0BXSrEg6LS26egZNxmOWqDoWCXOgjnuJW9prHYJaiNfGFA8qaLg9BKawO80BA2HUa848WVC3wn7FXVdvLYKmvluEfWi0SBv3Xu-C7jzQzWIv3w_HURzWyX7xi17bUcvikavkbkw21f4nJLdMk19TRw; YSC=FCnieG1ugZQ; __Secure-ROLLOUT_TOKEN=CM2d7q3Og7rzjQEQvpaNh-3xlQMYvpaNh-3xlQM%3D; VISITOR_INFO1_LIVE=WjWmnUIpJks; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgTg%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 23:45:20 GMT\r\nexpires: Thu, 22 Jul 2027 23:45:20 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: 356842\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-27T05:12:07.080827Z","times_seen":4581,"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":27,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":18,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.275Z","timestamp":1785120762275,"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=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\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: 69590\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: IOiTmr_yBWjijXh8RDY2U_KOwgDT7he4TM3JQrSFq4hwEgpEP7JaTQ==\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":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-07-27T05:24:59.864912Z","times_seen":708,"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.093Z","timestamp":1785120763093,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 8fe807098ee0cc3abc57e5e3f387cfab\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-07-27T05:15:36.955954Z","times_seen":2158,"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":"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.103Z","timestamp":1785120763103,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 3f5fc4b16f1659ad14c3f2991d333ab5\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-27T05:19:37.114846Z","times_seen":789,"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":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/11092.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.277Z","timestamp":1785120762277,"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=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\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: Sun, 26 Jul 2026 06:24:47 GMT\r\netag: \"0d6d3a10d16505b8652993f33a76c1ae\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 73685\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: j6rWiKS_Ag5zneC1Inq5NpiBmKPdRKSzVN5G1KdkZXp8reVim4567A==\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":752,"size_decoded":1285,"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-07-27T05:24:59.871226Z","times_seen":859,"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":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":"widget.coinlib.io/widget?type=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","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://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.548Z","timestamp":1785120761548,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no 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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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 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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=QqWJS9nYkB%2BFKOcPVMlMqFyAk521jjft2hoaIXYBmYhusO9x9c1UOvD1xwJu561USiN%2FheeUJgnNG11qS%2FcE5iWxdk2z3GT5YMe%2BfcCrdwiLoskvueA83Xf1EcD6W0sQwWAkrg%3D%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: a2185977cbc10daa-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-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":null}},"time_used":23,"timings":{"blocked":-1,"dns":5,"connect":14,"send":0,"wait":4,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.247Z","timestamp":1785120762247,"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=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\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: 70597\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: ZdRci2zwcM7vHYTy752vCK39-394UZlzlPFtFyKEcg86pGYS2DKnKw==\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":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-07-27T05:24:59.855032Z","times_seen":986,"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":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/71424.eaefaf568dc8f1d16228.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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.529Z","timestamp":1785120763529,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/71424.eaefaf568dc8f1d16228.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/market-overview/?locale=en\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 02:52:43 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-2389\"\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: 81ca80a763ebd861c78f7cfa908134ec\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/1.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.139Z","timestamp":1785120762139,"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=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\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: Sun, 26 Jul 2026 03:09:18 GMT\r\ncache-control: max-age=86400\r\netag: \"2edf1ef8b333c40979976d1a49bc234c\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 85408\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: RgZ98mo2k7zsxlnBE9NFWBlZjfezZDP7wZrzIUKeT4UAWjgySP4OKA==\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":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-07-27T05:12:11.03363Z","times_seen":22973,"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":45,"timings":{"blocked":-1,"dns":13,"connect":18,"send":0,"wait":13,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.273Z","timestamp":1785120762273,"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=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\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: 70389\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: dNEtSNXTIKN4T5sEYNCeLPjwVBryh-hn9TjJMmtQ39ZI6mQej7d7Sw==\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":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-07-27T05:24:59.884326Z","times_seen":1087,"resource_available":false,"data":"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"}},"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.089Z","timestamp":1785120763089,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: b741fce1b201674533f1d01e463cf1b2\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-27T05:26:56.032055Z","times_seen":114,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNDkyOSwzNzg2NSw0NzAzMCw1MzI0OSw1NzE4NCw2MjM1MSw2ODg2MCw4NDY5Myw5Mjk2NF0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNjQ2ODQ4KGUpe2UuZXhwb3J0cz1bIk9iamVjdCB0cmVlIl19LDExMzUyNChlKXtlLmV4cG9ydHM9WyJDb250aW51ZSJdfSwyNjQ3MzkoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDMxODczNChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNzcwOTQxKGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sMTU3NDE3KGUpe2UuZXhwb3J0cz1bIlJlIl19LDU1ODQxMihlKXtlLmV4cG9ydHM9WyIlIG9mIEdEUCJdfSw0Njg0NjAoZSl7ZS5leHBvcnRzPVsiJSBvZiBwYXIiXX0sNDQ1MDUoZSl7ZS5leHBvcnRzPVsiRGlzYy4geWllbGQsICUiXX0sOTQ1MzYyKGUpe2UuZXhwb3J0cz1bIkRhcmsiXX0sMjQ3MTY3KGUpe2UuZXhwb3J0cz1bIkxpZ2h0Il19LDI0NzUyMShlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDYyMzQwMChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjdXQiXX0sMzk0MTI4KGUpe2UuZXhwb3J0cz1bIkNvdWxkbid0IHBhc3RlIl19LDIxMDkwMShlKXtlLmV4cG9ydHM9WyJQbGVhc2UgZ2l2ZSB1cyBhIGNsaXBib2FyZCB3cml0aW5nIHBlcm1pc3Npb24gaW4geW91ciBicm93c2VyIG9yIHByZXNzIHtrZXlzdHJva2V9Il19LDc4Njk3OChlKXtlLmV4cG9ydHM9WyJBREoiXX0sNzMwODQwKGUpe2UuZXhwb3J0cz1bIkItQURKIl19LDMzNzk1NyhlKXtlLmV4cG9ydHM9WyJTRVQiXX0sNjUzODU5KGUpe2UuZXhwb3J0cz1bIkV4cGlyZWQiXX0sMzY0ODQzKGUpe2UuZXhwb3J0cz1bIk1hbnVhbGx5Il19LDQ2MzIzMihlKXtlLmV4cG9ydHM9WyJTdG9wcGVkIl19LDM2NzU3MyhlKXtlLmV4cG9ydHM9WyJUcmlnZ2VyZWQiXX0sNTMxODM0KGUpe2UuZXhwb3J0cz1bIkRlbGV0ZSBzZWxlY3RlZCBhbGVydHM/Il19LDQ1NjE1MihlKXtlLmV4cG9ydHM9WyJEZWxldGUgdGhpcyBhbGVydD8iXX0sNjgzNjI3KGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIl19LDg1OTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDg5MjM2MyhlKXtlLmV4cG9ydHM9WyJEIl19LDM5NDUwMShlKXtlLmV4cG9ydHM9WyJEIl19LDU3MDkzOShlKXtlLmV4cG9ydHM9WyJFIl19LDM5NDkyMShlKXtlLmV4cG9ydHM9WyJGIl19LDg2NjQ0KGUpe2UuZXhwb3J0cz1bIlIiXX0sNzU2NDU3KGUpe2UuZXhwb3J0cz1bIlIiXX0sMjU3MzI2KGUpe2UuZXhwb3J0cz1bIlMiXX0sMjMwNDkyKGUpe2UuZXhwb3J0cz1bImQiXX0sMTIyMDUzKGUpe2UuZXhwb3J0cz1bImgiXX0sMTY0NTE2KGUpe2UuZXhwb3J0cz1bIm0iXX0sMjYyMjA1KGUpe2UuZXhwb3J0cz1bInMiXX0sMzk4NDU5KGUpe2UuZXhwb3J0cz1bIkZyIl19LDM2NTUzNShlKXtlLmV4cG9ydHM9WyJNbyJdfSwyNjA0OTYoZSl7ZS5leHBvcnRzPVsiU2EiXX0sNjY5MTk5KGUpe2UuZXhwb3J0cz1bIlN1Il19LDQ1MTI3MShlKXtlLmV4cG9ydHM9WyJXZSJdfSw2Mjg1ODIoZSl7ZS5leHBvcnRzPVsiVGgiXX0sOTM5MzI5KGUpe2UuZXhwb3J0cz1bIlR1Il19LDc4NDkxMChlKXtlLmV4cG9ydHM9WyJBZ2ciXX0sMTkzNzI4KGUpe2UuZXhwb3J0cz1bIkFnZ3JlZ2F0ZWQiXX0sNzMwOTY2KGUpe2UuZXhwb3J0cz1bIk5vQWdnIl19LDM2MDgyMChlKXtlLmV4cG9ydHM9WyJOb24tYWdncmVnYXRlZCJdfSwzNDY0MjEoZSl7ZS5leHBvcnRzPVsiQW5udWFsIl19LDY3OTk5MShlKXtlLmV4cG9ydHM9WyJGSCJdfSwyOTUyODgoZSl7ZS5leHBvcnRzPVsiRlEiXX0sMzI0NjE0KGUpe2UuZXhwb3J0cz1bIkZZIl19LDkwMDU4MihlKXtlLmV4cG9ydHM9WyJONEZIIl19LDU3MTA0MChlKXtlLmV4cG9ydHM9WyJONEZRIl19LDE5NzkzMChlKXtlLmV4cG9ydHM9WyJONEZZIl19LDMzNDkyOShlKXtlLmV4cG9ydHM9WyJORkgiXX0sODY2MDUwKGUpe2UuZXhwb3J0cz1bIk5GUSJdfSw1ODc4ODIoZSl7ZS5leHBvcnRzPVsiTkZZIl19LDI4Nzk0OShlKXtlLmV4cG9ydHM9WyJOVE0iXX0sNDQyNTExKGUpe2UuZXhwb3J0cz1bIk5leHQgdHdlbHZlIG1vbnRocyJdfSw2MTE2NDAoZSl7ZS5leHBvcnRzPVsiU2VtaWFubnVhbCJdfSwyMzM4NTYoZSl7ZS5leHBvcnRzPVsiUXVhcnRlcmx5Il19LDU4ODIyMShlKXtlLmV4cG9ydHM9WyJUVE0iXX0sMTkxNDMyKGUpe2UuZXhwb3J0cz1bIkQiXX0sODg5MTAoZSl7ZS5leHBvcnRzPVsiTSJdfSwyODExMDcoZSl7CmUuZXhwb3J0cz1bIlIiXX0sMjE4MDM2KGUpe2UuZXhwb3J0cz1bIlQiXX0sMzIzNTcwKGUpe2UuZXhwb3J0cz1bIlciXX0sMjQwNzMoZSl7ZS5leHBvcnRzPVsiaCJdfSw2MTg0KGUpe2UuZXhwb3J0cz1bIm0iXX0sMzkwODA5KGUpe2UuZXhwb3J0cz1bInMiXX0sMjI5OTk0KGUpe2UuZXhwb3J0cz1bIkMiXX0sOTU0NjE0KGUpe2UuZXhwb3J0cz1bIkgiXX0sNjY2NzMwKGUpe2UuZXhwb3J0cz1bIkhMMiJdfSwxMDAzNChlKXtlLmV4cG9ydHM9WyJITEMzIl19LDE0MzgxNShlKXtlLmV4cG9ydHM9WyJPSExDNCJdfSw4Mzk0NjMoZSl7ZS5leHBvcnRzPVsiTCJdfSw5NjA1MTMoZSl7ZS5leHBvcnRzPVsiTyJdfSwzMjUxMTgoZSl7ZS5leHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5leHBvcnRzWyJFbnRlciB2YWx1ZV9pbnB1dCJdPVsiRW50ZXIgdmFsdWUiXSxlLmV4cG9ydHMuU2VhcmNoX2lucHV0PVsiU2VhcmNoIl0sZS5leHBvcnRzWyIlRCBMZW5ndGhfaW5wdXQiXT1bIiVEIExlbmd0aCJdLGUuZXhwb3J0c1siJUQgU21vb3RoaW5nX2lucHV0Il09WyIlRCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIiVEX2lucHV0Il09WyIlRCJdLGUuZXhwb3J0c1siJUsgTGVuZ3RoX2lucHV0Il09WyIlSyBMZW5ndGgiXSxlLmV4cG9ydHNbIiVLIFNtb290aGluZ19pbnB1dCJdPVsiJUsgU21vb3RoaW5nIl0sZS5leHBvcnRzWyIlS19pbnB1dCJdPVsiJUsiXSxlLmV4cG9ydHNbIiVSX2lucHV0Il09WyIlUiJdLGUuZXhwb3J0c1siK0RJX2lucHV0Il09WyIrREkiXSxlLmV4cG9ydHNbIi0wLjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiLTAuMjM2IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyItMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIi0wLjM4MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLTAuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyItMC42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIi0wLjY1IExldmVsIENvbG9yX2lucHV0Il09WyItMC42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLURJX2lucHV0Il09WyItREkiXSxlLmV4cG9ydHNbIjAgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjAuMjM2IExldmVsIENvbG9yX2lucHV0Il09WyIwLjIzNiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuMzgyIExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIwLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjc4NiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMC43ODYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuMjcyIExldmVsIENvbG9yX2lucHV0Il09WyIxLjI3MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMS40MTQgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNDE0IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIxLjYxOCBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMS42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuNjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNjUgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjFzdCBQZXJpb2RfaW5wdXQiXT1bIjFzdCBQZXJpb2QiXSxlLmV4cG9ydHNbIjIuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyIyLjYxOCBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMi42NSBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMi42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMm5kIFBlcmlvZF9pbnB1dCJdPVsiMm5kIFBlcmlvZCJdLGUuZXhwb3J0c1siMy42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjMuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIzLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzcmQgUGVyaW9kX2lucHV0Il09WyIzcmQgUGVyaW9kIl0sZS5leHBvcnRzWyI0LjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiNC4yMzYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjR0aCBQZXJpb2RfaW5wdXQiXT1bIjR0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjV0aCBQZXJpb2RfaW5wdXQiXT1bIjV0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjZ0aCBQZXJpb2RfaW5wdXQiXT1bIjZ0aCBQZXJpb2QiXSxlLmV4cG9ydHMuQURSX0JfaW5wdXQ9WyJBRFJfQiJdLGUuZXhwb3J0c1siQURYIFNtb290aGluZ19pbnB1dCJdPVsiQURYIFNtb290aGluZyJdLGUuZXhwb3J0c1siQURYIHNtb290aGluZ19pbnB1dCJdPVsiQURYIHNtb290aGluZyJdLGUuZXhwb3J0cy5BRFhfaW5wdXQ9WyJBRFgiXSxlLmV4cG9ydHNbIkFUUiBDb2VmZmljaWVudCAoeClfaW5wdXQiXT1bIkFUUiBDb2VmZmljaWVudCAoeCkiXSxlLmV4cG9ydHNbIkFUUiBMZW5ndGggKHApX2lucHV0Il09WyJBVFIgTGVuZ3RoIChwKSJdLGUuZXhwb3J0c1siQVRSIExlbmd0aF9pbnB1dCJdPVsiQVRSIExlbmd0aCJdLGUuZXhwb3J0c1siQVRSIE11bHRfaW5wdXQiXT1bIkFUUiBNdWx0Il0sZS5leHBvcnRzWyJBVFIgTXVsdGlwbGllcl9pbnB1dCJdPVsiQVRSIE11bHRpcGxpZXIiXSxlLmV4cG9ydHNbIkFUUiBsZW5ndGhfaW5wdXQiXT1bIkFUUiBsZW5ndGgiXSxlLmV4cG9ydHNbIkFUUih7YXRyVmFsdWV9KV9pbnB1dCJdPVsiQVRSKHthdHJWYWx1ZX0pIl0sZS5leHBvcnRzLkFUUl9pbnB1dD1bIkFUUiJdLGUuZXhwb3J0cy5BYnNvbHV0ZV9pbnB1dD1bIkFic29sdXRlIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX2lucHV0Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBZGRpdGlvbmFsIHNldHRpbmdzX2lucHV0Il09WyJBZGRpdGlvbmFsIHNldHRpbmdzIl0sZS5leHBvcnRzWyJBZGp1c3QgVW5jb25maXJtZWRfaW5wdXQiXT1bIkFkanVzdCBVbmNvbmZpcm1lZCJdLAplLmV4cG9ydHNbIkFsbCBpdGVtc19jb21ib2JveF9pbnB1dCJdPVsiQWxsIGl0ZW1zIl0sZS5leHBvcnRzLkFsbF9pbnB1dD1bIkFsbCJdLGUuZXhwb3J0c1siQW5jaG9yIFBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIFBlcmlvZCJdLGUuZXhwb3J0c1siQW5jaG9yIFRpbWVmcmFtZV9pbnB1dCJdPVsiQW5jaG9yIFRpbWVmcmFtZSJdLGUuZXhwb3J0c1siQW5jaG9yIHBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIHBlcmlvZCJdLGUuZXhwb3J0c1siQW5vdGhlciBzeW1ib2xfaW5wdXQiXT1bIkFub3RoZXIgc3ltYm9sIl0sZS5leHBvcnRzWyJBcm9vbiBEb3duX2lucHV0Il09WyJBcm9vbiBEb3duIl0sZS5leHBvcnRzWyJBcm9vbiBVcF9pbnB1dCJdPVsiQXJvb24gVXAiXSxlLmV4cG9ydHNbIkFycm93IChib3RoKV9pbnB1dCJdPVsiQXJyb3cgKGJvdGgpIl0sZS5leHBvcnRzWyJBcnJvdyAobGVmdClfaW5wdXQiXT1bIkFycm93IChsZWZ0KSJdLGUuZXhwb3J0c1siQXJyb3cgKHJpZ2h0KV9pbnB1dCJdPVsiQXJyb3cgKHJpZ2h0KSJdLGUuZXhwb3J0cy5BdXRvVGltZWZyYW1lX2lucHV0PVsiQXV0b1RpbWVmcmFtZSJdLGUuZXhwb3J0cy5BdXRvX2lucHV0PVsiQXV0byJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX2lucHV0Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHMuQXZlcmFnZV9pbnB1dD1bIkF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2luZyBQZXJpb2RzX2lucHV0Il09WyJBdmVyYWdpbmcgUGVyaW9kcyJdLGUuZXhwb3J0c1siQXdhaXRpbmcgYW5kIFJlYWNoZWRfaW5wdXQiXT1bIkF3YWl0aW5nIGFuZCBSZWFjaGVkIl0sZS5leHBvcnRzWyJCQiBTdGREZXZfaW5wdXQiXT1bIkJCIFN0ZERldiJdLGUuZXhwb3J0cy5CYWNrX2lucHV0PVsiQmFjayJdLGUuZXhwb3J0c1siQmFja2dyb3VuZCBUcmFuc3BhcmVuY3lfaW5wdXQiXT1bIkJhY2tncm91bmQgVHJhbnNwYXJlbmN5Il0sZS5leHBvcnRzLkJhY2tncm91bmRfaW5wdXQ9WyJCYWNrZ3JvdW5kIl0sZS5leHBvcnRzWyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMxX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMxIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMyX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMyIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMzX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMzIl0sZS5leHBvcnRzWyJCYW5kcyBTZXR0aW5nc19pbnB1dCJdPVsiQmFuZHMgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkJhbmRzIFN0eWxlX2lucHV0Il09WyJCYW5kcyBTdHlsZSJdLGUuZXhwb3J0c1siQmFuZHMgc3R5bGVfaW5wdXQiXT1bIkJhbmRzIHN0eWxlIl0sZS5leHBvcnRzLkJhcl9pbnB1dD1bIkJhciJdLGUuZXhwb3J0c1siQmFycyBCYWNrX2lucHV0Il09WyJCYXJzIEJhY2siXSxlLmV4cG9ydHNbIkJhcnMgdG8gQnJlYWtvdXRfaW5wdXQiXT1bIkJhcnMgdG8gQnJlYWtvdXQiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBMZW5ndGhfaW5wdXQiXT1bIkJhc2UgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBQZXJpb2RzX2lucHV0Il09WyJCYXNlIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQmFzZSBMaW5lX2lucHV0Il09WyJCYXNlIExpbmUiXSxlLmV4cG9ydHNbIkJhc2lzIE1BIFR5cGVfaW5wdXQiXT1bIkJhc2lzIE1BIFR5cGUiXSxlLmV4cG9ydHMuQmFzaXNfaW5wdXQ9WyJCYXNpcyJdLGUuZXhwb3J0c1siQmVhcmlzaCBDb2xvcl9pbnB1dCJdPVsiQmVhcmlzaCBDb2xvciJdLGUuZXhwb3J0c1siQmVhcmlzaCBGbGFnX2lucHV0Il09WyJCZWFyaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJlYXJpc2ggUGVubmFudF9pbnB1dCJdPVsiQmVhcmlzaCBQZW5uYW50Il0sZS5leHBvcnRzLkJpeWVhcmx5X2lucHV0PVsiQml5ZWFybHkiXSxlLmV4cG9ydHNbIkJsb2NrIFNpemVfaW5wdXQiXT1bIkJsb2NrIFNpemUiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyAlQl9pbnB1dCJdPVsiQm9sbGluZ2VyIEJhbmRzICVCIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgV2lkdGhfaW5wdXQiXT1bIkJvbGxpbmdlciBCYW5kcyBXaWR0aCJdLGUuZXhwb3J0c1siQm9yZGVyIGFuZCBmaWxsIGNvbG9yc19pbnB1dCJdPVsiQm9yZGVyIGFuZCBmaWxsIGNvbG9ycyJdLGUuZXhwb3J0cy5Cb3JkZXJzX2lucHV0PVsiQm9yZGVycyJdLGUuZXhwb3J0cy5Cb3RoX2lucHV0PVsiQm90aCJdLGUuZXhwb3J0cy5Cb3R0b21zX2lucHV0PVsiQm90dG9tcyJdLGUuZXhwb3J0c1siQm94IHNpemUgYXNzaWdubWVudCBtZXRob2RfaW5wdXQiXT1bIkJveCBzaXplIGFzc2lnbm1lbnQgbWV0aG9kIl0sZS5leHBvcnRzWyJCb3ggc2l6ZV9pbnB1dCJdPVsiQm94IHNpemUiXSxlLmV4cG9ydHMuQm94ZXNfaW5wdXQ9WyJCb3hlcyJdLGUuZXhwb3J0c1siQnVsbGlzaCBDb2xvcl9pbnB1dCJdPVsiQnVsbGlzaCBDb2xvciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnX2lucHV0Il09WyJCdWxsaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJ1bGxpc2ggUGVubmFudF9pbnB1dCJdPVsiQnVsbGlzaCBQZW5uYW50Il0sZS5leHBvcnRzWyJDQ0kgMTQgTGVuZ3RoX2lucHV0Il09WyJDQ0kgMTQgTGVuZ3RoIl0sZS5leHBvcnRzWyJDQ0kgVHVyYm8gTGVuZ3RoX2lucHV0Il09WyJDQ0kgVHVyYm8gTGVuZ3RoIl0sZS5leHBvcnRzLkNDSV9pbnB1dD1bIkNDSSJdLGUuZXhwb3J0cy5DSE9QX2lucHV0PVsiQ0hPUCJdLGUuZXhwb3J0c1siQ2FsY3VsYXRlIERpdmVyZ2VuY2VfaW5wdXQiXT1bIkNhbGN1bGF0ZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzLkNhbGN1bGF0aW9uX2lucHV0PVsiQ2FsY3VsYXRpb24iXSxlLmV4cG9ydHMuQ2FtYXJpbGxhX2lucHV0PVsiQ2FtYXJpbGxhIl0sZS5leHBvcnRzLkNhbmNlbF9pbnB1dD1bIkNhbmNlbCJdLGUuZXhwb3J0cy5DYW5kbGVzX2lucHV0PVsiQ2FuZGxlcyJdLAplLmV4cG9ydHMuQ2VudGVyX2lucHV0PVsiQ2VudGVyIl0sZS5leHBvcnRzLkNlbnRlcmVkX2lucHV0PVsiQ2VudGVyZWQiXSxlLmV4cG9ydHMuQ2VudHVyeV9pbnB1dD1bIkNlbnR1cnkiXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9pbnB1dCJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFuZGUgTU9faW5wdXQiXT1bIkNoYW5kZSBNTyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBTZXR0aW5nc19pbnB1dCJdPVsiQ2hhbm5lbCBTZXR0aW5ncyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBXaWR0aCBSYXRpbyBTdGFydC9FbmRfaW5wdXQiXT1bIkNoYW5uZWwgV2lkdGggUmF0aW8gU3RhcnQvRW5kIl0sZS5leHBvcnRzLkNsYXNzaWNfaW5wdXQ9WyJDbGFzc2ljIl0sZS5leHBvcnRzWyJDbG9zZSBHYXBzIFBhcnRpYWxseV9pbnB1dCJdPVsiQ2xvc2UgR2FwcyBQYXJ0aWFsbHkiXSxlLmV4cG9ydHMuQ2xvc2VfaW5wdXQ9WyJDbG9zZSJdLGUuZXhwb3J0c1siQ29sb3IgMF9pbnB1dCJdPVsiQ29sb3IgMCJdLGUuZXhwb3J0c1siQ29sb3IgMV9pbnB1dCJdPVsiQ29sb3IgMSJdLGUuZXhwb3J0c1siQ29sb3IgMl9pbnB1dCJdPVsiQ29sb3IgMiJdLGUuZXhwb3J0c1siQ29sb3IgM19pbnB1dCJdPVsiQ29sb3IgMyJdLGUuZXhwb3J0c1siQ29sb3IgNF9pbnB1dCJdPVsiQ29sb3IgNCJdLGUuZXhwb3J0c1siQ29sb3IgNV9pbnB1dCJdPVsiQ29sb3IgNSJdLGUuZXhwb3J0c1siQ29sb3IgNl9pbnB1dCJdPVsiQ29sb3IgNiJdLGUuZXhwb3J0c1siQ29sb3IgN19pbnB1dCJdPVsiQ29sb3IgNyJdLGUuZXhwb3J0c1siQ29sb3IgOF9pbnB1dCJdPVsiQ29sb3IgOCJdLGUuZXhwb3J0c1siQ29sb3IgU2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIFNldHRpbmdzIl0sZS5leHBvcnRzWyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlX2lucHV0Il09WyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlIl0sZS5leHBvcnRzWyJDb2xvciBiYXNlZCBvbiBwcmV2aW91cyBjbG9zZV9pbnB1dCJdPVsiQ29sb3IgYmFzZWQgb24gcHJldmlvdXMgY2xvc2UiXSxlLmV4cG9ydHNbIkNvbG9yIGludGVuc2l0eSBjdXRvZmYgKCUpX2lucHV0Il09WyJDb2xvciBpbnRlbnNpdHkgY3V0b2ZmICglKSJdLGUuZXhwb3J0c1siQ29sb3Igc2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIHNldHRpbmdzIl0sZS5leHBvcnRzWyJDb25maXJtIGJhcnNfaW5wdXQiXT1bIkNvbmZpcm0gYmFycyJdLGUuZXhwb3J0c1siQ29uc2VjdXRpdmUgYmFycyBkb3duX2lucHV0Il09WyJDb25zZWN1dGl2ZSBiYXJzIGRvd24iXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIGJhcnMgdXBfaW5wdXQiXT1bIkNvbnNlY3V0aXZlIGJhcnMgdXAiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBMZW5ndGhfaW5wdXQiXT1bIkNvbnZlcnNpb24gTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBQZXJpb2RzX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQ29udmVyc2lvbiBMaW5lX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUiXSxlLmV4cG9ydHMuQ29ycmVjdGl2ZV9pbnB1dD1bIkNvcnJlY3RpdmUiXSxlLmV4cG9ydHMuQ29ycmVsYXRpb25faW5wdXQ9WyJDb3JyZWxhdGlvbiJdLGUuZXhwb3J0cy5Db3VudF9pbnB1dD1bIkNvdW50Il0sZS5leHBvcnRzLkNyb3NzZXNfaW5wdXQ9WyJDcm9zc2VzIl0sZS5leHBvcnRzLkN1bXVsYXRpdmVfaW5wdXQ9WyJDdW11bGF0aXZlIl0sZS5leHBvcnRzWyJDdXAgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJDdXAgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkN1c3RvbSBzZXNzaW9uX2lucHV0Il09WyJDdXN0b20gc2Vzc2lvbiJdLGUuZXhwb3J0cy5DdXN0b21faW5wdXQ9WyJDdXN0b20iXSxlLmV4cG9ydHMuREVNQV9pbnB1dD1bIkRFTUEiXSxlLmV4cG9ydHNbIkRJIExlbmd0aF9pbnB1dCJdPVsiREkgTGVuZ3RoIl0sZS5leHBvcnRzLkRNX2lucHV0PVsiRE0iXSxlLmV4cG9ydHMuRFBPX2lucHV0PVsiRFBPIl0sZS5leHBvcnRzLkRfaW5wdXQ9WyJEIl0sZS5leHBvcnRzLkRhaWx5X2lucHV0PVsiRGFpbHkiXSxlLmV4cG9ydHMuRGFzaGVkX2lucHV0PVsiRGFzaGVkIl0sZS5leHBvcnRzLkRheV9pbnB1dD1bIkRheSJdLGUuZXhwb3J0c1siRGF5cyBCYWNrX2lucHV0Il09WyJEYXlzIEJhY2siXSxlLmV4cG9ydHNbIkRheXMgUGVyIFllYXJfaW5wdXQiXT1bIkRheXMgUGVyIFllYXIiXSxlLmV4cG9ydHMuRGVjYWRlX2lucHV0PVsiRGVjYWRlIl0sZS5leHBvcnRzLkRlY2VubmlhbGx5X2lucHV0PVsiRGVjZW5uaWFsbHkiXSxlLmV4cG9ydHMuRGVmYXVsdF9pbnB1dD1bIkRlZmF1bHQiXSxlLmV4cG9ydHMuRGVsdGFfaW5wdXQ9WyJEZWx0YSJdLGUuZXhwb3J0cy5EZXB0aF9pbnB1dD1bIkRlcHRoIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9pbnB1dCJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRldmVsb3BpbmcgUG9jX2lucHV0Il09WyJEZXZlbG9waW5nIFBvYyJdLGUuZXhwb3J0c1siRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiRGV2aWF0aW9uICglKSJdLGUuZXhwb3J0cy5EZXZpYXRpb25faW5wdXQ9WyJEZXZpYXRpb24iXSxlLmV4cG9ydHNbIkRpc3BsYXkgU2V0dGluZ3NfaW5wdXQiXT1bIkRpc3BsYXkgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWVfaW5wdXQiXT1bIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWUiXSxlLmV4cG9ydHNbIkRpc3BsYXkgcmV2ZXJzYWwgcHJpY2UgY2hhbmdlX2lucHV0Il09WyJEaXNwbGF5IHJldmVyc2FsIHByaWNlIGNoYW5nZSJdLGUuZXhwb3J0c1siRGlzcGxheSByZXZlcnNhbCBwcmljZV9pbnB1dCJdPVsiRGlzcGxheSByZXZlcnNhbCBwcmljZSJdLGUuZXhwb3J0c1siRGlzcGxheWVkIG5hbWVfaW5wdXQiXT1bIkRpc3BsYXllZCBuYW1lIl0sCmUuZXhwb3J0cy5EaXZpZGVuZHNfaW5wdXQ9WyJEaXZpZGVuZHMiXSxlLmV4cG9ydHMuRGl2aXNvcl9pbnB1dD1bIkRpdmlzb3IiXSxlLmV4cG9ydHMuRG90dGVkX2lucHV0PVsiRG90dGVkIl0sZS5leHBvcnRzWyJEb3VibGUgQm90dG9tX2lucHV0Il09WyJEb3VibGUgQm90dG9tIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wX2lucHV0Il09WyJEb3VibGUgVG9wIl0sZS5leHBvcnRzWyJEb3duIEdhcHNfaW5wdXQiXT1bIkRvd24gR2FwcyJdLGUuZXhwb3J0c1siRG93biBWb2x1bWVfaW5wdXQiXT1bIkRvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJEb3duIGJhcnNfaW5wdXQiXT1bIkRvd24gYmFycyJdLGUuZXhwb3J0c1siRG93biBjb2xvcl9pbnB1dCJdPVsiRG93biBjb2xvciJdLGUuZXhwb3J0c1siRG93biBmcmFjdGFsc19pbnB1dCJdPVsiRG93biBmcmFjdGFscyJdLGUuZXhwb3J0c1siRHJhdyBzZXNzaW9uIG9wZW4gYW5kIGNsb3NlIGxpbmVzX2lucHV0Il09WyJEcmF3IHNlc3Npb24gb3BlbiBhbmQgY2xvc2UgbGluZXMiXSxlLmV4cG9ydHNbIkVNQSBMZW5ndGhfaW5wdXQiXT1bIkVNQSBMZW5ndGgiXSxlLmV4cG9ydHMuRU1BX2lucHV0PVsiRU1BIl0sZS5leHBvcnRzLkVPTV9pbnB1dD1bIkVPTSJdLGUuZXhwb3J0c1siRWFjaCAocHJlLW1hcmtldCwgbWFya2V0LCBwb3N0LW1hcmtldClfaW5wdXQiXT1bIkVhY2ggKHByZS1tYXJrZXQsIG1hcmtldCwgcG9zdC1tYXJrZXQpIl0sZS5leHBvcnRzLkVhcm5pbmdzX2lucHV0PVsiRWFybmluZ3MiXSxlLmV4cG9ydHNbIkVsZGVyJ3MgRm9yY2UgSW5kZXhfaW5wdXQiXT1bIkVsZGVyJ3MgRm9yY2UgSW5kZXgiXSxlLmV4cG9ydHNbIkVxdWFsaXR5IExpbmVfaW5wdXQiXT1bIkVxdWFsaXR5IExpbmUiXSxlLmV4cG9ydHMuRXhjaGFuZ2VfaW5wdXQ9WyJFeGNoYW5nZSJdLGUuZXhwb3J0cy5FeHBvbmVudGlhbF9pbnB1dD1bIkV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJFeHRlbmQgTGluZXMgTGVmdF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIExlZnQiXSxlLmV4cG9ydHNbIkV4dGVuZCBMaW5lcyBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUE9DIFJpZ2h0X2lucHV0Il09WyJFeHRlbmQgUE9DIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUmlnaHRfaW5wdXQiXT1bIkV4dGVuZCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBSCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBSCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBTCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBTCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIGxlZnRfaW5wdXQiXT1bIkV4dGVuZCBsZWZ0Il0sZS5leHBvcnRzWyJFeHRlbmQgdG8gbGFzdCBiYXJfaW5wdXQiXT1bIkV4dGVuZCB0byBsYXN0IGJhciJdLGUuZXhwb3J0cy5GYWN0b3JfaW5wdXQ9WyJGYWN0b3IiXSxlLmV4cG9ydHNbIkZhbGwgQm9keV9pbnB1dCJdPVsiRmFsbCBCb2R5Il0sZS5leHBvcnRzWyJGYWxsaW5nIFdlZGdlX2lucHV0Il09WyJGYWxsaW5nIFdlZGdlIl0sZS5leHBvcnRzLkZhbGxpbmdfaW5wdXQ9WyJGYWxsaW5nIl0sZS5leHBvcnRzWyJGYXN0IExlbmd0aF9pbnB1dCJdPVsiRmFzdCBMZW5ndGgiXSxlLmV4cG9ydHNbIkZhc3QgTUEgUGVyaW9kX2lucHV0Il09WyJGYXN0IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siRmFzdCBsZW5ndGhfaW5wdXQiXT1bIkZhc3QgbGVuZ3RoIl0sZS5leHBvcnRzLkZpYm9uYWNjaV9pbnB1dD1bIkZpYm9uYWNjaSJdLGUuZXhwb3J0cy5GaWxsX2lucHV0PVsiRmlsbCJdLGUuZXhwb3J0c1siRmlyc3QgU2Vzc2lvbl9pbnB1dCJdPVsiRmlyc3QgU2Vzc2lvbiJdLGUuZXhwb3J0cy5GaXNoZXJfaW5wdXQ9WyJGaXNoZXIiXSxlLmV4cG9ydHMuRmxhZ19pbnB1dD1bIkZsYWciXSxlLmV4cG9ydHMuRnJvbV9pbnB1dD1bIkZyb20iXSxlLmV4cG9ydHNbIkdyYXBoaWMgb2JqZWN0c19pbnB1dCJdPVsiR3JhcGhpYyBvYmplY3RzIl0sZS5leHBvcnRzLkdyb3dpbmdfaW5wdXQ9WyJHcm93aW5nIl0sZS5leHBvcnRzWyJHcm93dGggQm9keV9pbnB1dCJdPVsiR3Jvd3RoIEJvZHkiXSxlLmV4cG9ydHNbIkhMQyBiYXJzX2lucHV0Il09WyJITEMgYmFycyJdLGUuZXhwb3J0cy5IVl9pbnB1dD1bIkhWIl0sZS5leHBvcnRzWyJIYW5kbGUgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJIYW5kbGUgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnNfaW5wdXQiXT1bIkhlYWQgYW5kIFNob3VsZGVycyJdLGUuZXhwb3J0cy5IZWFkZXJzX2lucHV0PVsiSGVhZGVycyJdLGUuZXhwb3J0c1siSGVhdG1hcCBzZXR0aW5nc19pbnB1dCJdPVsiSGVhdG1hcCBzZXR0aW5ncyJdLGUuZXhwb3J0c1siSGVpa2luIEFzaGkgUmFuZ2VfaW5wdXQiXT1bIkhlaWtpbiBBc2hpIFJhbmdlIl0sZS5leHBvcnRzWyJIaWRlIFZXQVAgb24gMUQgb3IgQWJvdmVfaW5wdXQiXT1bIkhpZGUgVldBUCBvbiAxRCBvciBBYm92ZSJdLGUuZXhwb3J0c1siSGlnaC9Mb3cgUmFuZ2VfaW5wdXQiXT1bIkhpZ2gvTG93IFJhbmdlIl0sZS5leHBvcnRzLkhpZ2hlcl9pbnB1dD1bIkhpZ2hlciJdLGUuZXhwb3J0c1siSGlnaGVzdCBFeHBhbnNpb24gTGVuZ3RoX2lucHV0Il09WyJIaWdoZXN0IEV4cGFuc2lvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkhpZ2hlc3QgSGlnaF9pbnB1dCJdPVsiSGlnaGVzdCBIaWdoIl0sZS5leHBvcnRzWyJIaWdoZXN0IFZvbHVtZV9pbnB1dCJdPVsiSGlnaGVzdCBWb2x1bWUiXSxlLmV4cG9ydHNbIkhpc3RvZ3JhbSBCb3hfaW5wdXQiXT1bIkhpc3RvZ3JhbSBCb3giXSxlLmV4cG9ydHMuSGlzdG9ncmFtX2lucHV0PVsiSGlzdG9ncmFtIl0sZS5leHBvcnRzLkhvdXJfaW5wdXQ9WyJIb3VyIl0sZS5leHBvcnRzWyJIdWxsIE1BX2lucHV0Il09WyJIdWxsIE1BIl0sZS5leHBvcnRzWyJJZ25vcmVkIG1vbnRoc19pbnB1dCJdPVsiSWdub3JlZCBtb250aHMiXSxlLmV4cG9ydHNbIkluIFByb2dyZXNzX2lucHV0Il09WyJJbiBQcm9ncmVzcyJdLAplLmV4cG9ydHNbIkluY2x1ZGUgQ2hhcnQgU3ltYm9sX2lucHV0Il09WyJJbmNsdWRlIENoYXJ0IFN5bWJvbCJdLGUuZXhwb3J0cy5JbmNyZW1lbnRfaW5wdXQ9WyJJbmNyZW1lbnQiXSxlLmV4cG9ydHNbIkluZGljYXRvciBUaW1lZnJhbWVfaW5wdXQiXT1bIkluZGljYXRvciBUaW1lZnJhbWUiXSxlLmV4cG9ydHMuSW5kaWNhdG9yX2lucHV0PVsiSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJJbnB1dCB2YWx1ZXNfaW5wdXQiXT1bIklucHV0IHZhbHVlcyJdLGUuZXhwb3J0cy5JbnNpZGVfaW5wdXQ9WyJJbnNpZGUiXSxlLmV4cG9ydHNbIkluc3RydW1lbnQgMV9pbnB1dCJdPVsiSW5zdHJ1bWVudCAxIl0sZS5leHBvcnRzWyJJbnN0cnVtZW50IDJfaW5wdXQiXT1bIkluc3RydW1lbnQgMiJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1heGltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1heGltYSJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1pbmltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1pbmltYSJdLGUuZXhwb3J0c1siSW52ZXJ0IFBhdHRlcm5faW5wdXQiXT1bIkludmVydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiSW52ZXJ0ZWQgQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkludmVydGVkIEhlYWQgYW5kIFNob3VsZGVyc19pbnB1dCJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgMSBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDIgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgMiBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDMgbGVuZ3RoIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgNCBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDUgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgNSBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDYgbGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgTGVuZ3RoX2lucHV0Il09WyJKYXcgTGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgT2Zmc2V0X2lucHV0Il09WyJKYXcgT2Zmc2V0Il0sZS5leHBvcnRzLkphd19pbnB1dD1bIkphdyJdLGUuZXhwb3J0cy5LUGVyaW9kX2lucHV0PVsiS1BlcmlvZCJdLGUuZXhwb3J0cy5LU1RfaW5wdXQ9WyJLU1QiXSxlLmV4cG9ydHMuS19pbnB1dD1bIksiXSxlLmV4cG9ydHNbIkxFTkdUSCBMRUZUIC8gUklHSFRfaW5wdXQiXT1bIkxFTkdUSCBMRUZUIC8gUklHSFQiXSxlLmV4cG9ydHNbIkxhYmVscyBQb3NpdGlvbl9pbnB1dCJdPVsiTGFiZWxzIFBvc2l0aW9uIl0sZS5leHBvcnRzWyJMYWJlbHMgb24gcHJpY2Ugc2NhbGVfaW5wdXQiXT1bIkxhYmVscyBvbiBwcmljZSBzY2FsZSJdLGUuZXhwb3J0cy5MYWJlbHNfaW5wdXQ9WyJMYWJlbHMiXSxlLmV4cG9ydHNbIkxhZ2dpbmcgU3BhbiBQZXJpb2RzX2lucHV0Il09WyJMYWdnaW5nIFNwYW4gUGVyaW9kcyJdLGUuZXhwb3J0c1siTGFnZ2luZyBTcGFuX2lucHV0Il09WyJMYWdnaW5nIFNwYW4iXSxlLmV4cG9ydHMuTGFyZ2VfaW5wdXQ9WyJMYXJnZSJdLGUuZXhwb3J0c1siTGFzdCBBd2FpdGluZ19pbnB1dCJdPVsiTGFzdCBBd2FpdGluZyJdLGUuZXhwb3J0c1siTGVhZGluZyBTaGlmdCBQZXJpb2RzX2lucHV0Il09WyJMZWFkaW5nIFNoaWZ0IFBlcmlvZHMiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBBX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQSJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIEIgTGVuZ3RoX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBCX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIFBlcmlvZHNfaW5wdXQiXT1bIkxlYWRpbmcgU3BhbiBQZXJpb2RzIl0sZS5leHBvcnRzLkxlZnRfaW5wdXQ9WyJMZWZ0Il0sZS5leHBvcnRzWyJMZW5ndGggRU1BX2lucHV0Il09WyJMZW5ndGggRU1BIl0sZS5leHBvcnRzWyJMZW5ndGggTUFfaW5wdXQiXT1bIkxlbmd0aCBNQSJdLGUuZXhwb3J0c1siTGVuZ3RoIHR5cGVfaW5wdXQiXT1bIkxlbmd0aCB0eXBlIl0sZS5leHBvcnRzLkxlbmd0aDFfaW5wdXQ9WyJMZW5ndGgxIl0sZS5leHBvcnRzLkxlbmd0aDJfaW5wdXQ9WyJMZW5ndGgyIl0sZS5leHBvcnRzLkxlbmd0aDNfaW5wdXQ9WyJMZW5ndGgzIl0sZS5leHBvcnRzLkxlbmd0aF9pbnB1dD1bIkxlbmd0aCJdLGUuZXhwb3J0cy5MZXZlbF9pbnB1dD1bIkxldmVsIl0sZS5leHBvcnRzWyJMZXZlbHMgRm9ybWF0X2lucHV0Il09WyJMZXZlbHMgRm9ybWF0Il0sZS5leHBvcnRzWyJMaW1pdCBNYXggR2FwIFRyYWlsIExlbmd0aCAoYmFycylfaW5wdXQiXT1bIkxpbWl0IE1heCBHYXAgVHJhaWwgTGVuZ3RoIChiYXJzKSJdLGUuZXhwb3J0cy5MaW1pdF9pbnB1dD1bIkxpbWl0Il0sZS5leHBvcnRzWyJMaW5lIFNpemVfaW5wdXQiXT1bIkxpbmUgU2l6ZSJdLGUuZXhwb3J0c1siTGluZSBXaWR0aF9pbnB1dCJdPVsiTGluZSBXaWR0aCJdLGUuZXhwb3J0c1siTGluZSBjb2xvcl9pbnB1dCJdPVsiTGluZSBjb2xvciJdLGUuZXhwb3J0c1siTGluZSBmaWxsc19pbnB1dCJdPVsiTGluZSBmaWxscyJdLGUuZXhwb3J0cy5MaW5lX2lucHV0PVsiTGluZSJdLGUuZXhwb3J0cy5MaW5lc19pbnB1dD1bIkxpbmVzIl0sZS5leHBvcnRzWyJMaXBzIExlbmd0aF9pbnB1dCJdPVsiTGlwcyBMZW5ndGgiXSxlLmV4cG9ydHNbIkxpcHMgT2Zmc2V0X2lucHV0Il09WyJMaXBzIE9mZnNldCJdLGUuZXhwb3J0cy5MaXBzX2lucHV0PVsiTGlwcyJdLGUuZXhwb3J0c1siTG9uZyBCQiBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBMZW5ndGgiXSwKZS5leHBvcnRzWyJMb25nIE1BIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvbmcgUkNJIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIFJvQyBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgUm9DIExlbmd0aCJdLGUuZXhwb3J0c1siTG9uZyBsZW5ndGhfaW5wdXQiXT1bIkxvbmcgbGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIHBlcmlvZF9pbnB1dCJdPVsiTG9uZyBwZXJpb2QiXSxlLmV4cG9ydHMuTG9uZ19pbnB1dD1bIkxvbmciXSxlLmV4cG9ydHNbIkxvd2VyIEJhbmRfaW5wdXQiXT1bIkxvd2VyIEJhbmQiXSxlLmV4cG9ydHNbIkxvd2VyIERldmlhdGlvbl9pbnB1dCJdPVsiTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJMb3dlciBQZXJjZW50YWdlX2lucHV0Il09WyJMb3dlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLkxvd2VyTGltaXRfaW5wdXQ9WyJMb3dlckxpbWl0Il0sZS5leHBvcnRzLkxvd2VyX2lucHV0PVsiTG93ZXIiXSxlLmV4cG9ydHNbIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGhfaW5wdXQiXT1bIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvd2VzdCBMb3dfaW5wdXQiXT1bIkxvd2VzdCBMb3ciXSxlLmV4cG9ydHNbIk1BICMxX2lucHV0Il09WyJNQSAjMSJdLGUuZXhwb3J0c1siTUEgIzJfaW5wdXQiXT1bIk1BICMyIl0sZS5leHBvcnRzWyJNQSAjM19pbnB1dCJdPVsiTUEgIzMiXSxlLmV4cG9ydHNbIk1BICM0X2lucHV0Il09WyJNQSAjNCJdLGUuZXhwb3J0c1siTUEgTGVuZ3RoX2lucHV0Il09WyJNQSBMZW5ndGgiXSxlLmV4cG9ydHMuTUFDRF9pbnB1dD1bIk1BQ0QiXSxlLmV4cG9ydHMuTUFfaW5wdXQ9WyJNQSJdLGUuZXhwb3J0cy5NQXNfaW5wdXQ9WyJNQXMiXSxlLmV4cG9ydHMuTUZfaW5wdXQ9WyJNRiJdLGUuZXhwb3J0cy5NTV9tb250aF9pbnB1dD1bIk1NIl0sZS5leHBvcnRzLk1PTV9pbnB1dD1bIk1PTSJdLGUuZXhwb3J0c1siTWFpbiBXYXZlc19pbnB1dCJdPVsiTWFpbiBXYXZlcyJdLGUuZXhwb3J0c1siTWFpbiBjaGFydCBzeW1ib2xfaW5wdXQiXT1bIk1haW4gY2hhcnQgc3ltYm9sIl0sZS5leHBvcnRzLk1hbnVhbF9pbnB1dD1bIk1hbnVhbCJdLGUuZXhwb3J0c1siTWFya2V0IENsb3NlZCBQZXJjZW50YWdlX2lucHV0Il09WyJNYXJrZXQgQ2xvc2VkIFBlcmNlbnRhZ2UiXSxlLmV4cG9ydHNbIk1hcmtldCBvbmx5X2lucHV0Il09WyJNYXJrZXQgb25seSJdLGUuZXhwb3J0c1siTWF4IE51bWJlciBvZiBHYXBzX2lucHV0Il09WyJNYXggTnVtYmVyIG9mIEdhcHMiXSxlLmV4cG9ydHNbIk1heCBSb2xsYmFja19pbnB1dCJdPVsiTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJNYXggaW50cmFkYXkgZmlsbGVkIG9yZGVyc19pbnB1dCJdPVsiTWF4IGludHJhZGF5IGZpbGxlZCBvcmRlcnMiXSxlLmV4cG9ydHNbIk1heCBpbnRyYWRheSBsb3NzICglKV9pbnB1dCJdPVsiTWF4IGludHJhZGF5IGxvc3MgKCUpIl0sZS5leHBvcnRzWyJNYXggb2YgTG9va2JhY2sgUmFuZ2VfaW5wdXQiXT1bIk1heCBvZiBMb29rYmFjayBSYW5nZSJdLGUuZXhwb3J0c1siTWF4IHZhbHVlX2lucHV0Il09WyJNYXggdmFsdWUiXSxlLmV4cG9ydHNbIk1lZGlhbiBMZW5ndGhfaW5wdXQiXT1bIk1lZGlhbiBMZW5ndGgiXSxlLmV4cG9ydHNbIk1lZGlhbiBTb3VyY2VfaW5wdXQiXT1bIk1lZGlhbiBTb3VyY2UiXSxlLmV4cG9ydHMuTWVkaWFuX2lucHV0PVsiTWVkaWFuIl0sZS5leHBvcnRzLk1ldGhvZF9pbnB1dD1bIk1ldGhvZCJdLGUuZXhwb3J0c1siTWlkZGxlIExlbmd0aF9pbnB1dCJdPVsiTWlkZGxlIExlbmd0aCJdLGUuZXhwb3J0c1siTWlkZGxlIFJDSSBMZW5ndGhfaW5wdXQiXT1bIk1pZGRsZSBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzLk1pZGRsZV9pbnB1dD1bIk1pZGRsZSJdLGUuZXhwb3J0c1siTWluIG9mIExvb2tiYWNrIFJhbmdlX2lucHV0Il09WyJNaW4gb2YgTG9va2JhY2sgUmFuZ2UiXSxlLmV4cG9ydHNbIk1pbmltYWwgRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiTWluaW1hbCBEZXZpYXRpb24gKCUpIl0sZS5leHBvcnRzLk1pbmltaXplX2lucHV0PVsiTWluaW1pemUiXSxlLmV4cG9ydHMuTWludXRlX2lucHV0PVsiTWludXRlIl0sZS5leHBvcnRzWyJNb2RpZmllZCBTY2hpZmZfaW5wdXQiXT1bIk1vZGlmaWVkIFNjaGlmZiJdLGUuZXhwb3J0c1siTW9tZW50dW0gUGVyaW9kX2lucHV0Il09WyJNb21lbnR1bSBQZXJpb2QiXSxlLmV4cG9ydHMuTW9udGhfaW5wdXQ9WyJNb250aCJdLGUuZXhwb3J0cy5Nb250aGx5X2lucHV0PVsiTW9udGhseSJdLGUuZXhwb3J0cy5Nb3RpdmVfaW5wdXQ9WyJNb3RpdmUiXSxlLmV4cG9ydHMuTW92ZV9pbnB1dD1bIk1vdmUiXSxlLmV4cG9ydHNbIk11bHRpIHRpbWVmcmFtZV9pbnB1dCJdPVsiTXVsdGkgdGltZWZyYW1lIl0sZS5leHBvcnRzLk11bHRpcGxpZXJfaW5wdXQ9WyJNdWx0aXBsaWVyIl0sZS5leHBvcnRzLk5WX2lucHV0PVsiTlYiXSxlLmV4cG9ydHNbIk5lY2sgbGluZV9pbnB1dCJdPVsiTmVjayBsaW5lIl0sZS5leHBvcnRzWyJOZWdhdGl2ZSBDb2xvcl9pbnB1dCJdPVsiTmVnYXRpdmUgQ29sb3IiXSxlLmV4cG9ydHMuTm9uZV9pbnB1dD1bIk5vbmUiXSxlLmV4cG9ydHNbIk5vdCBzZWxlY3RlZF9pbnB1dCJdPVsiTm90IHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOb3RoaW5nIHNlbGVjdGVkX2NvbWJvYm94X2lucHV0Il09WyJOb3RoaW5nIHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOdW1iZXIgT2YgUm93c19pbnB1dCJdPVsiTnVtYmVyIE9mIFJvd3MiXSxlLmV4cG9ydHNbIk51bWJlciBvZiBQaXZvdHMgQmFja19pbnB1dCJdPVsiTnVtYmVyIG9mIFBpdm90cyBCYWNrIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgbGluZV9pbnB1dCJdPVsiTnVtYmVyIG9mIGxpbmUiXSxlLmV4cG9ydHMuT1NDX2lucHV0PVsiT1NDIl0sZS5leHBvcnRzLk9mZnNldF9pbnB1dD1bIk9mZnNldCJdLGUuZXhwb3J0cy5PbkJhbGFuY2VWb2x1bWVfaW5wdXQ9WyJPbkJhbGFuY2VWb2x1bWUiXSwKZS5leHBvcnRzWyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nX2lucHV0Il09WyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nIl0sZS5leHBvcnRzWyJPbmx5IEF3YWl0aW5nX2lucHV0Il09WyJPbmx5IEF3YWl0aW5nIl0sZS5leHBvcnRzLk9yaWdpbmFsX2lucHV0PVsiT3JpZ2luYWwiXSxlLmV4cG9ydHNbIk9zY2lsbGF0b3IgTUEgVHlwZV9pbnB1dCJdPVsiT3NjaWxsYXRvciBNQSBUeXBlIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JfaW5wdXQ9WyJPc2NpbGxhdG9yIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JzX2lucHV0PVsiT3NjaWxsYXRvcnMiXSxlLmV4cG9ydHNbIk91dHB1dCB2YWx1ZXNfaW5wdXQiXT1bIk91dHB1dCB2YWx1ZXMiXSxlLmV4cG9ydHMuT3ZlcmJvdWdodF9pbnB1dD1bIk92ZXJib3VnaHQiXSxlLmV4cG9ydHMuT3ZlcnNvbGRfaW5wdXQ9WyJPdmVyc29sZCJdLGUuZXhwb3J0cy5QT0NfaW5wdXQ9WyJQT0MiXSxlLmV4cG9ydHMuUFZUX2lucHV0PVsiUFZUIl0sZS5leHBvcnRzLlBfaW5wdXQ9WyJQIl0sZS5leHBvcnRzWyJQYW5lIGxhYmVsc19pbnB1dCJdPVsiUGFuZSBsYWJlbHMiXSxlLmV4cG9ydHMuUGFyYWJvbGljU0FSX2lucHV0PVsiUGFyYWJvbGljU0FSIl0sZS5leHBvcnRzLlBhdHRlcm5zX2lucHV0PVsiUGF0dGVybnMiXSxlLmV4cG9ydHMuUGVubmFudF9pbnB1dD1bIlBlbm5hbnQiXSxlLmV4cG9ydHMuUGVyY2VudF9pbnB1dD1bIlBlcmNlbnQiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSlfaW5wdXQiXT1bIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSkiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQX2lucHV0Il09WyJQZXJjZW50YWdlIExUUCJdLGUuZXhwb3J0cy5QZXJjZW50YWdlX2lucHV0PVsiUGVyY2VudGFnZSJdLGUuZXhwb3J0cy5QZXJpb2RfaW5wdXQ9WyJQZXJpb2QiXSxlLmV4cG9ydHMuUGVyaW9kc19pbnB1dD1bIlBlcmlvZHMiXSxlLmV4cG9ydHNbIlBlcm1pc3NpYmxlIERldmlhdGlvbl9pbnB1dCJdPVsiUGVybWlzc2libGUgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJQaGFudG9tIGJhcnNfaW5wdXQiXT1bIlBoYW50b20gYmFycyJdLGUuZXhwb3J0c1siUGl2b3QgSGlnaF9pbnB1dCJdPVsiUGl2b3QgSGlnaCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgTGVmdF9pbnB1dCJdPVsiUGl2b3QgTG9va2JhY2sgTGVmdCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgUmlnaHRfaW5wdXQiXT1bIlBpdm90IExvb2tiYWNrIFJpZ2h0Il0sZS5leHBvcnRzWyJQaXZvdCBMb3dfaW5wdXQiXT1bIlBpdm90IExvdyJdLGUuZXhwb3J0c1siUGl2b3QgbGVnc19pbnB1dCJdPVsiUGl2b3QgbGVncyJdLGUuZXhwb3J0c1siUGl2b3RzIFRpbWVmcmFtZV9pbnB1dCJdPVsiUGl2b3RzIFRpbWVmcmFtZSJdLGUuZXhwb3J0cy5QbGFjZW1lbnRfaW5wdXQ9WyJQbGFjZW1lbnQiXSxlLmV4cG9ydHNbIlBsZWFzZSBlbnRlciB0aGUgcmlnaHQgdGltZV90aW1lX2lucHV0Il09WyJQbGVhc2UgZW50ZXIgdGhlIHJpZ2h0IHRpbWUiXSxlLmV4cG9ydHNbIlBsb3QgQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBCZWFyaXNoIl0sZS5leHBvcnRzWyJQbG90IEJ1bGxpc2hfaW5wdXQiXT1bIlBsb3QgQnVsbGlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQmVhcmlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQnVsbGlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQnVsbGlzaCJdLGUuZXhwb3J0cy5QbG90X2lucHV0PVsiUGxvdCJdLGUuZXhwb3J0c1siUGxvdHMgQmFja2dyb3VuZF9pbnB1dCJdPVsiUGxvdHMgQmFja2dyb3VuZCJdLGUuZXhwb3J0cy5Qb2x5bGluZXNfaW5wdXQ9WyJQb2x5bGluZXMiXSxlLmV4cG9ydHNbIlBvc2l0aXZlIENvbG9yX2lucHV0Il09WyJQb3NpdGl2ZSBDb2xvciJdLGUuZXhwb3J0c1siUG9zdC1tYXJrZXQgb25seV9pbnB1dCJdPVsiUG9zdC1tYXJrZXQgb25seSJdLGUuZXhwb3J0c1siUHJlLW1hcmtldCBvbmx5X2lucHV0Il09WyJQcmUtbWFya2V0IG9ubHkiXSxlLmV4cG9ydHNbIlByaWNlIExpbmVfaW5wdXQiXT1bIlByaWNlIExpbmUiXSxlLmV4cG9ydHNbIlByaWNlIFNvdXJjZV9pbnB1dCJdPVsiUHJpY2UgU291cmNlIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRzX2lucHV0Il09WyJQcmljZSBUYXJnZXRzIl0sZS5leHBvcnRzWyJQcmljZSBkZXZpYXRpb24gZm9yIHJldmVyc2FscyAoJSlfaW5wdXQiXT1bIlByaWNlIGRldmlhdGlvbiBmb3IgcmV2ZXJzYWxzICglKSJdLGUuZXhwb3J0c1siUHJpY2Ugc291cmNlX2lucHV0Il09WyJQcmljZSBzb3VyY2UiXSxlLmV4cG9ydHMuUHJpY2VfaW5wdXQ9WyJQcmljZSJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiBkb3duIGJhcnNfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBiYXJzIl0sZS5leHBvcnRzWyJQcm9qZWN0aW9uIGRvd24gY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBjb2xvciJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiB1cCBiYXJzX2lucHV0Il09WyJQcm9qZWN0aW9uIHVwIGJhcnMiXSxlLmV4cG9ydHNbIlByb2plY3Rpb24gdXAgY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gdXAgY29sb3IiXSxlLmV4cG9ydHMuUV9pbnB1dD1bIlEiXSxlLmV4cG9ydHMuUXVhcnRlcl9pbnB1dD1bIlF1YXJ0ZXIiXSxlLmV4cG9ydHMuUXVhcnRlcmx5X2lucHV0PVsiUXVhcnRlcmx5Il0sZS5leHBvcnRzLlF1aW5xdWVubmlhbGx5X2lucHV0PVsiUXVpbnF1ZW5uaWFsbHkiXSxlLmV4cG9ydHNbIlJDSSBMZW5ndGhfaW5wdXQiXT1bIlJDSSBMZW5ndGgiXSxlLmV4cG9ydHMuUk1BX2lucHV0PVsiUk1BIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMxX2lucHV0Il09WyJST0MgTGVuZ3RoICMxIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMyX2lucHV0Il09WyJST0MgTGVuZ3RoICMyIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMzX2lucHV0Il09WyJST0MgTGVuZ3RoICMzIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICM0X2lucHV0Il09WyJST0MgTGVuZ3RoICM0Il0sCmUuZXhwb3J0c1siUk9DIExlbmd0aF9pbnB1dCJdPVsiUk9DIExlbmd0aCJdLGUuZXhwb3J0cy5ST0NMZW4xX2lucHV0PVsiUk9DTGVuMSJdLGUuZXhwb3J0cy5ST0NMZW4yX2lucHV0PVsiUk9DTGVuMiJdLGUuZXhwb3J0cy5ST0NMZW4zX2lucHV0PVsiUk9DTGVuMyJdLGUuZXhwb3J0cy5ST0NMZW40X2lucHV0PVsiUk9DTGVuNCJdLGUuZXhwb3J0cy5ST0NfaW5wdXQ9WyJST0MiXSxlLmV4cG9ydHNbIlJTSSBMZW5ndGhfaW5wdXQiXT1bIlJTSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlJTSSBQZXJpb2RfaW5wdXQiXT1bIlJTSSBQZXJpb2QiXSxlLmV4cG9ydHNbIlJTSSBTZXR0aW5nc19pbnB1dCJdPVsiUlNJIFNldHRpbmdzIl0sZS5leHBvcnRzWyJSU0kgU291cmNlX2lucHV0Il09WyJSU0kgU291cmNlIl0sZS5leHBvcnRzLlJTSV9pbnB1dD1bIlJTSSJdLGUuZXhwb3J0cy5SVkdJX2lucHV0PVsiUlZHSSJdLGUuZXhwb3J0cy5SVklfaW5wdXQ9WyJSVkkiXSxlLmV4cG9ydHMuUmFuZ2VfaW5wdXQ9WyJSYW5nZSJdLGUuZXhwb3J0c1siUmF0ZSBvZiBDaGFuZ2UgTG9va2JhY2tfaW5wdXQiXT1bIlJhdGUgb2YgQ2hhbmdlIExvb2tiYWNrIl0sZS5leHBvcnRzWyJSYXRpbmcgaXMgYmFzZWQgb25faW5wdXQiXT1bIlJhdGluZyBpcyBiYXNlZCBvbiJdLGUuZXhwb3J0cy5SZWN0YW5nbGVfaW5wdXQ9WyJSZWN0YW5nbGUiXSxlLmV4cG9ydHMuUmVndWxhcl9pbnB1dD1bIlJlZ3VsYXIiXSxlLmV4cG9ydHMuUmVzaXN0YW5jZV9pbnB1dD1bIlJlc2lzdGFuY2UiXSxlLmV4cG9ydHNbIlJldmVyc2FsIGFtb3VudF9pbnB1dCJdPVsiUmV2ZXJzYWwgYW1vdW50Il0sZS5leHBvcnRzLlJldmVyc2VfaW5wdXQ9WyJSZXZlcnNlIl0sZS5leHBvcnRzLlJpZ2h0X2lucHV0PVsiUmlnaHQiXSxlLmV4cG9ydHNbIlJpc2luZyBXZWRnZV9pbnB1dCJdPVsiUmlzaW5nIFdlZGdlIl0sZS5leHBvcnRzWyJSb2xsaW5nIFBlcmlvZF9pbnB1dCJdPVsiUm9sbGluZyBQZXJpb2QiXSxlLmV4cG9ydHNbIlJvdyBTaXplX2lucHV0Il09WyJSb3cgU2l6ZSJdLGUuZXhwb3J0c1siUm93cyBMYXlvdXRfaW5wdXQiXT1bIlJvd3MgTGF5b3V0Il0sZS5leHBvcnRzWyJSb3dzIFNpemVfaW5wdXQiXT1bIlJvd3MgU2l6ZSJdLGUuZXhwb3J0c1siU01BICsgQm9sbGluZ2VyIEJhbmRzX2lucHV0Il09WyJTTUEgKyBCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzFfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzEiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzJfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzIiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzNfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzRfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzQiXSxlLmV4cG9ydHMuU01BTGVuMV9pbnB1dD1bIlNNQUxlbjEiXSxlLmV4cG9ydHMuU01BTGVuMl9pbnB1dD1bIlNNQUxlbjIiXSxlLmV4cG9ydHMuU01BTGVuM19pbnB1dD1bIlNNQUxlbjMiXSxlLmV4cG9ydHMuU01BTGVuNF9pbnB1dD1bIlNNQUxlbjQiXSxlLmV4cG9ydHMuU01BX2lucHV0PVsiU01BIl0sZS5leHBvcnRzWyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yX2lucHV0Il09WyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yIl0sZS5leHBvcnRzLlNNSV9pbnB1dD1bIlNNSSJdLGUuZXhwb3J0c1siU01NQSAoUk1BKV9pbnB1dCJdPVsiU01NQSAoUk1BKSJdLGUuZXhwb3J0cy5TY2hpZmZfaW5wdXQ9WyJTY2hpZmYiXSxlLmV4cG9ydHNbIlNlY29uZCBCb3R0b21faW5wdXQiXT1bIlNlY29uZCBCb3R0b20iXSxlLmV4cG9ydHNbIlNlY29uZCBUb3BfaW5wdXQiXT1bIlNlY29uZCBUb3AiXSxlLmV4cG9ydHNbIlNlY29uZCBzZXNzaW9uX2lucHV0Il09WyJTZWNvbmQgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2VuZCBtZXNzYWdlX2lucHV0Il09WyJTZW5kIG1lc3NhZ2UiXSxlLmV4cG9ydHNbIlNlc3Npb24gY29sb3JfaW5wdXQiXT1bIlNlc3Npb24gY29sb3IiXSxlLmV4cG9ydHNbIlNlc3Npb24gdGltZV9pbnB1dCJdPVsiU2Vzc2lvbiB0aW1lIl0sZS5leHBvcnRzWyJTZXNzaW9uIHRpbWV6b25lX2lucHV0Il09WyJTZXNzaW9uIHRpbWV6b25lIl0sZS5leHBvcnRzLlNlc3Npb25faW5wdXQ9WyJTZXNzaW9uIl0sZS5leHBvcnRzLlNlc3Npb25zX2lucHV0PVsiU2Vzc2lvbnMiXSxlLmV4cG9ydHMuU2V0dGluZ3NfaW5wdXQ9WyJTZXR0aW5ncyJdLGUuZXhwb3J0cy5TaGFwZXNfaW5wdXQ9WyJTaGFwZXMiXSxlLmV4cG9ydHNbIlNob3J0IEJCIExlbmd0aF9pbnB1dCJdPVsiU2hvcnQgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IExlbmd0aCJdLGUuZXhwb3J0c1siU2hvcnQgTUEgTGVuZ3RoX2lucHV0Il09WyJTaG9ydCBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJDSSBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJDSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJvQyBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJvQyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IGxlbmd0aF9pbnB1dCJdPVsiU2hvcnQgbGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBwZXJpb2RfaW5wdXQiXT1bIlNob3J0IHBlcmlvZCJdLGUuZXhwb3J0cy5TaG9ydF9pbnB1dD1bIlNob3J0Il0sZS5leHBvcnRzWyJTaG93IEF2ZXJhZ2VzX2lucHV0Il09WyJTaG93IEF2ZXJhZ2VzIl0sZS5leHBvcnRzWyJTaG93IExhYmVsc19pbnB1dCJdPVsiU2hvdyBMYWJlbHMiXSxlLmV4cG9ydHNbIlNob3cgTGV2ZWxzX2lucHV0Il09WyJTaG93IExldmVscyJdLGUuZXhwb3J0c1siU2hvdyBNVEZfaW5wdXQiXT1bIlNob3cgTVRGIl0sZS5leHBvcnRzWyJTaG93IFBlYXJzb24ncyBSX2lucHV0Il09WyJTaG93IFBlYXJzb24ncyBSIl0sZS5leHBvcnRzWyJTaG93IFBlcmNlbnQgUG9zaXRpdmVfaW5wdXQiXT1bIlNob3cgUGVyY2VudCBQb3NpdGl2ZSJdLGUuZXhwb3J0c1siU2hvdyBQaXZvdHNfaW5wdXQiXT1bIlNob3cgUGl2b3RzIl0sZS5leHBvcnRzWyJTaG93IFByaWNlc19pbnB1dCJdPVsiU2hvdyBQcmljZXMiXSwKZS5leHBvcnRzWyJTaG93IFByb2plY3Rpb25zX2lucHV0Il09WyJTaG93IFByb2plY3Rpb25zIl0sZS5leHBvcnRzWyJTaG93IFN0YW5kYXJkIERldmlhdGlvbl9pbnB1dCJdPVsiU2hvdyBTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlNob3cgVG91Y2hlZCBQaXZvdHNfaW5wdXQiXT1bIlNob3cgVG91Y2hlZCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNob3cgYXZlcmFnZSBwcmljZSBwZXIgc2Vzc2lvbl9pbnB1dCJdPVsiU2hvdyBhdmVyYWdlIHByaWNlIHBlciBzZXNzaW9uIl0sZS5leHBvcnRzWyJTaG93IHJlYWwgcHJpY2VzIG9uIHByaWNlIHNjYWxlIChpbnN0ZWFkIG9mIEhlaWtpbi1Bc2hpIHByaWNlKV9pbnB1dCJdPVsiU2hvdyByZWFsIHByaWNlcyBvbiBwcmljZSBzY2FsZSAoaW5zdGVhZCBvZiBIZWlraW4tQXNoaSBwcmljZSkiXSxlLmV4cG9ydHNbIlNob3cgc2Vzc2lvbiBuYW1lc19pbnB1dCJdPVsiU2hvdyBzZXNzaW9uIG5hbWVzIl0sZS5leHBvcnRzWyJTaG93IHNlc3Npb25faW5wdXQiXT1bIlNob3cgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2hvdyB0aWNrIHJhbmdlIGZvciBlYWNoIHNlc3Npb25faW5wdXQiXT1bIlNob3cgdGljayByYW5nZSBmb3IgZWFjaCBzZXNzaW9uIl0sZS5leHBvcnRzLlNpZ0xlbl9pbnB1dD1bIlNpZ0xlbiJdLGUuZXhwb3J0cy5TaWdfaW5wdXQ9WyJTaWciXSxlLmV4cG9ydHMuU2lnbWFfaW5wdXQ9WyJTaWdtYSJdLGUuZXhwb3J0c1siU2lnbmFsIExlbmd0aF9pbnB1dCJdPVsiU2lnbmFsIExlbmd0aCJdLGUuZXhwb3J0c1siU2lnbmFsIExpbmUgTGVuZ3RoX2lucHV0Il09WyJTaWduYWwgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNpZ25hbCBMaW5lIE1BIFR5cGVfaW5wdXQiXT1bIlNpZ25hbCBMaW5lIE1BIFR5cGUiXSxlLmV4cG9ydHNbIlNpZ25hbCBTbW9vdGhpbmdfaW5wdXQiXT1bIlNpZ25hbCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIlNpZ25hbCBsaW5lIHBlcmlvZF9pbnB1dCJdPVsiU2lnbmFsIGxpbmUgcGVyaW9kIl0sZS5leHBvcnRzWyJTaWduYWwgc21vb3RoaW5nX2lucHV0Il09WyJTaWduYWwgc21vb3RoaW5nIl0sZS5leHBvcnRzLlNpZ25hbF9pbnB1dD1bIlNpZ25hbCJdLGUuZXhwb3J0c1siU2ltcGxlIG1hKG9zY2lsbGF0b3IpX2lucHV0Il09WyJTaW1wbGUgbWEob3NjaWxsYXRvcikiXSxlLmV4cG9ydHNbIlNpbXBsZSBtYShzaWduYWwgbGluZSlfaW5wdXQiXT1bIlNpbXBsZSBtYShzaWduYWwgbGluZSkiXSxlLmV4cG9ydHMuU2ltcGxlX2lucHV0PVsiU2ltcGxlIl0sZS5leHBvcnRzWyJTbG93IExlbmd0aF9pbnB1dCJdPVsiU2xvdyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNsb3cgTUEgUGVyaW9kX2lucHV0Il09WyJTbG93IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siU2xvdyBsZW5ndGhfaW5wdXQiXT1bIlNsb3cgbGVuZ3RoIl0sZS5leHBvcnRzLlNsb3dpbmdfaW5wdXQ9WyJTbG93aW5nIl0sZS5leHBvcnRzLlNtYWxsX2lucHV0PVsiU21hbGwiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMZW5ndGhfaW5wdXQiXT1bIlNtb290aGluZyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMaW5lX2lucHV0Il09WyJTbW9vdGhpbmcgTGluZSJdLGUuZXhwb3J0cy5TbW9vdGhpbmdfaW5wdXQ9WyJTbW9vdGhpbmciXSxlLmV4cG9ydHMuU29saWRfaW5wdXQ9WyJTb2xpZCJdLGUuZXhwb3J0cy5Tb3VyY2VfaW5wdXQ9WyJTb3VyY2UiXSxlLmV4cG9ydHMuU3BsaXRzX2lucHV0PVsiU3BsaXRzIl0sZS5leHBvcnRzWyJTdGFuZGFyZCBEZXZpYXRpb25faW5wdXQiXT1bIlN0YW5kYXJkIERldmlhdGlvbiJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3JzX2lucHV0Il09WyJTdGFuZGFyZCBFcnJvcnMiXSxlLmV4cG9ydHMuU3RhcnRfaW5wdXQ9WyJTdGFydCJdLGUuZXhwb3J0c1siU3RhcnRpbmcgeWVhcl9pbnB1dCJdPVsiU3RhcnRpbmcgeWVhciJdLGUuZXhwb3J0cy5TdGREZXZfaW5wdXQ9WyJTdGREZXYiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTGVuZ3RoX2lucHV0Il09WyJTdG9jaGFzdGljIExlbmd0aCJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBMb3dlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBMb3dlciJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBVcHBlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBVcHBlciJdLGUuZXhwb3J0c1siU3RvcCBMZW5ndGggKHEpX2lucHV0Il09WyJTdG9wIExlbmd0aCAocSkiXSxlLmV4cG9ydHNbIlN0b3AgbG9zc19pbnB1dCJdPVsiU3RvcCBsb3NzIl0sZS5leHBvcnRzWyJTdHJhdGVneSBEaXJlY3Rpb25faW5wdXQiXT1bIlN0cmF0ZWd5IERpcmVjdGlvbiJdLGUuZXhwb3J0cy5TdHlsZV9pbnB1dD1bIlN0eWxlIl0sZS5leHBvcnRzLlN1YldhdmVzX2lucHV0PVsiU3ViV2F2ZXMiXSxlLmV4cG9ydHMuU3VwcG9ydF9pbnB1dD1bIlN1cHBvcnQiXSxlLmV4cG9ydHNbIlN5bWJvbCBsaXN0X2lucHV0Il09WyJTeW1ib2wgbGlzdCJdLGUuZXhwb3J0cy5TeW1ib2xfaW5wdXQ9WyJTeW1ib2wiXSxlLmV4cG9ydHMuVEVNQV9pbnB1dD1bIlRFTUEiXSxlLmV4cG9ydHMuVFJJWF9pbnB1dD1bIlRSSVgiXSxlLmV4cG9ydHNbIlRhYmxlIEhlaWdodCAoJSlfaW5wdXQiXT1bIlRhYmxlIEhlaWdodCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIFBvc2l0aW9uX2lucHV0Il09WyJUYWJsZSBQb3NpdGlvbiJdLGUuZXhwb3J0c1siVGFibGUgV2lkdGggKCUpX2lucHV0Il09WyJUYWJsZSBXaWR0aCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIHNldHRpbmdzX2lucHV0Il09WyJUYWJsZSBzZXR0aW5ncyJdLGUuZXhwb3J0cy5UYWJsZXNfaW5wdXQ9WyJUYWJsZXMiXSxlLmV4cG9ydHNbIlRha2UgcHJvZml0X2lucHV0Il09WyJUYWtlIHByb2ZpdCJdLGUuZXhwb3J0c1siVGFyZ2V0IEN1cnJlbmN5X2lucHV0Il09WyJUYXJnZXQgQ3VycmVuY3kiXSxlLmV4cG9ydHMuVGFyZ2V0X2lucHV0PVsiVGFyZ2V0Il0sZS5leHBvcnRzWyJUZWV0aCBMZW5ndGhfaW5wdXQiXT1bIlRlZXRoIExlbmd0aCJdLGUuZXhwb3J0c1siVGVldGggT2Zmc2V0X2lucHV0Il09WyJUZWV0aCBPZmZzZXQiXSxlLmV4cG9ydHMuVGVldGhfaW5wdXQ9WyJUZWV0aCJdLAplLmV4cG9ydHNbIlRleHQgQ29sb3IgLyBMYWJlbCBDb2xvcl9pbnB1dCJdPVsiVGV4dCBDb2xvciAvIExhYmVsIENvbG9yIl0sZS5leHBvcnRzWyJUaGlyZCBzZXNzaW9uX2lucHV0Il09WyJUaGlyZCBzZXNzaW9uIl0sZS5leHBvcnRzWyJUaWNrcyBQZXIgUm93X2lucHV0Il09WyJUaWNrcyBQZXIgUm93Il0sZS5leHBvcnRzWyJUaW1lZnJhbWUgbGlzdF9pbnB1dCJdPVsiVGltZWZyYW1lIGxpc3QiXSxlLmV4cG9ydHMuVGltZWZyYW1lX2lucHV0PVsiVGltZWZyYW1lIl0sZS5leHBvcnRzLlRvX2lucHV0PVsiVG8iXSxlLmV4cG9ydHMuVG9wc19pbnB1dD1bIlRvcHMiXSxlLmV4cG9ydHMuVG90YWxfaW5wdXQ9WyJUb3RhbCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAxIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAyIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAyIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAzIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA0IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA1IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA1IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA2IGxlbmd0aCJdLGUuZXhwb3J0cy5UcmFkaXRpb25hbF9pbnB1dD1bIlRyYWRpdGlvbmFsIl0sZS5leHBvcnRzWyJUcmVuZCBIZWlnaHRfaW5wdXQiXT1bIlRyZW5kIEhlaWdodCJdLGUuZXhwb3J0cy5UcmlhbmdsZV9pbnB1dD1bIlRyaWFuZ2xlIl0sZS5leHBvcnRzLlRyaWdnZXJfaW5wdXQ9WyJUcmlnZ2VyIl0sZS5leHBvcnRzWyJUcmlwbGUgQm90dG9tX2lucHV0Il09WyJUcmlwbGUgQm90dG9tIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wX2lucHV0Il09WyJUcmlwbGUgVG9wIl0sZS5leHBvcnRzLlRyaXllYXJseV9pbnB1dD1bIlRyaXllYXJseSJdLGUuZXhwb3J0c1siVHJ1ZSBSYW5nZV9pbnB1dCJdPVsiVHJ1ZSBSYW5nZSJdLGUuZXhwb3J0cy5UeXBlX2lucHV0PVsiVHlwZSJdLGUuZXhwb3J0cy5VT19pbnB1dD1bIlVPIl0sZS5leHBvcnRzWyJVcCBHYXBzX2lucHV0Il09WyJVcCBHYXBzIl0sZS5leHBvcnRzWyJVcCBWb2x1bWVfaW5wdXQiXT1bIlVwIFZvbHVtZSJdLGUuZXhwb3J0c1siVXAgYmFyc19pbnB1dCJdPVsiVXAgYmFycyJdLGUuZXhwb3J0c1siVXAgY29sb3JfaW5wdXQiXT1bIlVwIGNvbG9yIl0sZS5leHBvcnRzWyJVcCBmcmFjdGFsc19pbnB1dCJdPVsiVXAgZnJhY3RhbHMiXSxlLmV4cG9ydHNbIlVwL0Rvd25faW5wdXQiXT1bIlVwL0Rvd24iXSxlLmV4cG9ydHNbIlVwRG93biBMZW5ndGhfaW5wdXQiXT1bIlVwRG93biBMZW5ndGgiXSxlLmV4cG9ydHNbIlVwcGVyIEJhbmRfaW5wdXQiXT1bIlVwcGVyIEJhbmQiXSxlLmV4cG9ydHNbIlVwcGVyIERldmlhdGlvbl9pbnB1dCJdPVsiVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVcHBlciBQZXJjZW50YWdlX2lucHV0Il09WyJVcHBlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLlVwcGVyTGltaXRfaW5wdXQ9WyJVcHBlckxpbWl0Il0sZS5leHBvcnRzLlVwcGVyX2lucHV0PVsiVXBwZXIiXSxlLmV4cG9ydHNbIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXNfaW5wdXQiXT1bIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXMiXSxlLmV4cG9ydHNbIlVzZSBFeHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIEV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJVc2UgTG93ZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgVXBwZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgY3VzdG9tIHRpbWVmcmFtZV9pbnB1dCJdPVsiVXNlIGN1c3RvbSB0aW1lZnJhbWUiXSxlLmV4cG9ydHNbIlVzZSBleHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIGV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJWSSArX2lucHV0Il09WyJWSSArIl0sZS5leHBvcnRzWyJWSSAtX2lucHV0Il09WyJWSSAtIl0sZS5leHBvcnRzWyJWV0FQIFNldHRpbmdzX2lucHV0Il09WyJWV0FQIFNldHRpbmdzIl0sZS5leHBvcnRzLlZXQVBfaW5wdXQ9WyJWV0FQIl0sZS5leHBvcnRzLlZXTUFfaW5wdXQ9WyJWV01BIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhIERvd25faW5wdXQiXT1bIlZhbHVlIEFyZWEgRG93biJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSBQZXJjZW50X2lucHV0Il09WyJWYWx1ZSBBcmVhIFBlcmNlbnQiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVXBfaW5wdXQiXT1bIlZhbHVlIEFyZWEgVXAiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVm9sdW1lX2lucHV0Il09WyJWYWx1ZSBBcmVhIFZvbHVtZSJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSB2b2x1bWVfaW5wdXQiXT1bIlZhbHVlIEFyZWEgdm9sdW1lIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhX2lucHV0Il09WyJWYWx1ZSBBcmVhIl0sZS5leHBvcnRzLlZhbHVlX2lucHV0PVsiVmFsdWUiXSxlLmV4cG9ydHNbIlZhbHVlcyBpbiBzdGF0dXMgbGluZV9pbnB1dCJdPVsiVmFsdWVzIGluIHN0YXR1cyBsaW5lIl0sZS5leHBvcnRzLlZhbHVlc19pbnB1dD1bIlZhbHVlcyJdLGUuZXhwb3J0cy5WaXNpYmlsaXR5X2lucHV0PVsiVmlzaWJpbGl0eSJdLGUuZXhwb3J0cy5Wb2x1bWVfaW5wdXQ9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIldNQSBMZW5ndGhfaW5wdXQiXT1bIldNQSBMZW5ndGgiXSxlLmV4cG9ydHMuV01BX2lucHV0PVsiV01BIl0sZS5leHBvcnRzWyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzX2lucHV0Il09WyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzIl0sZS5leHBvcnRzWyJXYW5pbmcgTW9vbl9pbnB1dCJdPVsiV2FuaW5nIE1vb24iXSxlLmV4cG9ydHNbIldheGluZyBNb29uX2lucHV0Il09WyJXYXhpbmcgTW9vbiJdLGUuZXhwb3J0cy5XZWRnZV9pbnB1dD1bIldlZGdlIl0sZS5leHBvcnRzLldlZWtfaW5wdXQ9WyJXZWVrIl0sCmUuZXhwb3J0cy5XZWVrbHlfaW5wdXQ9WyJXZWVrbHkiXSxlLmV4cG9ydHMuV2VpZ2h0ZWRfaW5wdXQ9WyJXZWlnaHRlZCJdLGUuZXhwb3J0cy5XaWNrX2lucHV0PVsiV2ljayJdLGUuZXhwb3J0cy5XaWNrc19pbnB1dD1bIldpY2tzIl0sZS5leHBvcnRzWyJXaWxkZXIncyBTbW9vdGhpbmdfaW5wdXQiXT1bIldpbGRlcidzIFNtb290aGluZyJdLGUuZXhwb3J0c1siV2luZG93IFNpemVfaW5wdXQiXT1bIldpbmRvdyBTaXplIl0sZS5leHBvcnRzLldvb2RpZV9pbnB1dD1bIldvb2RpZSJdLGUuZXhwb3J0cy5YX2lucHV0PVsiWCJdLGUuZXhwb3J0cy5ZWV95ZWFyX2lucHV0PVsiWVkiXSxlLmV4cG9ydHMuWWVhcl9pbnB1dD1bIlllYXIiXSxlLmV4cG9ydHMuWWVhcmx5X2lucHV0PVsiWWVhcmx5Il0sZS5leHBvcnRzWyJaZXJvIExpbmVfaW5wdXQiXT1bIlplcm8gTGluZSJdLGUuZXhwb3J0cy5aZXJvX2lucHV0PVsiWmVybyJdLGUuZXhwb3J0cy5mYXN0TGVuZ3RoX2lucHV0PVsiZmFzdExlbmd0aCJdLGUuZXhwb3J0cy5mcm9tX2lucHV0PVsiZnJvbSJdLGUuZXhwb3J0cy5pbmNyZW1lbnRfaW5wdXQ9WyJpbmNyZW1lbnQiXSxlLmV4cG9ydHMuaXNDZW50ZXJlZF9pbnB1dD1bImlzQ2VudGVyZWQiXSxlLmV4cG9ydHMubGFiZWxzX2lucHV0PVsibGFiZWxzIl0sZS5leHBvcnRzLmxlbl9pbnB1dD1bImxlbiJdLGUuZXhwb3J0cy5sZW5ndGgxNF9pbnB1dD1bImxlbmd0aDE0Il0sZS5leHBvcnRzLmxlbmd0aDI4X2lucHV0PVsibGVuZ3RoMjgiXSxlLmV4cG9ydHMubGVuZ3RoN19pbnB1dD1bImxlbmd0aDciXSxlLmV4cG9ydHMubGVuZ3RoUlNJX2lucHV0PVsibGVuZ3RoUlNJIl0sZS5leHBvcnRzLmxlbmd0aFN0b2NoX2lucHV0PVsibGVuZ3RoU3RvY2giXSxlLmV4cG9ydHMubGVuZ3RoX2lucHV0PVsibGVuZ3RoIl0sZS5leHBvcnRzLmxldmVsc19pbnB1dD1bImxldmVscyJdLGUuZXhwb3J0cy5sb25nX2lucHV0PVsibG9uZyJdLGUuZXhwb3J0cy5sb25nbGVuX2lucHV0PVsibG9uZ2xlbiJdLGUuZXhwb3J0cy5tYXhpbXVtX2lucHV0PVsibWF4aW11bSJdLGUuZXhwb3J0cy5tdWx0X2lucHV0PVsibXVsdCJdLGUuZXhwb3J0cy5wX2lucHV0PVsicCJdLGUuZXhwb3J0cy5xX2lucHV0PVsicSJdLGUuZXhwb3J0cy5yZXNvbHV0aW9uX2lucHV0PVsicmVzb2x1dGlvbiJdLGUuZXhwb3J0cy5yb2NsZW4xX2lucHV0PVsicm9jbGVuMSJdLGUuZXhwb3J0cy5yb2NsZW4yX2lucHV0PVsicm9jbGVuMiJdLGUuZXhwb3J0cy5yb2NsZW4zX2lucHV0PVsicm9jbGVuMyJdLGUuZXhwb3J0cy5yb2NsZW40X2lucHV0PVsicm9jbGVuNCJdLGUuZXhwb3J0cy5zaG9ydF9pbnB1dD1bInNob3J0Il0sZS5leHBvcnRzLnNob3J0bGVuX2lucHV0PVsic2hvcnRsZW4iXSxlLmV4cG9ydHNbInNob3cgTUFfaW5wdXQiXT1bInNob3cgTUEiXSxlLmV4cG9ydHMuc2lnbGVuX2lucHV0PVsic2lnbGVuIl0sZS5leHBvcnRzLnNpZ25hbExlbmd0aF9pbnB1dD1bInNpZ25hbExlbmd0aCJdLGUuZXhwb3J0cy5zbG93TGVuZ3RoX2lucHV0PVsic2xvd0xlbmd0aCJdLGUuZXhwb3J0cy5zbWFsZW4xX2lucHV0PVsic21hbGVuMSJdLGUuZXhwb3J0cy5zbWFsZW4yX2lucHV0PVsic21hbGVuMiJdLGUuZXhwb3J0cy5zbWFsZW4zX2lucHV0PVsic21hbGVuMyJdLGUuZXhwb3J0cy5zbWFsZW40X2lucHV0PVsic21hbGVuNCJdLGUuZXhwb3J0cy5zbW9vdGhEX2lucHV0PVsic21vb3RoRCJdLGUuZXhwb3J0cy5zbW9vdGhLX2lucHV0PVsic21vb3RoSyJdLGUuZXhwb3J0cy5zdGFydF9pbnB1dD1bInN0YXJ0Il0sZS5leHBvcnRzLnN5bV9pbnB1dD1bInN5bSJdLGUuZXhwb3J0cy50b19pbnB1dD1bInRvIl0sZS5leHBvcnRzLnVzZVRydWVSYW5nZV9pbnB1dD1bInVzZVRydWVSYW5nZSJdLGUuZXhwb3J0cy54X2lucHV0PVsieCJdLGUuZXhwb3J0c1sieWF5IENvbG9yIDBfaW5wdXQiXT1bInlheSBDb2xvciAwIl0sZS5leHBvcnRzWyJ5YXkgQ29sb3IgMV9pbnB1dCJdPVsieWF5IENvbG9yIDEiXSxlLmV4cG9ydHNbIntudW1iZXJ9IGl0ZW1fY29tYm9ib3hfaW5wdXQiXT1bIntudW1iZXJ9IGl0ZW0iLCJ7bnVtYmVyfSBpdGVtcyJdfSwzMTIyOTcoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sODcwOTE1KGUpe2UuZXhwb3J0cz1bIkFUUih7YXRyVmFsdWV9KSJdfSw5OTUyMzUoZSl7ZS5leHBvcnRzPVsiUGVyY2VudGFnZSBMVFAoe3BlcmNlbnRhZ2VMVFBWYWx1ZX0lKSJdfSw0MTE5NzQoZSl7ZS5leHBvcnRzPVsiVHJhZGl0aW9uYWwiXX0sNzE4NTIzKGUpe2UuZXhwb3J0cz1bIkFCQ0QgcGF0dGVybiJdfSwxODc1MzIoZSl7ZS5leHBvcnRzPVsiR2FubiBib3giXX0sOTIzODQwKGUpe2UuZXhwb3J0cz1bIkdhbm4gZmFuIl19LDQxNTAwOShlKXtlLmV4cG9ydHM9WyJHYW5uIHNxdWFyZSJdfSw3NTk4ODcoZSl7ZS5leHBvcnRzPVsiR2FubiBzcXVhcmUgZml4ZWQiXX0sODUzMDE2KGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpYW5nbGUgd2F2ZSAoQcK3QsK3Q8K3RMK3RSkiXX0sOTc1ODUyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpcGxlIGNvbWJvIHdhdmUgKFfCt1jCt1nCt1jCt1opIl19LDI4MjA1OShlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGNvcnJlY3Rpb24gd2F2ZSAoQcK3QsK3QykiXX0sNDY1ODIyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgZG91YmxlIGNvbWJvIHdhdmUgKFfCt1jCt1kpIl19LDYwMjgxMChlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGltcHVsc2Ugd2F2ZSAoMcK3MsK3M8K3NMK3NSkiXX0sODMyMjU4KGUpe2UuZXhwb3J0cz1bIkZpYiBjaGFubmVsIl19LDY2NDM2MShlKXtlLmV4cG9ydHM9WyJGaWIgY2lyY2xlcyJdfSw4Njg0NTkoZSl7ZS5leHBvcnRzPVsiRmliIHJldHJhY2VtZW50Il19LDEyMTUxMShlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBhcmNzIl19LDE5MDUyNihlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBmYW4iXX0sOTkzNjAxKGUpe2UuZXhwb3J0cz1bIkZpYiBzcGlyYWwiXX0sMzAyMTY2KGUpe2UuZXhwb3J0cz1bIkZpYiB0aW1lIHpvbmUiXX0sNjcyODMxKGUpe2UuZXhwb3J0cz1bIkZpYiB3ZWRnZSJdfSwKOTYxMChlKXtlLmV4cG9ydHM9WyJTY2hpZmYgcGl0Y2hmb3JrIl19LDY2MTg5NihlKXtlLmV4cG9ydHM9WyJYQUJDRCBwYXR0ZXJuIl19LDQ4MzcxMChlKXtlLmV4cG9ydHM9WyJjb21tZW50Il19LDMyNDQ2MShlKXtlLmV4cG9ydHM9WyJjYWxsb3V0Il19LDk3Mjg0MihlKXtlLmV4cG9ydHM9WyJjaXJjbGUiXX0sNDc4MTIzKGUpe2UuZXhwb3J0cz1bImNyb3NzbGluZSJdfSwxNjY2MTAoZSl7ZS5leHBvcnRzPVsiY3VydmUiXX0sOTIyOTIxKGUpe2UuZXhwb3J0cz1bImN5Y2xpYyBsaW5lcyJdfSwzMjc2MTIoZSl7ZS5leHBvcnRzPVsiY3lwaGVyIHBhdHRlcm4iXX0sOTk1MTg3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIFZXQVAiXX0sOTkyOTM0KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIG5vdGUiXX0sNjg4NDM3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIHRleHQiXX0sOTc1NjUyKGUpe2UuZXhwb3J0cz1bImFyYyJdfSwxNTA2ODEoZSl7ZS5leHBvcnRzPVsiYXJyb3ciXX0sMTMzMzA0KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmtlciJdfSw2MTcxOTkoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayB1cCJdfSw5NjQ2NzMoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayBkb3duIl19LDY4Mjk2MihlKXtlLmV4cG9ydHM9WyJhcnJvdyBtYXJrIGxlZnQiXX0sMTAwNjA5KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmsgcmlnaHQiXX0sNzQxOTI5KGUpe2UuZXhwb3J0cz1bImJhbGxvb24iXX0sMjcxNzUxKGUpe2UuZXhwb3J0cz1bImJhcnMgcGF0dGVybiJdfSw3NDY3MzcoZSl7ZS5leHBvcnRzPVsiYnJ1c2giXX0sODUxNDkzKGUpe2UuZXhwb3J0cz1bImdob3N0IGZlZWQiXX0sMzU3ODIwKGUpe2UuZXhwb3J0cz1bImRvdWJsZSBjdXJ2ZSJdfSw0MzU0NDYoZSl7ZS5leHBvcnRzPVsiZGF0ZSBhbmQgcHJpY2UgcmFuZ2UiXX0sNTI1MTI0KGUpe2UuZXhwb3J0cz1bImRhdGUgcmFuZ2UiXX0sMzQ2NzI3KGUpe2UuZXhwb3J0cz1bImRpc2pvaW50IGNoYW5uZWwiXX0sODk1NjQ4KGUpe2UuZXhwb3J0cz1bImVtb2ppIl19LDkzMDMzKGUpe2UuZXhwb3J0cz1bImVsbGlwc2UiXX0sNzY5MzM0KGUpe2UuZXhwb3J0cz1bImV4dGVuZGVkIGxpbmUiXX0sNjczMjc4KGUpe2UuZXhwb3J0cz1bImZsYWcgbWFyayJdfSw5NTg0MTYoZSl7ZS5leHBvcnRzPVsiZmxhdCB0b3AvYm90dG9tIl19LDc2NTIxKGUpe2UuZXhwb3J0cz1bImhvcml6b250YWwgbGluZSJdfSw0Mjk2MDYoZSl7ZS5leHBvcnRzPVsiaG9yaXpvbnRhbCByYXkiXX0sOTcxMTQoZSl7ZS5leHBvcnRzPVsiaGVhZCBhbmQgc2hvdWxkZXJzIl19LDk4MDA2MChlKXtlLmV4cG9ydHM9WyJoaWdobGlnaHRlciJdfSwzOTI0OTMoZSl7ZS5leHBvcnRzPVsiaW1hZ2UiXX0sNjU2MzQwKGUpe2UuZXhwb3J0cz1bImluZm8gbGluZSJdfSw0MTY5MChlKXtlLmV4cG9ydHM9WyJpbnNpZGUgcGl0Y2hmb3JrIl19LDY2NDE5NChlKXtlLmV4cG9ydHM9WyJpY29uIl19LDk0NjA0NyhlKXtlLmV4cG9ydHM9WyJpZGVhIl19LDU3NTAyMShlKXtlLmV4cG9ydHM9WyJsb25nIHBvc2l0aW9uIl19LDk5NjAwKGUpe2UuZXhwb3J0cz1bIm1vZGlmaWVkIFNjaGlmZiBwaXRjaGZvcmsiXX0sMjEzMjM2KGUpe2UuZXhwb3J0cz1bIm5vdGUiXX0sMTY3OTk3KGUpe2UuZXhwb3J0cz1bInNlY3RvciJdfSw0MjQxODEoZSl7ZS5leHBvcnRzPVsic2hvcnQgcG9zaXRpb24iXX0sOTk3OTI5KGUpe2UuZXhwb3J0cz1bInNpZ25wb3N0Il19LDYyMjU0KGUpe2UuZXhwb3J0cz1bInNpbmUgbGluZSJdfSwzNDI4OTIoZSl7ZS5leHBvcnRzPVsic3RpY2tlciJdfSw5MTUyODcoZSl7ZS5leHBvcnRzPVsicG9seWxpbmUiXX0sNDYzMTg3KGUpe2UuZXhwb3J0cz1bInBvc2l0aW9uIGZvcmVjYXN0Il19LDc2NjA5KGUpe2UuZXhwb3J0cz1bInBvc3QiXX0sODY2NjkoZSl7ZS5leHBvcnRzPVsicGF0aCJdfSwyOTM0ODAoZSl7ZS5leHBvcnRzPVsicGFyYWxsZWwgY2hhbm5lbCJdfSw5MjA1MzkoZSl7ZS5leHBvcnRzPVsicGl0Y2hmYW4iXX0sOTMwNzQ0KGUpe2UuZXhwb3J0cz1bInBpdGNoZm9yayJdfSw3MjM1NDQoZSl7ZS5leHBvcnRzPVsicGluIl19LDU0Njc0MShlKXtlLmV4cG9ydHM9WyJwcmljZSBsYWJlbCJdfSwzMzI5OTgoZSl7ZS5leHBvcnRzPVsicHJpY2Ugbm90ZSJdfSw3MDY1OTkoZSl7ZS5leHBvcnRzPVsicHJpY2UgcmFuZ2UiXX0sNTY5ODgxKGUpe2UuZXhwb3J0cz1bInJvdGF0ZWQgcmVjdGFuZ2xlIl19LDEwMDg5NihlKXtlLmV4cG9ydHM9WyJyYXkiXX0sNjE2NzM1KGUpe2UuZXhwb3J0cz1bInJlY3RhbmdsZSJdfSwyNDI4NjcoZSl7ZS5leHBvcnRzPVsicmVncmVzc2lvbiB0cmVuZCJdfSw5OTQ5MTEoZSl7ZS5leHBvcnRzPVsidGFibGUiXX0sNTgyMzM5KGUpe2UuZXhwb3J0cz1bInRleHQiXX0sNTk2ODYoZSl7ZS5leHBvcnRzPVsidGhyZWUgZHJpdmVzIHBhdHRlcm4iXX0sMjU0MTIzKGUpe2UuZXhwb3J0cz1bInRpbWUgY3ljbGVzIl19LDY1NTQ0NyhlKXtlLmV4cG9ydHM9WyJ0cmVuZCBhbmdsZSJdfSw2NDc4MjYoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIGV4dGVuc2lvbiJdfSw3NDg2MzMoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIHRpbWUiXX0sMjU3MjI4KGUpe2UuZXhwb3J0cz1bInRyZW5kbGluZSJdfSw0MDkyMzAoZSl7ZS5leHBvcnRzPVsidHJpYW5nbGUiXX0sODEwNDQ4KGUpe2UuZXhwb3J0cz1bInRyaWFuZ2xlIHBhdHRlcm4iXX0sMzI4NTMoZSl7ZS5leHBvcnRzPVsidm9sdW1lIHByb2ZpbGUgZml4ZWQgcmFuZ2UiXX0sNTI5NjQ1KGUpe2UuZXhwb3J0cz1bInZlcnRpY2FsIGxpbmUiXX0sMTU5NzEyKGUpe2UuZXhwb3J0cz1bIiN7Y291bnR9IChwcmljZSwgYmFyKSJdfSw1NTIxNShlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSw2ODUxMDQoZSl7ZS5leHBvcnRzPVsiSG9saWRheSJdfSw2Mzg0MDUoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sODk3NTkxKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sMjc0NDE1KGUpe2UuZXhwb3J0cz1bIkxvYWRpbmciXX0sNzAyNzg4KGUpewplLmV4cG9ydHM9WyJNYXJrZXQgb3BlbiJdfSw5MTQ1NzIoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSw4Njc0NTUoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQiXX0sOTE4ODQyKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjk2ODc5KGUpe2UuZXhwb3J0cz1bIkhvbGlkYXkiXX0sODIwMjE5KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1NDUyMjQoZSl7ZS5leHBvcnRzPVsiT3Zlcm5pZ2h0IHZpYSBCT0FUUyJdfSw0OTM2MzcoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODQyMjAzKGUpe2UuZXhwb3J0cz1bIk1hcmtldCBjbG9zZWQiXX0sNjE5MjMzKGUpe2UuZXhwb3J0cz1bIlBvc3QiXX0sNTUxMzgyKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDk2NjQxMihlKXtlLmV4cG9ydHM9WyJQcmUiXX0sNjM4NzE3KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sODQ2NzkoZSl7ZS5leHBvcnRzPVsiQ3VycmVuY2llcyJdfSw2NDI4NDMoZSl7ZS5leHBvcnRzPVsiQXV0byAoZml0cyBkYXRhIHRvIHNjcmVlbikiXX0sNDcxOTgwKGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxOTcxMDUoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sODg2MDEzKGUpe2UuZXhwb3J0cz1bIkxvZ2FyaXRobWljIl19LDkxMTcxMShlKXtlLmV4cG9ydHM9WyJMYWJlbHMiXX0sOTE2Mjc3KGUpe2UuZXhwb3J0cz1bIk1ldHJpY3MiXX0sMjc4NzUxKGUpe2UuZXhwb3J0cz1bIk1lcmdlIGFsbCBzY2FsZXMgaW50byBvbmUiXX0sODQ3ODM0KGUpe2UuZXhwb3J0cz1bIk5vIG92ZXJsYXBwaW5nIGxhYmVscyJdfSw2NDAwOTYoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSw3NDkxNzkoZSl7ZS5leHBvcnRzPVsiUmVndWxhciJdfSwzNDI5MTUoZSl7ZS5leHBvcnRzPVsiUmVzZXQgcHJpY2Ugc2NhbGUiXX0sMjEzMDc1KGUpe2UuZXhwb3J0cz1bIlVuaXRzIl19LDQ5NjcwMyhlKXtlLmV4cG9ydHM9WyIyNCBob3VycyJdfSw4NzQyMDAoZSl7ZS5leHBvcnRzPVsiMjRIIl19LDY4OTk2NShlKXtlLmV4cG9ydHM9WyJFVEgiXX0sNDI3OTg1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgdHJhZGluZyBob3VycyJdfSwxOTgyODkoZSl7ZS5leHBvcnRzPVsiRXh0ZW5kZWQiXX0sNDIyMjUyKGUpe2UuZXhwb3J0cz1bIkV4dGVuZGVkIHRyYWRpbmcgaG91cnMiXX0sMjc5Mzc5KGUpe2UuZXhwb3J0cz1bIk5pZ2h0Il19LDkwMDUxNihlKXtlLmV4cG9ydHM9WyJQT1NUIl19LDg2NzU1NShlKXtlLmV4cG9ydHM9WyJQUkUiXX0sNjcxMjk0KGUpe2UuZXhwb3J0cz1bIlBvc3RtYXJrZXQiXX0sNTcyMDE0KGUpe2UuZXhwb3J0cz1bIlByZW1hcmtldCJdfSw5MjU1MjYoZSl7ZS5leHBvcnRzPVsiUlRIIl19LDQzOTg4MShlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIl19LDg0NTA2NyhlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIHRyYWRpbmcgaG91cnMiXX0sNzM0NzUwKGUpe2UuZXhwb3J0cz1bIk1heSJdfSw5NjA5NjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIGRldGFpbHMiXX0sOTg2NDY4KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBpbmZvIl19LDg4NDY5MyhlKXtlLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLmV4cG9ydHNbIkF2ZXJhZ2UgZGFpbHkgcmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgZGFpbHkgcmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgdHJ1ZSByYW5nZV9zdHVkeSJdPVsiQXZlcmFnZSB0cnVlIHJhbmdlIl0sZS5leHBvcnRzWyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZV9zdHVkeSJdPVsiYW5jaG9yZWQgdm9sdW1lIHByb2ZpbGUiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJCb29rIHZhbHVlIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkJ1bGwgYmVhciBwb3dlcl9zdHVkeSJdPVsiQnVsbCBiZWFyIHBvd2VyIl0sZS5leHBvcnRzWyJEaXJlY3Rpb25hbCBtb3ZlbWVudCBpbmRleF9zdHVkeSJdPVsiRGlyZWN0aW9uYWwgbW92ZW1lbnQgaW5kZXgiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkRpdmlkZW5kcyBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyBlc3RpbWF0ZV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBmaW5hbmNpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gaW52ZXN0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpIl0sCmUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXMgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIGVzdGltYXRlX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRUJJVCBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlX3N0dWR5Il09WyJFQklUIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFQklUREEgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IGVzdGltYXRlX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGVfc3R1ZHkiXT1bImZpeGVkIHJhbmdlIHZvbHVtZSBwcm9maWxlIl0sZS5leHBvcnRzWyJHb29kd2lsbCAobmV0KV9zdHVkeSJdPVsiR29vZHdpbGwgKG5ldCkiXSxlLmV4cG9ydHNbIkljaGltb2t1IGNsb3VkX3N0dWR5Il09WyJJY2hpbW9rdSBjbG91ZCJdLGUuZXhwb3J0c1siTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZV9zdHVkeSJdPVsiTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZV9zdHVkeSJdPVsiTmV0IGluY29tZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siT3AgaW5jb21lX3N0dWR5Il09WyJPcCBpbmNvbWUiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcyAodG90YWwpX3N0dWR5Il09WyJTZWxsaW5nL2dlbmVyYWwvYWRtaW4gZXhwZW5zZXMgKHRvdGFsKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnQgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgZGVidCBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVm9sdW1lLXdlaWdodGVkIGF2ZXJhZ2UgcHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBhdmVyYWdlIHByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUtd2VpZ2h0ZWQgbW92aW5nIGF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBtb3ZpbmcgYXZlcmFnZSJdLGUuZXhwb3J0c1siV2lsbGlhbXMgcGVyY2VudCByYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgcGVyY2VudCByYW5nZSJdLGUuZXhwb3J0cy5UZWNobmljYWxzX3N0dWR5PVsiVGVjaG5pY2FscyJdLGUuZXhwb3J0c1siKkFsbCBDYW5kbGVzdGljayBQYXR0ZXJucypfc3R1ZHkiXT1bIipBbGwgQ2FuZGxlc3RpY2sgUGF0dGVybnMqIl0sZS5leHBvcnRzWyIyNC1ob3VyIFZvbHVtZV9zdHVkeSJdPVsiMjQtaG91ciBWb2x1bWUiXSwKZS5leHBvcnRzWyI1MiBXZWVrIEhpZ2gvTG93X3N0dWR5Il09WyI1MiBXZWVrIEhpZ2gvTG93Il0sZS5leHBvcnRzLkFTSV9zdHVkeT1bIkFTSSJdLGUuZXhwb3J0c1siQWJhbmRvbmVkIEJhYnkgLSBCZWFyaXNoX3N0dWR5Il09WyJBYmFuZG9uZWQgQmFieSAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkFiYW5kb25lZCBCYWJ5IC0gQnVsbGlzaF9zdHVkeSJdPVsiQWJhbmRvbmVkIEJhYnkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yX3N0dWR5Il09WyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJBY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJBY2NvdW50cyBwYXlhYmxlIl0sZS5leHBvcnRzWyJBY2NvdW50cyByZWNlaXZhYmxlIC0gdHJhZGUsIG5ldF9zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZSAtIHRyYWRlLCBuZXQiXSxlLmV4cG9ydHNbIkFjY291bnRzIHJlY2VpdmFibGVzLCBncm9zc19zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZXMsIGdyb3NzIl0sZS5leHBvcnRzLkFjY3J1YWxzX3N0dWR5PVsiQWNjcnVhbHMiXSxlLmV4cG9ydHNbIkFjY3J1ZWQgcGF5cm9sbF9zdHVkeSJdPVsiQWNjcnVlZCBwYXlyb2xsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsX3N0dWR5Il09WyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX3N0dWR5Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpdmUgU3dpbmcgSW5kZXhfc3R1ZHkiXT1bIkFjY3VtdWxhdGl2ZSBTd2luZyBJbmRleCJdLGUuZXhwb3J0c1siQWRkaXRpb25hbCBwYWlkLWluIGNhcGl0YWwvQ2FwaXRhbCBzdXJwbHVzX3N0dWR5Il09WyJBZGRpdGlvbmFsIHBhaWQtaW4gY2FwaXRhbC9DYXBpdGFsIHN1cnBsdXMiXSxlLmV4cG9ydHNbIkFkdmFuY2UgRGVjbGluZSBMaW5lX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgTGluZSJdLGUuZXhwb3J0c1siQWR2YW5jZSBEZWNsaW5lIFJhdGlvX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgUmF0aW8iXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycylfc3R1ZHkiXT1bIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycykiXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZV9zdHVkeSJdPVsiQWR2YW5jZS9EZWNsaW5lIl0sZS5leHBvcnRzWyJBZnRlciB0YXggb3RoZXIgaW5jb21lL2V4cGVuc2Vfc3R1ZHkiXT1bIkFmdGVyIHRheCBvdGhlciBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siQWxsIENoYXJ0IFBhdHRlcm5zX3N0dWR5Il09WyJBbGwgQ2hhcnQgUGF0dGVybnMiXSxlLmV4cG9ydHNbIkFsdG1hbiBaLXNjb3JlX3N0dWR5Il09WyJBbHRtYW4gWi1zY29yZSJdLGUuZXhwb3J0c1siQW1vcnRpemF0aW9uIG9mIGRlZmVycmVkIGNoYXJnZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBkZWZlcnJlZCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJBbW9ydGl6YXRpb24gb2YgaW50YW5naWJsZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBpbnRhbmdpYmxlcyJdLGUuZXhwb3J0cy5BbW9ydGl6YXRpb25fc3R1ZHk9WyJBbW9ydGl6YXRpb24iXSxlLmV4cG9ydHNbIkFuY2hvcmVkIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJBbmNob3JlZCBWb2x1bWUgUHJvZmlsZSJdLGUuZXhwb3J0c1siQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Bcm9vbl9zdHVkeT1bIkFyb29uIl0sZS5leHBvcnRzWyJBc3NldCB0dXJub3Zlcl9zdHVkeSJdPVsiQXNzZXQgdHVybm92ZXIiXSxlLmV4cG9ydHNbIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIkF1dG8gRmliIEV4dGVuc2lvbl9zdHVkeSJdPVsiQXV0byBGaWIgRXh0ZW5zaW9uIl0sZS5leHBvcnRzWyJBdXRvIEZpYiBSZXRyYWNlbWVudF9zdHVkeSJdPVsiQXV0byBGaWIgUmV0cmFjZW1lbnQiXSxlLmV4cG9ydHNbIkF1dG8gUGl0Y2hmb3JrX3N0dWR5Il09WyJBdXRvIFBpdGNoZm9yayJdLGUuZXhwb3J0c1siQXV0byBUcmVuZGxpbmVzX3N0dWR5Il09WyJBdXRvIFRyZW5kbGluZXMiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGFpbHkgUmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgRGFpbHkgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGF5IFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIERheSBSYW5nZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleF9zdHVkeSJdPVsiQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleCJdLGUuZXhwb3J0c1siQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiQXZlcmFnZSBQcmljZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgYmFzaWMgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJBdmVyYWdlIGJhc2ljIHNoYXJlcyBvdXRzdGFuZGluZyJdLGUuZXhwb3J0c1siQXdlc29tZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJBd2Vzb21lIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHMuQkJUcmVuZF9zdHVkeT1bIkJCVHJlbmQiXSxlLmV4cG9ydHNbIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHNfc3R1ZHkiXT1bIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHMiXSxlLmV4cG9ydHNbIkJhbGFuY2Ugb2YgUG93ZXJfc3R1ZHkiXT1bIkJhbGFuY2Ugb2YgUG93ZXIiXSxlLmV4cG9ydHNbIkJhclVwRG4gU3RyYXRlZ3lfc3R1ZHkiXT1bIkJhclVwRG4gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkJhc2ljIEVQU19zdHVkeSJdPVsiQmFzaWMgRVBTIl0sZS5leHBvcnRzWyJCYXNpYyBlYXJuaW5ncyBwZXIgc2hhcmUgKEJhc2ljIEVQUylfc3R1ZHkiXT1bIkJhc2ljIGVhcm5pbmdzIHBlciBzaGFyZSAoQmFzaWMgRVBTKSJdLAplLmV4cG9ydHNbIkJlYXJpc2ggRmxhZyBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJCZWFyaXNoIEZsYWcgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQmVhcmlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJlYXJpc2ggUGVubmFudCBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCZW5laXNoIE0tc2NvcmVfc3R1ZHkiXT1bIkJlbmVpc2ggTS1zY29yZSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRXaWR0aF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRXaWR0aCJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzICViX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMgJWIiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSBkaXJlY3RlZF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRzIFN0cmF0ZWd5IGRpcmVjdGVkIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgU3RyYXRlZ3lfc3R1ZHkiXT1bIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYXJzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFycyJdLGUuZXhwb3J0c1siQm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJCdWxsIEJlYXIgUG93ZXJfc3R1ZHkiXT1bIkJ1bGwgQmVhciBQb3dlciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJ1bGxpc2ggRmxhZyBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCdWxsaXNoIFBlbm5hbnQgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQnVsbGlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkJ1eWJhY2sgeWllbGQgJV9zdHVkeSJdPVsiQnV5YmFjayB5aWVsZCAlIl0sZS5leHBvcnRzWyJDT0dTIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkNPR1MgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0cy5DUlNJX3N0dWR5PVsiQ1JTSSJdLGUuZXhwb3J0c1siQ2FwRXggcGVyIHNoYXJlX3N0dWR5Il09WyJDYXBFeCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgYW5kIG9wZXJhdGluZyBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbCBhbmQgb3BlcmF0aW5nIGxlYXNlIG9ibGlnYXRpb25zIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIGZpeGVkIGFzc2V0c19zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgLSBmaXhlZCBhc3NldHMiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIC0gb3RoZXIgYXNzZXRzX3N0dWR5Il09WyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIG90aGVyIGFzc2V0cyJdLGUuZXhwb3J0c1siQ2FwaXRhbCBleHBlbmRpdHVyZXNfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIl0sZS5leHBvcnRzWyJDYXBpdGFsaXplZCBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbGl6ZWQgbGVhc2Ugb2JsaWdhdGlvbnMiXSxlLmV4cG9ydHNbIkNhc2ggJiBlcXVpdmFsZW50c19zdHVkeSJdPVsiQ2FzaCAmIGVxdWl2YWxlbnRzIl0sZS5leHBvcnRzWyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzX3N0dWR5Il09WyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJDYXNoIGNvbnZlcnNpb24gY3ljbGVfc3R1ZHkiXT1bIkNhc2ggY29udmVyc2lvbiBjeWNsZSJdLGUuZXhwb3J0c1siQ2FzaCBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZyb20gZmluYW5jaW5nIGFjdGl2aXRpZXMiXSxlLmV4cG9ydHNbIkNhc2ggZnJvbSBpbnZlc3RpbmcgYWN0aXZpdGllc19zdHVkeSJdPVsiQ2FzaCBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkNhc2ggcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJDYXNoIHRvIGRlYnQgcmF0aW9fc3R1ZHkiXT1bIkNhc2ggdG8gZGVidCByYXRpbyJdLGUuZXhwb3J0c1siQ2hhaWtpbiBNb25leSBGbG93X3N0dWR5Il09WyJDaGFpa2luIE1vbmV5IEZsb3ciXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFpa2luIFZvbGF0aWxpdHlfc3R1ZHkiXT1bIkNoYWlraW4gVm9sYXRpbGl0eSJdLGUuZXhwb3J0c1siQ2hhbmRlIEtyb2xsIFN0b3Bfc3R1ZHkiXT1bIkNoYW5kZSBLcm9sbCBTdG9wIl0sZS5leHBvcnRzWyJDaGFuZGUgTW9tZW50dW0gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhbmRlIE1vbWVudHVtIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBhY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJDaGFuZ2UgaW4gYWNjb3VudHMgcGF5YWJsZSJdLGUuZXhwb3J0c1siQ2hhbmdlIGluIGFjY291bnRzIHJlY2VpdmFibGVfc3R1ZHkiXT1bIkNoYW5nZSBpbiBhY2NvdW50cyByZWNlaXZhYmxlIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gYWNjcnVlZCBleHBlbnNlc19zdHVkeSJdPVsiQ2hhbmdlIGluIGFjY3J1ZWQgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBpbnZlbnRvcmllc19zdHVkeSJdPVsiQ2hhbmdlIGluIGludmVudG9yaWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzX3N0dWR5Il09WyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gdGF4ZXMgcGF5YWJsZV9zdHVkeSJdPVsiQ2hhbmdlIGluIHRheGVzIHBheWFibGUiXSxlLmV4cG9ydHNbIkNoYW5nZXMgaW4gd29ya2luZyBjYXBpdGFsX3N0dWR5Il09WyJDaGFuZ2VzIGluIHdvcmtpbmcgY2FwaXRhbCJdLGUuZXhwb3J0cy5DaGFubmVsQnJlYWtPdXRTdHJhdGVneV9zdHVkeT1bIkNoYW5uZWxCcmVha091dFN0cmF0ZWd5Il0sCmUuZXhwb3J0c1siQ2hvcCBab25lX3N0dWR5Il09WyJDaG9wIFpvbmUiXSxlLmV4cG9ydHNbIkNob3BwaW5lc3MgSW5kZXhfc3R1ZHkiXT1bIkNob3BwaW5lc3MgSW5kZXgiXSxlLmV4cG9ydHNbIkNvbW1vZGl0eSBDaGFubmVsIEluZGV4X3N0dWR5Il09WyJDb21tb2RpdHkgQ2hhbm5lbCBJbmRleCJdLGUuZXhwb3J0c1siQ29tbW9uIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJDb21tb24gZGl2aWRlbmRzIHBhaWQiXSxlLmV4cG9ydHNbIkNvbW1vbiBlcXVpdHksIHRvdGFsX3N0dWR5Il09WyJDb21tb24gZXF1aXR5LCB0b3RhbCJdLGUuZXhwb3J0c1siQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZV9zdHVkeSJdPVsiQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZSJdLGUuZXhwb3J0cy5Db21wYXJlX3N0dWR5PVsiQ29tcGFyZSJdLGUuZXhwb3J0c1siQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnNfc3R1ZHkiXT1bIkNvbmRpdGlvbmFsIEV4cHJlc3Npb25zIl0sZS5leHBvcnRzWyJDb25ub3JzIFJTSV9zdHVkeSJdPVsiQ29ubm9ycyBSU0kiXSxlLmV4cG9ydHMuQ29ubm9yc1JTSV9zdHVkeT1bIkNvbm5vcnNSU0kiXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3lfc3R1ZHkiXT1bIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkNvcHBvY2sgQ3VydmVfc3R1ZHkiXT1bIkNvcHBvY2sgQ3VydmUiXSxlLmV4cG9ydHNbIkNvcnJlbGF0aW9uIC0gTG9nX3N0dWR5Il09WyJDb3JyZWxhdGlvbiAtIExvZyJdLGUuZXhwb3J0c1siQ29ycmVsYXRpb24gQ29lZmZpY2llbnRfc3R1ZHkiXT1bIkNvcnJlbGF0aW9uIENvZWZmaWNpZW50Il0sZS5leHBvcnRzWyJDb3N0IG9mIGdvb2RzIHNvbGRfc3R1ZHkiXT1bIkNvc3Qgb2YgZ29vZHMgc29sZCJdLGUuZXhwb3J0c1siQ29zdCBvZiBnb29kc19zdHVkeSJdPVsiQ29zdCBvZiBnb29kcyJdLGUuZXhwb3J0c1siQ3J5cHRvIE9wZW4gSW50ZXJlc3Rfc3R1ZHkiXT1bIkNyeXB0byBPcGVuIEludGVyZXN0Il0sZS5leHBvcnRzWyJDdW11bGF0aXZlIFZvbHVtZSBEZWx0YV9zdHVkeSJdPVsiQ3VtdWxhdGl2ZSBWb2x1bWUgRGVsdGEiXSxlLmV4cG9ydHNbIkN1bXVsYXRpdmUgVm9sdW1lIEluZGV4X3N0dWR5Il09WyJDdW11bGF0aXZlIFZvbHVtZSBJbmRleCJdLGUuZXhwb3J0c1siQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQ3VycmVudCBwb3J0aW9uIG9mIExUIGRlYnQgYW5kIGNhcGl0YWwgbGVhc2VzX3N0dWR5Il09WyJDdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidCBhbmQgY2FwaXRhbCBsZWFzZXMiXSxlLmV4cG9ydHNbIkN1cnJlbnQgcmF0aW9fc3R1ZHkiXT1bIkN1cnJlbnQgcmF0aW8iXSxlLmV4cG9ydHMuRE1JX3N0dWR5PVsiRE1JIl0sZS5leHBvcnRzWyJEYXJrIENsb3VkIENvdmVyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRGFyayBDbG91ZCBDb3ZlciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkRheXMgaW52ZW50b3J5X3N0dWR5Il09WyJEYXlzIGludmVudG9yeSJdLGUuZXhwb3J0c1siRGF5cyBwYXlhYmxlX3N0dWR5Il09WyJEYXlzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRheXMgc2FsZXMgb3V0c3RhbmRpbmdfc3R1ZHkiXT1bIkRheXMgc2FsZXMgb3V0c3RhbmRpbmciXSxlLmV4cG9ydHNbIkRlYnQgdG8gRUJJVERBIHJhdGlvX3N0dWR5Il09WyJEZWJ0IHRvIEVCSVREQSByYXRpbyJdLGUuZXhwb3J0c1siRGVidCB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkRlYnQgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJEZWJ0IHRvIGVxdWl0eSByYXRpb19zdHVkeSJdPVsiRGVidCB0byBlcXVpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIkRlYnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiRGVidCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJEZWZlcnJlZCBpbmNvbWUsIGN1cnJlbnRfc3R1ZHkiXT1bIkRlZmVycmVkIGluY29tZSwgY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudF9zdHVkeSJdPVsiRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGFzc2V0c19zdHVkeSJdPVsiRGVmZXJyZWQgdGF4IGFzc2V0cyJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJEZWZlcnJlZCB0YXggbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkRlZmVycmVkIHRheGVzIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZWZlcnJlZCB0YXhlcyAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbl9zdHVkeSJdPVsiRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbiJdLGUuZXhwb3J0c1siRGVwcmVjaWF0aW9uICYgYW1vcnRpemF0aW9uIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZXByZWNpYXRpb24gJiBhbW9ydGl6YXRpb24gKGNhc2ggZmxvdykiXSxlLmV4cG9ydHNbIkRlcHJlY2lhdGlvbi9kZXBsZXRpb25fc3R1ZHkiXT1bIkRlcHJlY2lhdGlvbi9kZXBsZXRpb24iXSxlLmV4cG9ydHMuRGVwcmVjaWF0aW9uX3N0dWR5PVsiRGVwcmVjaWF0aW9uIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9zdHVkeSJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgRVBTX3N0dWR5Il09WyJEaWx1dGVkIEVQUyJdLGUuZXhwb3J0c1siRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKV9zdHVkeSJdPVsiRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKSJdLGUuZXhwb3J0c1siRGlsdXRlZCBuZXQgaW5jb21lIGF2YWlsYWJsZSB0byBjb21tb24gc3RvY2tob2xkZXJzX3N0dWR5Il09WyJEaWx1dGVkIG5ldCBpbmNvbWUgYXZhaWxhYmxlIHRvIGNvbW1vbiBzdG9ja2hvbGRlcnMiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJEaWx1dGVkIHNoYXJlcyBvdXRzdGFuZGluZyJdLAplLmV4cG9ydHNbIkRpbHV0aW9uIGFkanVzdG1lbnRfc3R1ZHkiXT1bIkRpbHV0aW9uIGFkanVzdG1lbnQiXSxlLmV4cG9ydHNbIkRpcmVjdGlvbmFsIE1vdmVtZW50IEluZGV4X3N0dWR5Il09WyJEaXJlY3Rpb25hbCBNb3ZlbWVudCBJbmRleCJdLGUuZXhwb3J0c1siRGlyZWN0aW9uYWwgTW92ZW1lbnRfc3R1ZHkiXT1bIkRpcmVjdGlvbmFsIE1vdmVtZW50Il0sZS5leHBvcnRzWyJEaXNjb250aW51ZWQgb3BlcmF0aW9uc19zdHVkeSJdPVsiRGlzY29udGludWVkIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHNbIkRpdmVyZ2VuY2UgSW5kaWNhdG9yX3N0dWR5Il09WyJEaXZlcmdlbmNlIEluZGljYXRvciJdLGUuZXhwb3J0c1siRGl2aWRlbmQgcGF5b3V0IHJhdGlvICVfc3R1ZHkiXT1bIkRpdmlkZW5kIHBheW91dCByYXRpbyAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZCB5aWVsZCAlX3N0dWR5Il09WyJEaXZpZGVuZCB5aWVsZCAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZHMgcGF5YWJsZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmUgLSBjb21tb24gc3RvY2sgcHJpbWFyeSBpc3N1ZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBlciBzaGFyZSAtIGNvbW1vbiBzdG9jayBwcmltYXJ5IGlzc3VlIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzLkRvamlfc3R1ZHk9WyJEb2ppIl0sZS5leHBvcnRzWyJEb25jaGlhbiBDaGFubmVsc19zdHVkeSJdPVsiRG9uY2hpYW4gQ2hhbm5lbHMiXSxlLmV4cG9ydHNbIkRvdWJsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiRG91YmxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJEb3VibGUgRU1BX3N0dWR5Il09WyJEb3VibGUgRU1BIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkRvdWJsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siRG93bnNpZGUgVGFzdWtpIEdhcCAtIEJlYXJpc2hfc3R1ZHkiXT1bIkRvd25zaWRlIFRhc3VraSBHYXAgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEcmFnb25mbHkgRG9qaSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkRyYWdvbmZseSBEb2ppIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siRUJJVCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVCSVQgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJFQklUREEgbWFyZ2luICVfc3R1ZHkiXT1bIkVCSVREQSBtYXJnaW4gJSJdLGUuZXhwb3J0c1siRUJJVERBIHBlciBzaGFyZV9zdHVkeSJdPVsiRUJJVERBIHBlciBzaGFyZSJdLGUuZXhwb3J0cy5FQklUREFfc3R1ZHk9WyJFQklUREEiXSxlLmV4cG9ydHMuRUJJVF9zdHVkeT1bIkVCSVQiXSxlLmV4cG9ydHNbIkVNQSBDcm9zc19zdHVkeSJdPVsiRU1BIENyb3NzIl0sZS5leHBvcnRzWyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoX3N0dWR5Il09WyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoIl0sZS5leHBvcnRzWyJFUFMgZGlsdXRlZCBvbmUgeWVhciBncm93dGhfc3R1ZHkiXT1bIkVQUyBkaWx1dGVkIG9uZSB5ZWFyIGdyb3d0aCJdLGUuZXhwb3J0c1siRVBTIGVzdGltYXRlc19zdHVkeSJdPVsiRVBTIGVzdGltYXRlcyJdLGUuZXhwb3J0c1siRWFybmluZ3MgeWllbGRfc3R1ZHkiXT1bIkVhcm5pbmdzIHlpZWxkIl0sZS5leHBvcnRzWyJFYXNlIE9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIE9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFYXNlIG9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIG9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFZmZlY3RpdmUgaW50ZXJlc3QgcmF0ZSBvbiBkZWJ0ICVfc3R1ZHkiXT1bIkVmZmVjdGl2ZSBpbnRlcmVzdCByYXRlIG9uIGRlYnQgJSJdLGUuZXhwb3J0c1siRWxkZXIgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVyIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcidzIEZvcmNlIEluZGV4X3N0dWR5Il09WyJFbGRlcidzIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcnMgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVycyBGb3JjZSBJbmRleCJdLGUuZXhwb3J0c1siRWxsaW90dCBXYXZlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkVsbGlvdHQgV2F2ZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCZWFyaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCdWxsaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIEVCSVQgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVCByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZSB0byBFQklUREEgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVERBIHJhdGlvIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZV9zdHVkeSJdPVsiRW50ZXJwcmlzZSB2YWx1ZSJdLGUuZXhwb3J0cy5FbnZlbG9wZV9zdHVkeT1bIkVudmVsb3BlIl0sZS5leHBvcnRzLkVudmVsb3Blc19zdHVkeT1bIkVudmVsb3BlcyJdLGUuZXhwb3J0c1siRXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJFcXVpdHkgaW4gZWFybmluZ3MiXSxlLmV4cG9ydHNbIkVxdWl0eSB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkVxdWl0eSB0byBhc3NldHMgcmF0aW8iXSxlLmV4cG9ydHNbIkV2ZW5pbmcgRG9qaSBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRXZlbmluZyBEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoIl0sCmUuZXhwb3J0c1siRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siRmFsbGluZyBXZWRnZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJGYWxsaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkZhbGxpbmcgV2luZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBXaW5kb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlc19zdHVkeSJdPVsiRmluYW5jaW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHNvdXJjZXMiXSxlLmV4cG9ydHNbIkZpbmFuY2luZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzX3N0dWR5Il09WyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgdXNlcyJdLGUuZXhwb3J0c1siRmlzaGVyIFRyYW5zZm9ybV9zdHVkeSJdPVsiRmlzaGVyIFRyYW5zZm9ybSJdLGUuZXhwb3J0c1siRml4ZWQgUmFuZ2UgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkZpeGVkIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJGaXhlZCBSYW5nZV9zdHVkeSJdPVsiRml4ZWQgUmFuZ2UiXSxlLmV4cG9ydHNbIkZsb2F0IHNoYXJlcyBvdXRzdGFuZGluZ19zdHVkeSJdPVsiRmxvYXQgc2hhcmVzIG91dHN0YW5kaW5nIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvdyBtYXJnaW4gJV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgbWFyZ2luICUiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IHBlciBzaGFyZV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvd19zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3ciXSxlLmV4cG9ydHNbIkZyZWUgZmxvYXRfc3R1ZHkiXT1bIkZyZWUgZmxvYXQiXSxlLmV4cG9ydHNbIkZ1bG1lciBIIGZhY3Rvcl9zdHVkeSJdPVsiRnVsbWVyIEggZmFjdG9yIl0sZS5leHBvcnRzWyJGdW5kaW5nIFJhdGVfc3R1ZHkiXT1bIkZ1bmRpbmcgUmF0ZSJdLGUuZXhwb3J0c1siRnVuZHMgZnJvbSBvcGVyYXRpb25zX3N0dWR5Il09WyJGdW5kcyBmcm9tIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHMuR2Fwc19zdHVkeT1bIkdhcHMiXSxlLmV4cG9ydHNbIkdvb2R3aWxsIHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR29vZHdpbGwgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJHb29kd2lsbCwgbmV0X3N0dWR5Il09WyJHb29kd2lsbCwgbmV0Il0sZS5leHBvcnRzWyJHcmFoYW0ncyBudW1iZXJfc3R1ZHkiXT1bIkdyYWhhbSdzIG51bWJlciJdLGUuZXhwb3J0c1siR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaF9zdHVkeSJdPVsiR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siR3JlZWR5IFN0cmF0ZWd5X3N0dWR5Il09WyJHcmVlZHkgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkdyb3NzIG1hcmdpbiAlX3N0dWR5Il09WyJHcm9zcyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpbyJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0X3N0dWR5Il09WyJHcm9zcyBwcm9maXQiXSxlLmV4cG9ydHNbIkdyb3NzIHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiR3Jvc3MgcHJvcGVydHkvcGxhbnQvZXF1aXBtZW50Il0sZS5leHBvcnRzWyJHdXBweSBNdWx0aXBsZSBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiR3VwcHkgTXVsdGlwbGUgTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkhhbW1lciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkhhbW1lciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIkhhbmdpbmcgTWFuIC0gQmVhcmlzaF9zdHVkeSJdPVsiSGFuZ2luZyBNYW4gLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkhpc3RvcmljYWwgVm9sYXRpbGl0eV9zdHVkeSJdPVsiSGlzdG9yaWNhbCBWb2xhdGlsaXR5Il0sZS5leHBvcnRzWyJIdWxsIE1vdmluZyBBdmVyYWdlX3N0dWR5Il09WyJIdWxsIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJJY2hpbW9rdSBDbG91ZF9zdHVkeSJdPVsiSWNoaW1va3UgQ2xvdWQiXSxlLmV4cG9ydHMuSWNoaW1va3Vfc3R1ZHk9WyJJY2hpbW9rdSJdLGUuZXhwb3J0cy5JbXBhaXJtZW50c19zdHVkeT1bIkltcGFpcm1lbnRzIl0sZS5leHBvcnRzWyJJblNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJJblNpZGUgQmFyIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJJbmNvbWUgVGF4IENyZWRpdHNfc3R1ZHkiXT1bIkluY29tZSBUYXggQ3JlZGl0cyJdLGUuZXhwb3J0c1siSW5jb21lIFRheCwgY3VycmVudCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSBUYXgsIGN1cnJlbnQgLSBmb3JlaWduIl0sZS5leHBvcnRzWyJJbmNvbWUgdGF4IHBheWFibGVfc3R1ZHkiXT1bIkluY29tZSB0YXggcGF5YWJsZSJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgY3VycmVudCAtIGRvbWVzdGljX3N0dWR5Il09WyJJbmNvbWUgdGF4LCBjdXJyZW50IC0gZG9tZXN0aWMiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGN1cnJlbnRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGN1cnJlbnQiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWNfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWMiXSwKZS5leHBvcnRzWyJJbmNvbWUgdGF4LCBkZWZlcnJlZCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZm9yZWlnbiJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgZGVmZXJyZWRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIl0sZS5leHBvcnRzWyJJbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgY2FwaXRhbGl6ZWQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGNvdmVyYWdlX3N0dWR5Il09WyJJbnRlcmVzdCBjb3ZlcmFnZSJdLGUuZXhwb3J0c1siSW50ZXJlc3QgZXhwZW5zZSBvbiBkZWJ0X3N0dWR5Il09WyJJbnRlcmVzdCBleHBlbnNlIG9uIGRlYnQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGV4cGVuc2UsIG5ldCBvZiBpbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgZXhwZW5zZSwgbmV0IG9mIGludGVyZXN0IGNhcGl0YWxpemVkIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIHByb2dyZXNzIHBheW1lbnRzICYgb3RoZXJfc3R1ZHkiXT1bIkludmVudG9yaWVzIC0gcHJvZ3Jlc3MgcGF5bWVudHMgJiBvdGhlciJdLGUuZXhwb3J0c1siSW52ZW50b3JpZXMgLSByYXcgbWF0ZXJpYWxzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIHJhdyBtYXRlcmlhbHMiXSxlLmV4cG9ydHNbIkludmVudG9yaWVzIC0gd29yayBpbiBwcm9ncmVzc19zdHVkeSJdPVsiSW52ZW50b3JpZXMgLSB3b3JrIGluIHByb2dyZXNzIl0sZS5leHBvcnRzWyJJbnZlbnRvcnkgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiSW52ZW50b3J5IHRvIHJldmVudWUgcmF0aW8iXSxlLmV4cG9ydHNbIkludmVudG9yeSB0dXJub3Zlcl9zdHVkeSJdPVsiSW52ZW50b3J5IHR1cm5vdmVyIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoX3N0dWR5Il09WyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciBzb3VyY2VzX3N0dWR5Il09WyJJbnZlc3RpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlcyJdLGUuZXhwb3J0c1siSW52ZXN0aW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHVzZXNfc3R1ZHkiXT1bIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzIl0sZS5leHBvcnRzWyJJbnZlc3RtZW50cyBpbiB1bmNvbnNvbGlkYXRlZCBzdWJzaWRpYXJpZXNfc3R1ZHkiXT1bIkludmVzdG1lbnRzIGluIHVuY29uc29saWRhdGVkIHN1YnNpZGlhcmllcyJdLGUuZXhwb3J0c1siSXNzdWFuY2Ugb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIGRlYnQsIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBkZWJ0LCBuZXQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygb3RoZXIgZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBvdGhlciBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIHNob3J0IHRlcm0gZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygc3RvY2ssIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzdG9jaywgbmV0Il0sZS5leHBvcnRzWyJLWiBpbmRleF9zdHVkeSJdPVsiS1ogaW5kZXgiXSxlLmV4cG9ydHNbIktlbHRuZXIgQ2hhbm5lbCBTdHJhdGVneV9zdHVkeSJdPVsiS2VsdG5lciBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5X3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzX3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIl0sZS5leHBvcnRzWyJLZXkgc3RhdHNfc3R1ZHkiXT1bIktleSBzdGF0cyJdLGUuZXhwb3J0c1siS2lja2luZyAtIEJlYXJpc2hfc3R1ZHkiXT1bIktpY2tpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJLaWNraW5nIC0gQnVsbGlzaF9zdHVkeSJdPVsiS2lja2luZyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIktsaW5nZXIgT3NjaWxsYXRvcl9zdHVkeSJdPVsiS2xpbmdlciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJLbm93IFN1cmUgVGhpbmdfc3R1ZHkiXT1bIktub3cgU3VyZSBUaGluZyJdLGUuZXhwb3J0c1siTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0c1siTGVnYWwgY2xhaW0gZXhwZW5zZV9zdHVkeSJdPVsiTGVnYWwgY2xhaW0gZXhwZW5zZSJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbF9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbCJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ3VydmVfc3R1ZHkiXT1bIkxpbmVhciBSZWdyZXNzaW9uIEN1cnZlIl0sZS5leHBvcnRzWyJMaW5lYXIgUmVncmVzc2lvbiBTbG9wZV9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gU2xvcGUiXSxlLmV4cG9ydHNbIkxpbmVhciBSZWdyZXNzaW9uX3N0dWR5Il09WyJMaW5lYXIgUmVncmVzc2lvbiJdLGUuZXhwb3J0cy5MaXF1aWRhdGlvbnNfc3R1ZHk9WyJMaXF1aWRhdGlvbnMiXSwKZS5leHBvcnRzWyJMaXF1aWRpdHkgcmF0aW9zX3N0dWR5Il09WyJMaXF1aWRpdHkgcmF0aW9zIl0sZS5leHBvcnRzWyJMb25nIExvd2VyIFNoYWRvdyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkxvbmcgTG93ZXIgU2hhZG93IC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTG9uZyBTaG9ydCBBY2NvdW50cyAlX3N0dWR5Il09WyJMb25nIFNob3J0IEFjY291bnRzICUiXSxlLmV4cG9ydHNbIkxvbmcgVXBwZXIgU2hhZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiTG9uZyBVcHBlciBTaGFkb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCBleGNsLiBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgZXhjbC4gbGVhc2UgbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgdG8gdG90YWwgYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCB0byB0b3RhbCBlcXVpdHkgcmF0aW9fc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGVxdWl0eSByYXRpbyJdLGUuZXhwb3J0c1siTG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJMb25nIHRlcm0gaW52ZXN0bWVudHNfc3R1ZHkiXT1bIkxvbmcgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50c19zdHVkeSJdPVsiTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50cyJdLGUuZXhwb3J0c1siTUEgQ3Jvc3Nfc3R1ZHkiXT1bIk1BIENyb3NzIl0sZS5leHBvcnRzWyJNQSB3aXRoIEVNQSBDcm9zc19zdHVkeSJdPVsiTUEgd2l0aCBFTUEgQ3Jvc3MiXSxlLmV4cG9ydHNbIk1BL0VNQSBDcm9zc19zdHVkeSJdPVsiTUEvRU1BIENyb3NzIl0sZS5leHBvcnRzWyJNQUNEIFN0cmF0ZWd5X3N0dWR5Il09WyJNQUNEIFN0cmF0ZWd5Il0sZS5leHBvcnRzLk1BQ0Rfc3R1ZHk9WyJNQUNEIl0sZS5leHBvcnRzWyJNYWpvcml0eSBSdWxlX3N0dWR5Il09WyJNYWpvcml0eSBSdWxlIl0sZS5leHBvcnRzWyJNYXJrZXQgY2FwaXRhbGl6YXRpb25fc3R1ZHkiXT1bIk1hcmtldCBjYXBpdGFsaXphdGlvbiJdLGUuZXhwb3J0c1siTWFydWJvenUgQmxhY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJNYXJ1Ym96dSBCbGFjayAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIk1hcnVib3p1IFdoaXRlIC0gQnVsbGlzaF9zdHVkeSJdPVsiTWFydWJvenUgV2hpdGUgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJNYXNzIEluZGV4X3N0dWR5Il09WyJNYXNzIEluZGV4Il0sZS5leHBvcnRzWyJNY0dpbmxleSBEeW5hbWljX3N0dWR5Il09WyJNY0dpbmxleSBEeW5hbWljIl0sZS5leHBvcnRzWyJNZWRpYW4gUHJpY2Vfc3R1ZHkiXT1bIk1lZGlhbiBQcmljZSJdLGUuZXhwb3J0cy5NZWRpYW5fc3R1ZHk9WyJNZWRpYW4iXSxlLmV4cG9ydHNbIk1pbm9yaXR5IGludGVyZXN0X3N0dWR5Il09WyJNaW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTWlzY2VsbGFuZW91cyBub24tb3BlcmF0aW5nIGV4cGVuc2Vfc3R1ZHkiXT1bIk1pc2NlbGxhbmVvdXMgbm9uLW9wZXJhdGluZyBleHBlbnNlIl0sZS5leHBvcnRzWyJNb21lbnR1bSBTdHJhdGVneV9zdHVkeSJdPVsiTW9tZW50dW0gU3RyYXRlZ3kiXSxlLmV4cG9ydHMuTW9tZW50dW1fc3R1ZHk9WyJNb21lbnR1bSJdLGUuZXhwb3J0c1siTW9uZXkgRmxvdyBJbmRleF9zdHVkeSJdPVsiTW9uZXkgRmxvdyBJbmRleCJdLGUuZXhwb3J0c1siTW9uZXkgRmxvd19zdHVkeSJdPVsiTW9uZXkgRmxvdyJdLGUuZXhwb3J0c1siTW9vbiBQaGFzZXNfc3R1ZHkiXT1bIk1vb24gUGhhc2VzIl0sZS5leHBvcnRzWyJNb3JuaW5nIERvamkgU3RhciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIk1vcm5pbmcgRG9qaSBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW9ybmluZyBTdGFyIC0gQnVsbGlzaF9zdHVkeSJdPVsiTW9ybmluZyBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgQWRhcHRpdmVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEFkYXB0aXZlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBEb3VibGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIERvdWJsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgRXhwb25lbnRpYWxfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBNb2RpZmllZF9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgTW9kaWZpZWQiXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIE11bHRpcGxlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBNdWx0aXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgUmliYm9uX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBSaWJib24iXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIFNpbXBsZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgU2ltcGxlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBUcmlwbGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFRyaXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgV2VpZ2h0ZWRfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFdlaWdodGVkIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIk1vdmluZ0F2ZyBDcm9zc19zdHVkeSJdPVsiTW92aW5nQXZnIENyb3NzIl0sCmUuZXhwb3J0c1siTW92aW5nQXZnMkxpbmUgQ3Jvc3Nfc3R1ZHkiXT1bIk1vdmluZ0F2ZzJMaW5lIENyb3NzIl0sZS5leHBvcnRzWyJNdWx0aS1UaW1lIFBlcmlvZCBDaGFydHNfc3R1ZHkiXT1bIk11bHRpLVRpbWUgUGVyaW9kIENoYXJ0cyJdLGUuZXhwb3J0c1siTmV0IFZvbHVtZV9zdHVkeSJdPVsiTmV0IFZvbHVtZSJdLGUuZXhwb3J0c1siTmV0IGN1cnJlbnQgYXNzZXQgdmFsdWUgcGVyIHNoYXJlX3N0dWR5Il09WyJOZXQgY3VycmVudCBhc3NldCB2YWx1ZSBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIk5ldCBkZWJ0X3N0dWR5Il09WyJOZXQgZGVidCJdLGUuZXhwb3J0c1siTmV0IGluY29tZSAoY2FzaCBmbG93KV9zdHVkeSJdPVsiTmV0IGluY29tZSAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBiZWZvcmUgZGlzY29udGludWVkIG9wZXJhdGlvbnNfc3R1ZHkiXT1bIk5ldCBpbmNvbWUgYmVmb3JlIGRpc2NvbnRpbnVlZCBvcGVyYXRpb25zIl0sZS5leHBvcnRzWyJOZXQgaW5jb21lIHBlciBlbXBsb3llZV9zdHVkeSJdPVsiTmV0IGluY29tZSBwZXIgZW1wbG95ZWUiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWVfc3R1ZHkiXT1bIk5ldCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5ldCBpbnRhbmdpYmxlIGFzc2V0c19zdHVkeSJdPVsiTmV0IGludGFuZ2libGUgYXNzZXRzIl0sZS5leHBvcnRzWyJOZXQgbWFyZ2luICVfc3R1ZHkiXT1bIk5ldCBtYXJnaW4gJSJdLGUuZXhwb3J0c1siTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudCJdLGUuZXhwb3J0c1siTm9uLWNhc2ggaXRlbXNfc3R1ZHkiXT1bIk5vbi1jYXNoIGl0ZW1zIl0sZS5leHBvcnRzWyJOb24tY29udHJvbGxpbmcvbWlub3JpdHkgaW50ZXJlc3Rfc3R1ZHkiXT1bIk5vbi1jb250cm9sbGluZy9taW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTm9uLW9wZXJhdGluZyBpbmNvbWUsIGV4Y2wuIGludGVyZXN0IGV4cGVuc2VzX3N0dWR5Il09WyJOb24tb3BlcmF0aW5nIGluY29tZSwgZXhjbC4gaW50ZXJlc3QgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIk5vbi1vcGVyYXRpbmcgaW5jb21lLCB0b3RhbF9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbmNvbWUsIHRvdGFsIl0sZS5leHBvcnRzWyJOb24tb3BlcmF0aW5nIGludGVyZXN0IGluY29tZV9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbnRlcmVzdCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5vdGUgcmVjZWl2YWJsZSAtIGxvbmcgdGVybV9zdHVkeSJdPVsiTm90ZSByZWNlaXZhYmxlIC0gbG9uZyB0ZXJtIl0sZS5leHBvcnRzWyJOb3RlcyBwYXlhYmxlX3N0dWR5Il09WyJOb3RlcyBwYXlhYmxlIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgZW1wbG95ZWVzX3N0dWR5Il09WyJOdW1iZXIgb2YgZW1wbG95ZWVzIl0sZS5leHBvcnRzWyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzX3N0dWR5Il09WyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzIl0sZS5leHBvcnRzWyJPbiBCYWxhbmNlIFZvbHVtZV9zdHVkeSJdPVsiT24gQmFsYW5jZSBWb2x1bWUiXSxlLmV4cG9ydHNbIk9uIE5lY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJPbiBOZWNrIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siT3BlbiBJbnRlcmVzdF9zdHVkeSJdPVsiT3BlbiBJbnRlcmVzdCJdLGUuZXhwb3J0c1siT3BlcmF0aW5nIGNhc2ggZmxvdyBwZXIgc2hhcmVfc3R1ZHkiXT1bIk9wZXJhdGluZyBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgZWFybmluZ3MgeWllbGQgJV9zdHVkeSJdPVsiT3BlcmF0aW5nIGVhcm5pbmdzIHlpZWxkICUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUylfc3R1ZHkiXT1bIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUykiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBpbmNvbWVfc3R1ZHkiXT1bIk9wZXJhdGluZyBpbmNvbWUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiT3BlcmF0aW5nIGxlYXNlIGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgbWFyZ2luICVfc3R1ZHkiXT1bIk9wZXJhdGluZyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siT3RoZXIgQ09HU19zdHVkeSJdPVsiT3RoZXIgQ09HUyJdLGUuZXhwb3J0c1siT3RoZXIgY29tbW9uIGVxdWl0eV9zdHVkeSJdPVsiT3RoZXIgY29tbW9uIGVxdWl0eSJdLGUuZXhwb3J0c1siT3RoZXIgY29zdCBvZiBnb29kcyBzb2xkX3N0dWR5Il09WyJPdGhlciBjb3N0IG9mIGdvb2RzIHNvbGQiXSxlLmV4cG9ydHNbIk90aGVyIGN1cnJlbnQgYXNzZXRzLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgY3VycmVudCBhc3NldHMsIHRvdGFsIl0sZS5leHBvcnRzWyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzX3N0dWR5Il09WyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJPdGhlciBmaW5hbmNpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgZmluYW5jaW5nIGNhc2ggZmxvdyBpdGVtcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIGludGFuZ2libGVzLCBuZXRfc3R1ZHkiXT1bIk90aGVyIGludGFuZ2libGVzLCBuZXQiXSxlLmV4cG9ydHNbIk90aGVyIGludmVzdGluZyBjYXNoIGZsb3cgaXRlbXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBpbnZlc3RpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIk90aGVyIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJPdGhlciBsaWFiaWxpdGllcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxpYWJpbGl0aWVzLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgbG9uZyB0ZXJtIGFzc2V0cywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxvbmcgdGVybSBhc3NldHMsIHRvdGFsIl0sCmUuZXhwb3J0c1siT3RoZXIgbm9uLWN1cnJlbnQgbGlhYmlsaXRpZXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBub24tY3VycmVudCBsaWFiaWxpdGllcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIHJlY2VpdmFibGVzX3N0dWR5Il09WyJPdGhlciByZWNlaXZhYmxlcyJdLGUuZXhwb3J0c1siT3RoZXIgc2hvcnQgdGVybSBkZWJ0X3N0dWR5Il09WyJPdGhlciBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIk91dFNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJPdXRTaWRlIEJhciBTdHJhdGVneSJdLGUuZXhwb3J0cy5PdmVybGF5X3N0dWR5PVsiT3ZlcmxheSJdLGUuZXhwb3J0c1siUEVHIHJhdGlvX3N0dWR5Il09WyJQRUcgcmF0aW8iXSxlLmV4cG9ydHNbIlBhaWQgaW4gY2FwaXRhbF9zdHVkeSJdPVsiUGFpZCBpbiBjYXBpdGFsIl0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5X3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSX3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIl0sZS5leHBvcnRzWyJQZXIgc2hhcmUgbWV0cmljc19zdHVkeSJdPVsiUGVyIHNoYXJlIG1ldHJpY3MiXSxlLmV4cG9ydHMuUGVyZm9ybWFuY2Vfc3R1ZHk9WyJQZXJmb3JtYW5jZSJdLGUuZXhwb3J0c1siUGVyaW9kaWMgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlBlcmlvZGljIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJQaWVyY2luZyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlBpZXJjaW5nIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUGlvdHJvc2tpIEYtc2NvcmVfc3R1ZHkiXT1bIlBpb3Ryb3NraSBGLXNjb3JlIl0sZS5leHBvcnRzWyJQaXZvdCBFeHRlbnNpb24gU3RyYXRlZ3lfc3R1ZHkiXT1bIlBpdm90IEV4dGVuc2lvbiBTdHJhdGVneSJdLGUuZXhwb3J0c1siUGl2b3QgUG9pbnRzIEhpZ2ggTG93X3N0dWR5Il09WyJQaXZvdCBQb2ludHMgSGlnaCBMb3ciXSxlLmV4cG9ydHNbIlBpdm90IFBvaW50cyBTdGFuZGFyZF9zdHVkeSJdPVsiUGl2b3QgUG9pbnRzIFN0YW5kYXJkIl0sZS5leHBvcnRzWyJQaXZvdCBSZXZlcnNhbCBTdHJhdGVneV9zdHVkeSJdPVsiUGl2b3QgUmV2ZXJzYWwgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIlByZWZlcnJlZCBkaXZpZGVuZHMgcGFpZF9zdHVkeSJdPVsiUHJlZmVycmVkIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgZGl2aWRlbmRzX3N0dWR5Il09WyJQcmVmZXJyZWQgZGl2aWRlbmRzIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlX3N0dWR5Il09WyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlIl0sZS5leHBvcnRzWyJQcmVwYWlkIGV4cGVuc2VzX3N0dWR5Il09WyJQcmVwYWlkIGV4cGVuc2VzIl0sZS5leHBvcnRzWyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzIl0sZS5leHBvcnRzWyJQcmV0YXggaW5jb21lX3N0dWR5Il09WyJQcmV0YXggaW5jb21lIl0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5X3N0dWR5Il09WyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsX3N0dWR5Il09WyJQcmljZSBDaGFubmVsIl0sZS5leHBvcnRzWyJQcmljZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJQcmljZSBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRfc3R1ZHkiXT1bIlByaWNlIFRhcmdldCJdLGUuZXhwb3J0c1siUHJpY2UgVm9sdW1lIFRyZW5kX3N0dWR5Il09WyJQcmljZSBWb2x1bWUgVHJlbmQiXSxlLmV4cG9ydHNbIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHRvIGJvb2sgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIGJvb2sgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGNhc2ggZmxvdyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gY2FzaCBmbG93IHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byBlYXJuaW5ncyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gZWFybmluZ3MgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGZyZWUgY2FzaCBmbG93IHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byBmcmVlIGNhc2ggZmxvdyByYXRpbyJdLGUuZXhwb3J0c1siUHJpY2UgdG8gc2FsZXMgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIHNhbGVzIHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvIl0sZS5leHBvcnRzWyJQcm9maXRhYmlsaXR5IHJhdGlvc19zdHVkeSJdPVsiUHJvZml0YWJpbGl0eSByYXRpb3MiXSxlLmV4cG9ydHNbIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2Vfc3R1ZHkiXT1bIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2UiXSxlLmV4cG9ydHNbIlB1cmNoYXNlIG9mIGludmVzdG1lbnRzX3N0dWR5Il09WyJQdXJjaGFzZSBvZiBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siUHVyY2hhc2UvYWNxdWlzaXRpb24gb2YgYnVzaW5lc3Nfc3R1ZHkiXT1bIlB1cmNoYXNlL2FjcXVpc2l0aW9uIG9mIGJ1c2luZXNzIl0sZS5leHBvcnRzWyJQdXJjaGFzZS9zYWxlIG9mIGJ1c2luZXNzLCBuZXRfc3R1ZHkiXT1bIlB1cmNoYXNlL3NhbGUgb2YgYnVzaW5lc3MsIG5ldCJdLGUuZXhwb3J0c1siUHVyY2hhc2Uvc2FsZSBvZiBpbnZlc3RtZW50cywgbmV0X3N0dWR5Il09WyJQdXJjaGFzZS9zYWxlIG9mIGludmVzdG1lbnRzLCBuZXQiXSxlLmV4cG9ydHNbIlF1YWxpdHkgcmF0aW9fc3R1ZHkiXT1bIlF1YWxpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIlF1aWNrIHJhdGlvX3N0dWR5Il09WyJRdWljayByYXRpbyJdLAplLmV4cG9ydHNbIlJDSSBSaWJib25fc3R1ZHkiXT1bIlJDSSBSaWJib24iXSxlLmV4cG9ydHNbIlJTSSBEaXZlcmdlbmNlIEluZGljYXRvcl9zdHVkeSJdPVsiUlNJIERpdmVyZ2VuY2UgSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJSU0kgU3RyYXRlZ3lfc3R1ZHkiXT1bIlJTSSBTdHJhdGVneSJdLGUuZXhwb3J0c1siUmFuayBDb3JyZWxhdGlvbiBJbmRleF9zdHVkeSJdPVsiUmFuayBDb3JyZWxhdGlvbiBJbmRleCJdLGUuZXhwb3J0c1siUmF0ZSBPZiBDaGFuZ2Vfc3R1ZHkiXT1bIlJhdGUgT2YgQ2hhbmdlIl0sZS5leHBvcnRzWyJSZWN0YW5nbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiUmVjdGFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlJlZHVjdGlvbiBvZiBsb25nIHRlcm0gZGVidF9zdHVkeSJdPVsiUmVkdWN0aW9uIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJSZWxhdGl2ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgU3RyZW5ndGggSW5kZXgiXSxlLmV4cG9ydHNbIlJlbGF0aXZlIFZpZ29yIEluZGV4X3N0dWR5Il09WyJSZWxhdGl2ZSBWaWdvciBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sdW1lIGF0IFRpbWVfc3R1ZHkiXT1bIlJlbGF0aXZlIFZvbHVtZSBhdCBUaW1lIl0sZS5leHBvcnRzWyJSZXB1cmNoYXNlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9ja19zdHVkeSJdPVsiUmVwdXJjaGFzZSBvZiBjb21tb24gJiBwcmVmZXJyZWQgc3RvY2siXSxlLmV4cG9ydHNbIlJlc2VhcmNoICYgZGV2ZWxvcG1lbnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiUmVzZWFyY2ggJiBkZXZlbG9wbWVudCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJSZXNlYXJjaCAmIGRldmVsb3BtZW50X3N0dWR5Il09WyJSZXNlYXJjaCAmIGRldmVsb3BtZW50Il0sZS5leHBvcnRzWyJSZXN0cnVjdHVyaW5nIGNoYXJnZV9zdHVkeSJdPVsiUmVzdHJ1Y3R1cmluZyBjaGFyZ2UiXSxlLmV4cG9ydHNbIlJldGFpbmVkIGVhcm5pbmdzX3N0dWR5Il09WyJSZXRhaW5lZCBlYXJuaW5ncyJdLGUuZXhwb3J0c1siUmV0dXJuIG9uIGFzc2V0cyAlX3N0dWR5Il09WyJSZXR1cm4gb24gYXNzZXRzICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBlcXVpdHkgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gZXF1aXR5IGFkanVzdGVkIHRvIGJvb2sgdmFsdWUgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSBhZGp1c3RlZCB0byBib29rIHZhbHVlICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICVfc3R1ZHkiXT1bIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiB0YW5naWJsZSBhc3NldHMgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIHRhbmdpYmxlIGFzc2V0cyAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gdGFuZ2libGUgZXF1aXR5ICVfc3R1ZHkiXT1bIlJldHVybiBvbiB0YW5naWJsZSBlcXVpdHkgJSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBlc3RpbWF0ZXNfc3R1ZHkiXT1bIlJldmVudWUgZXN0aW1hdGVzIl0sZS5leHBvcnRzWyJSZXZlbnVlIG9uZSB5ZWFyIGdyb3d0aF9zdHVkeSJdPVsiUmV2ZW51ZSBvbmUgeWVhciBncm93dGgiXSxlLmV4cG9ydHNbIlJldmVudWUgcGVyIGVtcGxveWVlX3N0dWR5Il09WyJSZXZlbnVlIHBlciBlbXBsb3llZSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlJldmVudWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJSaXNpbmcgVGhyZWUgTWV0aG9kcyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlJpc2luZyBUaHJlZSBNZXRob2RzIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUmlzaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlJpc2luZyBXZWRnZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJSaXNpbmcgV2luZG93IC0gQnVsbGlzaF9zdHVkeSJdPVsiUmlzaW5nIFdpbmRvdyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXRfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXQiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHNfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBLbm94dmlsbGUgRGl2ZXJnZW5jZV9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIEtub3h2aWxsZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gTWlzc2VkIFBpdm90IFBvaW50c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIE1pc3NlZCBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBSZXZlcnNhbF9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFJldmVyc2FsIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gWml2IEdob3N0IFBpdm90c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFppdiBHaG9zdCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIEluZGljYXRvci9Pc2NpbGxhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IvT3NjaWxsYXRvciJdLGUuZXhwb3J0c1siU01JIEVyZ29kaWMgSW5kaWNhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlNNSSBFcmdvZGljIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlNhbGUgb2YgY29tbW9uICYgcHJlZmVycmVkIHN0b2NrX3N0dWR5Il09WyJTYWxlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9jayJdLGUuZXhwb3J0c1siU2FsZSBvZiBmaXhlZCBhc3NldHMgJiBidXNpbmVzc2VzX3N0dWR5Il09WyJTYWxlIG9mIGZpeGVkIGFzc2V0cyAmIGJ1c2luZXNzZXMiXSxlLmV4cG9ydHNbIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHMiXSwKZS5leHBvcnRzLlNlYXNvbmFsaXR5X3N0dWR5PVsiU2Vhc29uYWxpdHkiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXJfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXIiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIlNlc3Npb24gVGltZSBQcmljZSBPcHBvcnR1bml0eV9zdHVkeSJdPVsiU2Vzc2lvbiBUaW1lIFByaWNlIE9wcG9ydHVuaXR5Il0sZS5leHBvcnRzWyJTZXNzaW9uIFZvbHVtZSBIRF9zdHVkeSJdPVsiU2Vzc2lvbiBWb2x1bWUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSERfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lX3N0dWR5Il09WyJTZXNzaW9uIFZvbHVtZSJdLGUuZXhwb3J0c1siU2hhcmVob2xkZXJzJyBlcXVpdHlfc3R1ZHkiXT1bIlNoYXJlaG9sZGVycycgZXF1aXR5Il0sZS5leHBvcnRzWyJTaGFyZXMgYnV5YmFjayByYXRpbyAlX3N0dWR5Il09WyJTaGFyZXMgYnV5YmFjayByYXRpbyAlIl0sZS5leHBvcnRzWyJTaG9vdGluZyBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiU2hvb3RpbmcgU3RhciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlNob3J0IHRlcm0gZGVidCBleGNsLiBjdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidF9zdHVkeSJdPVsiU2hvcnQgdGVybSBkZWJ0IGV4Y2wuIGN1cnJlbnQgcG9ydGlvbiBvZiBMVCBkZWJ0Il0sZS5leHBvcnRzWyJTaG9ydCB0ZXJtIGRlYnRfc3R1ZHkiXT1bIlNob3J0IHRlcm0gZGVidCJdLGUuZXhwb3J0c1siU2hvcnQgdGVybSBpbnZlc3RtZW50c19zdHVkeSJdPVsiU2hvcnQgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siU2xvYW4gcmF0aW8gJV9zdHVkeSJdPVsiU2xvYW4gcmF0aW8gJSJdLGUuZXhwb3J0c1siU21vb3RoZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlNtb290aGVkIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJTb2x2ZW5jeSByYXRpb3Nfc3R1ZHkiXT1bIlNvbHZlbmN5IHJhdGlvcyJdLGUuZXhwb3J0c1siU3Bpbm5pbmcgVG9wIEJsYWNrX3N0dWR5Il09WyJTcGlubmluZyBUb3AgQmxhY2siXSxlLmV4cG9ydHNbIlNwaW5uaW5nIFRvcCBXaGl0ZV9zdHVkeSJdPVsiU3Bpbm5pbmcgVG9wIFdoaXRlIl0sZS5leHBvcnRzWyJTcHJpbmdhdGUgc2NvcmVfc3R1ZHkiXT1bIlNwcmluZ2F0ZSBzY29yZSJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRGV2aWF0aW9uX3N0dWR5Il09WyJTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlN0YW5kYXJkIEVycm9yIEJhbmRzX3N0dWR5Il09WyJTdGFuZGFyZCBFcnJvciBCYW5kcyJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3Jfc3R1ZHkiXT1bIlN0YW5kYXJkIEVycm9yIl0sZS5leHBvcnRzLlN0b2NoX3N0dWR5PVsiU3RvY2giXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXhfc3R1ZHkiXT1bIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXgiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgUlNJX3N0dWR5Il09WyJTdG9jaGFzdGljIFJTSSJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBTbG93IFN0cmF0ZWd5X3N0dWR5Il09WyJTdG9jaGFzdGljIFNsb3cgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3RvY2hhc3RpY19zdHVkeT1bIlN0b2NoYXN0aWMiXSxlLmV4cG9ydHMuU3VwZXJUcmVuZF9zdHVkeT1bIlN1cGVyVHJlbmQiXSxlLmV4cG9ydHNbIlN1cGVydHJlbmQgU3RyYXRlZ3lfc3R1ZHkiXT1bIlN1cGVydHJlbmQgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3VwZXJ0cmVuZF9zdHVkeT1bIlN1cGVydHJlbmQiXSxlLmV4cG9ydHNbIlN1c3RhaW5hYmxlIGdyb3d0aCByYXRlX3N0dWR5Il09WyJTdXN0YWluYWJsZSBncm93dGggcmF0ZSJdLGUuZXhwb3J0cy5UUklYX3N0dWR5PVsiVFJJWCJdLGUuZXhwb3J0c1siVGFuZ2libGUgYm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlRhbmdpYmxlIGJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvX3N0dWR5Il09WyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvIl0sZS5leHBvcnRzLlRheGVzX3N0dWR5PVsiVGF4ZXMiXSxlLmV4cG9ydHNbIlRlY2huaWNhbCBSYXRpbmdzIFN0cmF0ZWd5X3N0dWR5Il09WyJUZWNobmljYWwgUmF0aW5ncyBTdHJhdGVneSJdLGUuZXhwb3J0c1siVGVjaG5pY2FsIFJhdGluZ3Nfc3R1ZHkiXT1bIlRlY2huaWNhbCBSYXRpbmdzIl0sZS5leHBvcnRzWyJUaHJlZSBCbGFjayBDcm93cyAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRocmVlIEJsYWNrIENyb3dzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVGhyZWUgV2hpdGUgU29sZGllcnMgLSBCdWxsaXNoX3N0dWR5Il09WyJUaHJlZSBXaGl0ZSBTb2xkaWVycyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHlfc3R1ZHkiXT1bIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHkiXSxlLmV4cG9ydHNbIlRpbWUgV2VpZ2h0ZWQgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVGltZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJUb2JpbidzIFEgKGFwcHJveGltYXRlKV9zdHVkeSJdPVsiVG9iaW4ncyBRIChhcHByb3hpbWF0ZSkiXSxlLmV4cG9ydHNbIlRvdGFsIGFzc2V0c19zdHVkeSJdPVsiVG90YWwgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nIl0sCmUuZXhwb3J0c1siVG90YWwgY3VycmVudCBhc3NldHNfc3R1ZHkiXT1bIlRvdGFsIGN1cnJlbnQgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJUb3RhbCBkZWJ0IHBlciBzaGFyZV9zdHVkeSJdPVsiVG90YWwgZGVidCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnRfc3R1ZHkiXT1bIlRvdGFsIGRlYnQiXSxlLmV4cG9ydHNbIlRvdGFsIGVxdWl0eV9zdHVkeSJdPVsiVG90YWwgZXF1aXR5Il0sZS5leHBvcnRzWyJUb3RhbCBpbnZlbnRvcnlfc3R1ZHkiXT1bIlRvdGFsIGludmVudG9yeSJdLGUuZXhwb3J0c1siVG90YWwgbGlhYmlsaXRpZXMgJiBzaGFyZWhvbGRlcnMnIGVxdWl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyAmIHNoYXJlaG9sZGVycycgZXF1aXRpZXMiXSxlLmV4cG9ydHNbIlRvdGFsIGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgbm9uLWN1cnJlbnQgYXNzZXRzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBhc3NldHMiXSxlLmV4cG9ydHNbIlRvdGFsIG5vbi1jdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgb3BlcmF0aW5nIGV4cGVuc2VzX3N0dWR5Il09WyJUb3RhbCBvcGVyYXRpbmcgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIlRvdGFsIHJlY2VpdmFibGVzLCBuZXRfc3R1ZHkiXT1bIlRvdGFsIHJlY2VpdmFibGVzLCBuZXQiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWVfc3R1ZHkiXT1bIlRvdGFsIHJldmVudWUiXSxlLmV4cG9ydHNbIlRyYWRpbmcgU2Vzc2lvbnNfc3R1ZHkiXT1bIlRyYWRpbmcgU2Vzc2lvbnMiXSxlLmV4cG9ydHNbIlRyZWFzdXJ5IHN0b2NrIC0gY29tbW9uX3N0dWR5Il09WyJUcmVhc3VyeSBzdG9jayAtIGNvbW1vbiJdLGUuZXhwb3J0c1siVHJlbmQgU3RyZW5ndGggSW5kZXhfc3R1ZHkiXT1bIlRyZW5kIFN0cmVuZ3RoIEluZGV4Il0sZS5leHBvcnRzWyJUcmktU3RhciAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRyaS1TdGFyIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVHJpLVN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJUcmktU3RhciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlRyaXBsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiVHJpcGxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJUcmlwbGUgRU1BX3N0dWR5Il09WyJUcmlwbGUgRU1BIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaXBsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiVHJ1ZSBTdHJlbmd0aCBJbmRleCJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlRydWUgU3RyZW5ndGggSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJUd2VlemVyIEJvdHRvbSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlR3ZWV6ZXIgQm90dG9tIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVHdlZXplciBUb3AgLSBCZWFyaXNoX3N0dWR5Il09WyJUd2VlemVyIFRvcCAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlR5cGljYWwgUHJpY2Vfc3R1ZHkiXT1bIlR5cGljYWwgUHJpY2UiXSxlLmV4cG9ydHNbIlVsdGltYXRlIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlVsdGltYXRlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlVucmVhbGl6ZWQgZ2Fpbi9sb3NzX3N0dWR5Il09WyJVbnJlYWxpemVkIGdhaW4vbG9zcyJdLGUuZXhwb3J0c1siVW51c3VhbCBpbmNvbWUvZXhwZW5zZV9zdHVkeSJdPVsiVW51c3VhbCBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siVXAvRG93biBWb2x1bWVfc3R1ZHkiXT1bIlVwL0Rvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJVcHNpZGUgVGFzdWtpIEdhcCAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlVwc2lkZSBUYXN1a2kgR2FwIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVldBUCBBdXRvIEFuY2hvcmVkX3N0dWR5Il09WyJWV0FQIEF1dG8gQW5jaG9yZWQiXSxlLmV4cG9ydHMuVldBUF9zdHVkeT1bIlZXQVAiXSxlLmV4cG9ydHMuVldNQV9zdHVkeT1bIlZXTUEiXSxlLmV4cG9ydHNbIlZhbHVhdGlvbiByYXRpb3Nfc3R1ZHkiXT1bIlZhbHVhdGlvbiByYXRpb3MiXSxlLmV4cG9ydHNbIlZpc2libGUgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVmlzaWJsZSBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIl0sZS5leHBvcnRzLlZvbF9zdHVkeT1bIlZvbCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZV9zdHVkeSJdPVsiVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBPLUgtTC1DX3N0dWR5Il09WyJWb2xhdGlsaXR5IE8tSC1MLUMiXSxlLmV4cG9ydHNbIlZvbGF0aWxpdHkgU3RvcF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBTdG9wIl0sZS5leHBvcnRzWyJWb2xhdGlsaXR5IFplcm8gVHJlbmQgQ2xvc2UtdG8tQ2xvc2Vfc3R1ZHkiXT1bIlZvbGF0aWxpdHkgWmVybyBUcmVuZCBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sdHkgRXhwYW4gQ2xvc2UgU3RyYXRlZ3lfc3R1ZHkiXT1bIlZvbHR5IEV4cGFuIENsb3NlIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJWb2x1bWUgRGVsdGFfc3R1ZHkiXT1bIlZvbHVtZSBEZWx0YSJdLGUuZXhwb3J0c1siVm9sdW1lIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlZvbHVtZSBPc2NpbGxhdG9yIl0sCmUuZXhwb3J0c1siVm9sdW1lIFdlaWdodGVkIEF2ZXJhZ2UgUHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUgV2VpZ2h0ZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Wb2x1bWVfc3R1ZHk9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIlZvcnRleCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlZvcnRleCBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zICVSX3N0dWR5Il09WyJXaWxsaWFtcyAlUiJdLGUuZXhwb3J0c1siV2lsbGlhbXMgQWxsaWdhdG9yX3N0dWR5Il09WyJXaWxsaWFtcyBBbGxpZ2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxfc3R1ZHkiXT1bIldpbGxpYW1zIEZyYWN0YWwiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxzX3N0dWR5Il09WyJXaWxsaWFtcyBGcmFjdGFscyJdLGUuZXhwb3J0c1siV2lsbGlhbXMgUGVyY2VudCBSYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgUGVyY2VudCBSYW5nZSJdLGUuZXhwb3J0c1siV29vZGllcyBDQ0lfc3R1ZHkiXT1bIldvb2RpZXMgQ0NJIl0sZS5leHBvcnRzWyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlX3N0dWR5Il09WyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJaaWcgWmFnX3N0dWR5Il09WyJaaWcgWmFnIl0sZS5leHBvcnRzWyJabWlqZXdza2kgc2NvcmVfc3R1ZHkiXT1bIlptaWpld3NraSBzY29yZSJdfSw1OTYxNjgoZSl7ZS5leHBvcnRzPVsiVm9sIl19LDMxOTA2MChlKXtlLmV4cG9ydHM9WyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZSJdfSwzMTM2MjUoZSl7ZS5leHBvcnRzPVsiZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGUiXX0sMzg0NTk3KGUpe2UuZXhwb3J0cz1bIkNGRCJdfSw2NTUyMzUoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvIl19LDM1MDE0NihlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNzY1NDQwKGUpe2UuZXhwb3J0cz1bIkJvbmRzIl19LDU0ODMyMihlKXtlLmV4cG9ydHM9WyJFY29ub215Il19LDk3OTk3KGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDUwNTA3OShlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDU2NDkxNyhlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw5Mjc0MTEoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSw3OTYwMChlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDU1NTUxMChlKXtlLmV4cG9ydHM9WyJTdG9ja3MiXX0sODMzNzQ2KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBtZXRyaWMiXX0sNzg5MDQ5KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBjdXJyZW5jeSJdfSw0MDUwMTMoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHNjYWxlIHVuaXQiXX0sMjE3MTYxKGUpe2UuZXhwb3J0cz1bIk1peGVkIl19LDE5MTQ1NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBjdXJyZW5jeSJdfSw5OTQ4NDUoZSl7ZS5leHBvcnRzPVsiU2NhbGUgbWV0cmljIl19LDU1Njc2NShlKXtlLmV4cG9ydHM9WyJTY2FsZSB1bml0Il19LDU4NzMwNihlKXtlLmV4cG9ydHM9WyIoTyArIEggKyBMICsgQykvNCJdfSw2OTExNzQoZSl7ZS5leHBvcnRzPVsiKEggKyBMICsgQyArIEMpLzQiXX0sNjU2ODkyKGUpe2UuZXhwb3J0cz1bIihIICsgTCArIEMpLzMiXX0sOTIyNjUyKGUpe2UuZXhwb3J0cz1bIihIICsgTCkvMiJdfSw5MjI5ODMoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sOTUwMzM2KGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sNTA5MzgoZSl7ZS5leHBvcnRzPVsiT3BlbiJdfSw3NjUzNyhlKXtlLmV4cG9ydHM9WyJMb3ciXX0sNDAxOTI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwb2ludCJdfSw0MzIxMjQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG1ldHJpYyJdfSwxODk2MDMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGN1cnJlbmN5Il19LDg1NzIyMyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgbGlua2luZyBncm91cCJdfSw5NTQ4OTEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHVuaXQiXX0sMzU4KGUpe2UuZXhwb3J0cz1bImNsb25lIGxpbmUgdG9vbHMiXX0sNzQ5MDE2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sOTM5NzE3KGUpe2UuZXhwb3J0cz1bImN1dCBzb3VyY2VzIl19LDQxMTgxOChlKXtlLmV4cG9ydHM9WyJjdXQge3RpdGxlfSJdfSwyMzEyNjMoZSl7ZS5leHBvcnRzPVsiYWxpZ24gdG8gNDUgZGVncmVlcyJdfSw2MTgzODYoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZHJhd2luZyB0ZW1wbGF0ZSJdfSwzNjU4NzQoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZmFjdG9yeSBkZWZhdWx0cyB0byBzZWxlY3RlZCBzb3VyY2VzIl19LDM4NTUwNChlKXtlLmV4cG9ydHM9WyJicmluZyB7dGl0bGV9IGZvcndhcmQiXX0sNzc5NTE3KGUpe2UuZXhwb3J0cz1bImludmVydCBzY2FsZSJdfSw5NjU1MzkoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0iXX0sNjE3MDQwKGUpe2UuZXhwb3J0cz1bImluc2VydCB7dGl0bGV9IGFmdGVyIHt0YXJnZXR9Il19LDc0MDYxMyhlKXtlLmV4cG9ydHM9WyJpbnNlcnQge3RpdGxlfSBiZWZvcmUge3RhcmdldH0iXX0sOTQ2OTI5KGUpe2UuZXhwb3J0cz1bImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIl19LDE1OTE0KGUpe2UuZXhwb3J0cz1bIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSJdfSw5Njc5MzUoZSl7ZS5leHBvcnRzPVsibW92ZSB7dGl0bGV9IHRvIG5ldyByaWdodCBzY2FsZSJdfSw5NzAxMDUoZSl7ZS5leHBvcnRzPVsibW92ZSBkcmF3aW5nKHMpIl19LDI5NTIwNChlKXtlLmV4cG9ydHM9WyJtb3ZlIGxlZnQiXX0sNTI1NjQzKGUpe2UuZXhwb3J0cz1bIm1vdmUgcmlnaHQiXX0sNzc3NTc3KGUpe2UuZXhwb3J0cz1bIm1vdmUgc2NhbGUiXX0sNTAwODQzKGUpe2UuZXhwb3J0cz1bIm1ha2Uge3RpdGxlfSBubyBzY2FsZSAoRnVsbCBzY3JlZW4pIl19LDcyMTcwOShlKXtlLmV4cG9ydHM9WyJtZXJnZSBkb3duIl19LDk3NjgxNShlKXtlLmV4cG9ydHM9WyJtZXJnZSB0byBwYW5lIl19LDU1NTkxOChlKXtlLmV4cG9ydHM9WyJtZXJnZSB1cCJdfSw1NDc0NDUoZSl7CmUuZXhwb3J0cz1bInNldCBwcmljZSBzY2FsZSBzZWxlY3Rpb24gc3RyYXRlZ3kgdG8ge3RpdGxlfSJdfSw4MjgwOTIoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDEwMjE5NyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGdsb2JhbGx5Il19LDM1NTQwNyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCJdfSw2OTM2NDkoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGxpbmUgdG9vbChzKSJdfSw3MDg5MDgoZSl7ZS5leHBvcnRzPVsicGFzdGUge3RpdGxlfSJdfSw5MzE3MTkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIl19LDI1NjkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIl19LDkyNTk2MyhlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZHJhd2luZ3MiXX0sMTIyNjA2KGUpe2UuZXhwb3J0cz1bInJlbW92ZSBkcmF3aW5ncyBncm91cCJdfSw4MjgyNTMoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIHBhbmUiXX0sNDQ1NTM5KGUpe2UuZXhwb3J0cz1bInJlbW92ZSB7dGl0bGV9Il19LDYyOTU0MihlKXtlLmV4cG9ydHM9WyJyZXNldCBzY2FsZXMiXX0sMzg4ODg3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBhdXRvIHNjYWxlIl19LDg3MTkxMChlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgaW5kZXhlZCB0byAxMDAgc2NhbGUiXX0sNjAyNDk3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBsb2NrIHNjYWxlIl19LDQ4Mzk5NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDMyOTg0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSJdfSwxNzQ2NDAoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIHJlZ3VsYXIgc2NhbGUiXX0sNjkyMjAxKGUpe2UuZXhwb3J0cz1bInR1cm4gbGluZSB0b29scyBzaGFyaW5nIG9mZiJdfSw2OTQyMihlKXtlLmV4cG9ydHM9WyJ1bm1lcmdlIHRvIG5ldyBib3R0b20gcGFuZSJdfSw5NTE4NDcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSB1cCJdfSwyMjk0MTcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSBkb3duIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4NTYyNihlKXtlLmV4cG9ydHM9WyIgR1BXIOKAlCBOZXdDb25uZWN0Il19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sMzI4MDMwKGUpe2UuZXhwb3J0cz1bIjMgbW9udGhzIl19LDM5MDgxNChlKXtlLmV4cG9ydHM9WyI3OTYiXX0sNDk3MTEwKGUpe2UuZXhwb3J0cz1bIkNNQyBNYXJrZXRzIl19LDM3MTY2NShlKXtlLmV4cG9ydHM9WyJDTUUgR0xPQkVYIOKAlCBDaGljYWdvIE1lcmNhbnRpbGUgRXhjaGFuZ2UgR2xvYmV4Il19LDI5Mzk4NihlKXtlLmV4cG9ydHM9WyJDT01FWCDigJQgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDM4ODg1NihlKXtlLmV4cG9ydHM9WyJDQk9FIEVVIOKAlCBFdXJvcGVhbiBVbmlvbiBJbmRpY2VzIl19LDk5OTg3NyhlKXtlLmV4cG9ydHM9WyJDQk9FIOKAlCBDaGljYWdvIEJvYXJkIE9wdGlvbnMgRXhjaGFuZ2UiXX0sNTAyNzIxKGUpe2UuZXhwb3J0cz1bIkNCT1Qg4oCUIENoaWNhZ28gQm9hcmQgb2YgVHJhZGUiXX0sMzcwNjU4KGUpe2UuZXhwb3J0cz1bIkNGRkVYIOKAlCBDaGluYSBGaW5hbmNpYWwgRnV0dXJlcyBFeGNoYW5nZSJdfSw1MTU3MzgoZSl7ZS5leHBvcnRzPVsiQ0ZJIl19LDI5MzkzMyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIENhbmFkaWFuIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sMzM5MDk3KGUpe2UuZXhwb3J0cz1bIkNTRSDigJQgQ2FzYWJsYW5jYSBTdG9jayBFeGNoYW5nZSJdfSw1MzU2ODQoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBDb2xvbWJvIFN0b2NrIEV4Y2hhbmdlIl19LDk0Mzg4MyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIEN5cHJ1cyBTdG9jayBFeGNoYW5nZSJdfSw5NDIzMTcoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBOYXNkYXEgQ29wZW5oYWdlbiJdfSw0NTQ5NyhlKXtlLmV4cG9ydHM9WyJDWE0iXX0sOTg3NChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDI3MTY2MShlKXtlLmV4cG9ydHM9WyJDb3VudGRvd24gdG8gYmFyIGNsb3NlIl19LDc0MTA3KGUpe2UuZXhwb3J0cz1bIkNvZWZmcyBhcyBwZXJjZW50cyJdfSw5OTUwOTcoZSl7ZS5leHBvcnRzPVsiQ29pbiBNZXRyaWNzIl19LDQ1ODc4MyhlKXtlLmV4cG9ydHM9WyJDb2luRGVzayBJbmRpY2VzIl19LDg2OTE1MihlKXtlLmV4cG9ydHM9WyJDb2luRXgiXX0sNzAzNzQ4KGUpe2UuZXhwb3J0cz1bIkNvaW5KYXIiXX0sMzM4ODI5KGUpe2UuZXhwb3J0cz1bIkNvaW5Td2l0Y2giXX0sNzkzMDk2KGUpe2UuZXhwb3J0cz1bIkNvaW5XIl19LDE5NTg4NihlKXtlLmV4cG9ydHM9WyJDb2luYmFzZSJdfSwxMzU4NjcoZSl7ZS5leHBvcnRzPVsiQ29sb21iaWEiXX0sMjA1MDkxKGUpe2UuZXhwb3J0cz1bIkNvbG9tYm8iXX0sOTIyNDQoZSl7ZS5leHBvcnRzPVsiQ29tcGFyZSBvciBBZGQgU3ltYm9sIl19LDY5Nzg4MShlKXtlLmV4cG9ydHM9WyJDb21waWxhdGlvbiBlcnJvciJdfSwyMzI5MTkoZSl7ZS5leHBvcnRzPVsiQ29uZmlybSB0byByZW1vdmUgbG9ja2VkIGRyYXdpbmdzIl19LDc0NzI1OShlKXtlLmV4cG9ydHM9WyJDb25maXJtIElucHV0cyJdfSwxOTQxOTQoZSl7ZS5leHBvcnRzPVsiQ29ubmVjdGluZyJdfSw4OTkxOShlKXtlLmV4cG9ydHM9WyJDb250cmFjdCBleHBpcmVkIl19LDIxODgxNyhlKXtlLmV4cG9ydHM9WyJDb29yZGluYXRlcyJdfSwzNjY5NTIoZSl7ZS5leHBvcnRzPVsiQ29wZW5oYWdlbiJdfSwzNTE4NDIoZSl7ZS5leHBvcnRzPVsiQ2Fpcm8iXX0sODg0MTYzKGUpe2UuZXhwb3J0cz1bIkNhbWVsb3QgdjIgKEFyYml0cnVtKSJdfSw2Nzc2ODMoZSl7ZS5leHBvcnRzPVsiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIl19LDYzMzkwNyhlKXtlLmV4cG9ydHM9WyJDYW4ndCBhcHBseSB0aGlzIGluZGljYXRvciJdfSwzNTU4MzYoZSl7ZS5leHBvcnRzPVsiQ2FuJ3QgZmluZCB0aGlzIHNjcmlwdCJdfSw3NDM1NjMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDE1MTg5KGUpe2UuZXhwb3J0cz1bIkNhbmFkYSJdfSw4MDc3NihlKXtlLmV4cG9ydHM9WyJDYXBpdGFsLmNvbSJdfSwKNTcyNDI3KGUpe2UuZXhwb3J0cz1bIkNhcmFjYXMiXX0sMjUyNDIyKGUpe2UuZXhwb3J0cz1bIkNhc2FibGFuY2EiXX0sNzI4ODQ3KGUpe2UuZXhwb3J0cz1bIkNib2UgQXVzdHJhbGlhIl19LDk0NTAxOChlKXtlLmV4cG9ydHM9WyJDYm9lIENhbmFkYSJdfSw3NjQxNDUoZSl7ZS5leHBvcnRzPVsiQ2V0dXMgKFN1aSkiXX0sMTkzMjgzKGUpe2UuZXhwb3J0cz1bIkNlbnRlciJdfSw2NzM0ODcoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIl19LDY5Mjc2NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgU3ltYm9sIl19LDU5Nzc3MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgaW50ZXJ2YWwiXX0sODQzMzY3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0ICN7aW5kZXh9Il19LDYyNTc4OChlKXtlLmV4cG9ydHM9WyJDaGFydCBQcm9wZXJ0aWVzIl19LDYyODQzMChlKXtlLmV4cG9ydHM9WyJDaGFydCBmb3Ige3N5bWJvbH0sIHtpbnRlcnZhbH0iXX0sMzU0Njc2KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHRlbXBsYXRlIl19LDgxODg0NihlKXtlLmV4cG9ydHM9WyJDaGF0aGFtIElzbGFuZHMiXX0sODIxNDQ4KGUpe2UuZXhwb3J0cz1bIkNoaWNhZ28iXX0sOTA0MzM4KGUpe2UuZXhwb3J0cz1bIkNoaWxlIl19LDIwOTYzMihlKXtlLmV4cG9ydHM9WyJDaG9uZ3FpbmciXX0sMjUyOTUxKGUpe2UuZXhwb3J0cz1bIkNpdHkgSW5kZXgiXX0sMjI4NDQ5KGUpe2UuZXhwb3J0cz1bIkNyeXB0by5jb20iXX0sODc2MTYoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIG5ldyBsaXN0Il19LDkyNDAwNihlKXtlLmV4cG9ydHM9WyJDcmVhdGVkIHdpdGgge2N1c3RvbWVyfSwge2RhdGV9Il19LDQwNzQoZSl7ZS5leHBvcnRzPVsiQ3JvYXRpYSJdfSwxMDQzMzEoZSl7ZS5leHBvcnRzPVsiQ3VydmUgKEFyYml0cnVtKSJdfSw0MDkwMihlKXtlLmV4cG9ydHM9WyJDdXJ2ZSAoRXRoZXJldW0pIl19LDYzNDczNyhlKXtlLmV4cG9ydHM9WyJDeXBydXMiXX0sMTI5ODA4KGUpe2UuZXhwb3J0cz1bIkN6ZWNoIFJlcHVibGljIl19LDI5OTk3KGUpe2UuZXhwb3J0cz1bIkFOWCJdfSwxNzQxNTIoZSl7ZS5leHBvcnRzPVsiQURYIOKAlCBBYnUgRGhhYmkgU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw3Njk4MjgoZSl7ZS5leHBvcnRzPVsiQVFVSVMg4oCUIEFxdWlzIFN0b2NrIEV4Y2hhbmdlIl19LDc0MTU3MyhlKXtlLmV4cG9ydHM9WyJBU1gg4oCUIEF1c3RyYWxpYW4gU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw2NDExNzYoZSl7ZS5leHBvcnRzPVsiQVRIRVgg4oCUIEF0aGVucyBTdG9jayBFeGNoYW5nZSJdfSwyMTM0NyhlKXtlLmV4cG9ydHM9WyJBbXN0ZXJkYW0iXX0sNzQ2ODcyKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpYyJdfSw4Mjc5MDIoZSl7ZS5leHBvcnRzPVsiQW5jaG9yYWdlIl19LDgwMzIxMChlKXtlLmV4cG9ydHM9WyJBYmF4eCBFeGNoYW5nZSJdfSw0ODc2OShlKXtlLmV4cG9ydHM9WyJBY3RpdlRyYWRlcyJdfSw1NDIyKGUpe2UuZXhwb3J0cz1bIkFjY2VzcyBlcnJvciJdfSwzNDQzMjAoZSl7ZS5leHBvcnRzPVsiQWRkIFN5bWJvbCJdfSw5NzE4OChlKXtlLmV4cG9ydHM9WyJBZGQgYWxlcnQgb24ge3RpdGxlfSJdfSw3MTU4MzgoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIHt0aXRsZX0gYXQge3ByaWNlfSJdfSw5MDM0NDMoZSl7ZS5leHBvcnRzPVsiQWRkIHRleHQiXX0sMzQzMzMxKGUpe2UuZXhwb3J0cz1bIkFkZCB0ZXh0IG5vdGUgZm9yIHtzeW1ib2x9Il19LDIzMDIyNChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gdGV4dCBub3RlcyJdfSw1Nzk5MzQoZSl7ZS5leHBvcnRzPVsiQWRkIHtzeW1ib2x9IHRvIHdhdGNobGlzdCJdfSw1MDE1MDIoZSl7ZS5leHBvcnRzPVsiQWRlbGFpZGUiXX0sMjE3ODY0KGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSAoQmFzZSkiXX0sOTI1MjEyKGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSBTbGlwU3RyZWFtIChCYXNlKSJdfSw2MTYzNzUoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIGludmlzaWJsZSJdfSwzNTY4NDIoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIHZpc2libGUiXX0sMzA1NjQyKGUpe2UuZXhwb3J0cz1bIkFsbCBFeGNoYW5nZXMiXX0sMjI1ODY5KGUpe2UuZXhwb3J0cz1bIkFsbCBnb29kIHRoaW5ncyBtdXN0IGNvbWUgdG8gYW4gZW5kIC0gdGhpcyBjb250cmFjdCBoYXMgcmVhY2hlZCBleHBpcnkhIl19LDc3NzkyMChlKXtlLmV4cG9ydHM9WyJBbGwncyB3ZWxsIOKAlCBtYXJrZXQgaXMgb3Blbi4iXX0sOTI0MTc2KGUpe2UuZXhwb3J0cz1bIkFwcGx5IHRoZXNlIGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSw1MjY3ODUoZSl7ZS5leHBvcnRzPVsiQXByIl19LDE1NTg1MihlKXtlLmV4cG9ydHM9WyJBcHJpbCJdfSw2Njg0MDMoZSl7ZS5leHBvcnRzPVsiQXJjYSDigJQgTllTRSBBcmNhIl19LDg1NzU4NyhlKXtlLmV4cG9ydHM9WyJBcmdlbnRpbmEiXX0sNDk1NzAzKGUpe2UuZXhwb3J0cz1bIkFzdGFuYSJdfSwzMTkwNDQoZSl7ZS5leHBvcnRzPVsiQXNoZ2FiYXQiXX0sMTU5MDYzKGUpe2UuZXhwb3J0cz1bIkF0IGNsb3NlIl19LDk4NDE3MShlKXtlLmV4cG9ydHM9WyJBdGhlbnMiXX0sMjI4MDEzKGUpe2UuZXhwb3J0cz1bIkF1dG8iXX0sNjMzNzUyKGUpe2UuZXhwb3J0cz1bIkF1dG8gKGZpdHMgZGF0YSB0byBzY3JlZW4pIl19LDkzNzYyKGUpe2UuZXhwb3J0cz1bIkF1ZyJdfSw5NTk3NzIoZSl7ZS5leHBvcnRzPVsiQXVndXN0Il19LDI3OTIzMyhlKXtlLmV4cG9ydHM9WyJBdXN0cmFsaWEiXX0sMjM4Mjc4KGUpe2UuZXhwb3J0cz1bIkF1c3RyaWEiXX0sODE0MTQ2KGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwiXX0sNjkzNDYwKGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSJdfSwzODQ5NjQoZSl7ZS5leHBvcnRzPVsiQXpvcmVzIl19LDk0ODczNChlKXtlLmV4cG9ydHM9WyJCMlBSSU1FIl19LDQ3OTM0MShlKXtlLmV4cG9ydHM9WyJCMyDigJQgQnJhc2lsIEJvbHNhIEJhbGNhbyBTLkEuIl19LDkxMTQ1NihlKXtlLmV4cG9ydHM9WyJCTUUg4oCUIEJvbHNhIGRlIE1hZHJpZCJdfSwzMDk0MjcoZSl7ZS5leHBvcnRzPVsiQk1WIOKAlCBNZXhpY2FuIFN0b2NrIEV4Y2hhbmdlIl19LDI5NDQoZSl7CmUuZXhwb3J0cz1bIkJDSEFJTiAoTmFzZGFxIERhdGEgTGluaykiXX0sMTA0MjAwKGUpe2UuZXhwb3J0cz1bIkJFTEVYIOKAlCBCZWxncmFkZSBTdG9jayBFeGNoYW5nZSJdfSw3NDEzNDEoZSl7ZS5leHBvcnRzPVsiQkVUIOKAlCBCdWRhcGVzdCBTdG9jayBFeGNoYW5nZSJdfSwxNDQ2NShlKXtlLmV4cG9ydHM9WyJCSEIg4oCUIEJhaHJhaW4gU3RvY2sgRXhjaGFuZ2UiXX0sMjg5NjcwKGUpe2UuZXhwb3J0cz1bIkJJU1Qg4oCUIEJvcnNhIElzdGFuYnVsIl19LDU4MjI0OShlKXtlLmV4cG9ydHM9WyJCSVZBIOKAlCBCb2xzYSBJbnN0aXR1Y2lvbmFsIGRlIFZhbG9yZXMiXX0sOTQ1NzYwKGUpe2UuZXhwb3J0cz1bIkJTRSDigJQgQm9tYmF5IFN0b2NrIEV4Y2hhbmdlIl19LDE0NzU2OShlKXtlLmV4cG9ydHM9WyJCU1NFIOKAlCBCcmF0aXNsYXZhIFN0b2NrIEV4Y2hhbmdlIl19LDQ0NzIyNChlKXtlLmV4cG9ydHM9WyJCVEMgQ2hpbmEiXX0sODMyNTc0KGUpe2UuZXhwb3J0cz1bIkJUQy1FIl19LDY5NDMxNihlKXtlLmV4cG9ydHM9WyJCVENDIl19LDgxMTE3NShlKXtlLmV4cG9ydHM9WyJCVFNFIl19LDc2NTY5MyhlKXtlLmV4cG9ydHM9WyJCVkIg4oCUIEJ1Y2hhcmVzdCBTdG9jayBFeGNoYW5nZSJdfSwxODQ2MTkoZSl7ZS5leHBvcnRzPVsiQlZDIOKAlCBCb2xzYSBkZSBWYWxvcmVzIGRlIENvbG9tYmlhIl19LDcwNTk1MihlKXtlLmV4cG9ydHM9WyJCVkMg4oCUIENhcmFjYXMgU3RvY2sgRXhjaGFuZ2UiXX0sMzUxMDc2KGUpe2UuZXhwb3J0cz1bIkJWTCDigJQgQm9sc2EgZGUgVmFsb3JlcyBkZSBMaW1hIl19LDU3MzM2KGUpe2UuZXhwb3J0cz1bIkJWTVQg4oCUIFR1bmlzIFN0b2NrIEV4Y2hhbmdlIl19LDc2MjQ2MShlKXtlLmV4cG9ydHM9WyJCWCDigJQgQlggU3dpc3MiXX0sMTE0OTExKGUpe2UuZXhwb3J0cz1bIkJZREZpIl19LDIwNjkwOShlKXtlLmV4cG9ydHM9WyJCWU1BIOKAlCBBcmdlbnRpbmUgU3RvY2sgRXhjaGFuZ2VzIGFuZCBNYXJrZXRzIl19LDg2NTI0NChlKXtlLmV4cG9ydHM9WyJCb3R0b20iXX0sNTAzMzUzKGUpe2UuZXhwb3J0cz1bIkJvZ290YSJdfSwxNjk0MDcoZSl7ZS5leHBvcnRzPVsiQm9yZGVyIl19LDYzNjkyNihlKXtlLmV4cG9ydHM9WyJCYWNrZ3JvdW5kIl19LDUwMDE0NyhlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDU3ODY2NShlKXtlLmV4cG9ydHM9WyJCYWhyYWluIl19LDk3MzU3NChlKXtlLmV4cG9ydHM9WyJCYW5na29rIl19LDQ1MjAxNShlKXtlLmV4cG9ydHM9WyJCYW5nbGFkZXNoIl19LDIyMTM1OShlKXtlLmV4cG9ydHM9WyJCYXNlU3dhcCAoQmFzZSkiXX0sODMzMjQoZSl7ZS5leHBvcnRzPVsiQmVsZ2l1bSJdfSw4MDgzNzcoZSl7ZS5leHBvcnRzPVsiQmVsZ3JhZGUiXX0sNTIzMTI0KGUpe2UuZXhwb3J0cz1bIkJlcmxpbiJdfSwxNTU3NjUoZSl7ZS5leHBvcnRzPVsiQml0TUVYIl19LDY2NDUwNihlKXtlLmV4cG9ydHM9WyJCaXRNYXJ0Il19LDg0NjAyNyhlKXtlLmV4cG9ydHM9WyJCaXRWQyJdfSwxMTU0MShlKXtlLmV4cG9ydHM9WyJCaXRZZXMiXX0sNTU4MDQ0KGUpe2UuZXhwb3J0cz1bIkJpdGF6emEiXX0sNTM2NjA5KGUpe2UuZXhwb3J0cz1bIkJpdGdldCJdfSw3NTgwMjIoZSl7ZS5leHBvcnRzPVsiQml0ZmluZXgiXX0sNzc5MzYoZSl7ZS5leHBvcnRzPVsiQml0a3ViIl19LDY1ODY1MChlKXtlLmV4cG9ydHM9WyJCaXRodW1iIl19LDExOTc5MihlKXtlLmV4cG9ydHM9WyJCaXRzbyJdfSw5NDY2NjYoZSl7ZS5leHBvcnRzPVsiQml0c3RhbXAiXX0sMTQ0MTE0KGUpe2UuZXhwb3J0cz1bIkJpdHJ1ZSJdfSw5MDg0NTUoZSl7ZS5leHBvcnRzPVsiQml0dHJleCJdfSw1Mjg1NzMoZSl7ZS5leHBvcnRzPVsiQml0dW5peCJdfSw3MjA4MzkoZSl7ZS5leHBvcnRzPVsiQml0dmF2byJdfSwyMzE1MDQoZSl7ZS5leHBvcnRzPVsiQmlkIGFuZCBhc2sgbGFiZWxzIl19LDkxOTM3NihlKXtlLmV4cG9ydHM9WyJCaWQgYW5kIGFzayBsaW5lcyJdfSw4Njg4MTAoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IG1vbnRoLiJdfSw5MTM5NTUoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IHllYXIuIl19LDYwNWUzKGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UiXX0sMzExNjc5KGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UuVVMiXX0sNDg3NTM2KGUpe2UuZXhwb3J0cz1bIkJpbmdYIl19LDM0NjA4NihlKXtlLmV4cG9ydHM9WyJCaXN3YXAgdjIgKEJOQiBjaGFpbikiXX0sOTAyNDMzKGUpe2UuZXhwb3J0cz1bIkJsdWViZXJyeSJdfSwzMTU0MjQoZSl7ZS5leHBvcnRzPVsiQmx1ZWZpbiAoU3VpKSJdfSw5MTI4NDEoZSl7ZS5leHBvcnRzPVsiQmxhY2tCdWxsIE1hcmtldHMiXX0sMjgzMjg3KGUpe2UuZXhwb3J0cz1bIkJsYWNraG9sZSB2MyAoQXZhbGFuY2hlKSJdfSw4NDI5ODcoZSl7ZS5leHBvcnRzPVsiQmxvRmluIl19LDM4NTkyNihlKXtlLmV4cG9ydHM9WyJCcnVzc2VscyJdfSw5NDg4MjQoZSl7ZS5leHBvcnRzPVsiQnJhdGlzbGF2YSJdfSw4MzkxNTkoZSl7ZS5leHBvcnRzPVsiQnJhdmUgTmV3IENvaW4iXX0sNjEyOTY3KGUpe2UuZXhwb3J0cz1bIkJyYXppbCJdfSw4OTA2ODkoZSl7ZS5leHBvcnRzPVsiQnJpc2JhbmUiXX0sMTM1NTIzKGUpe2UuZXhwb3J0cz1bIkJ1eSBhbmQgc2VsbCJdfSw2NjQ1MzEoZSl7ZS5leHBvcnRzPVsiQnVjaGFyZXN0Il19LDU5MDI0MyhlKXtlLmV4cG9ydHM9WyJCdWRhcGVzdCJdfSwyMTQxNDQoZSl7ZS5leHBvcnRzPVsiQnVlbm9zIEFpcmVzIl19LDcxNDAzMShlKXtlLmV4cG9ydHM9WyJCdWxnYXJpYSJdfSw4NDc0MjQoZSl7ZS5leHBvcnRzPVsiQnVsZ2FyaWFuIFN0b2NrIEV4Y2hhbmdlIl19LDcxODk2NyhlKXtlLmV4cG9ydHM9WyJCeWJpdCJdfSw1NDk3ODEoZSl7ZS5leHBvcnRzPVsiR08gTWFya2V0cyJdfSwyOTkxNzIoZSl7ZS5leHBvcnRzPVsiR0JFIGJyb2tlcnMiXX0sOTk0MzI0KGUpe2UuZXhwb3J0cz1bIkdQVyDigJQgV2Fyc2F3IFN0b2NrIEV4Y2hhbmdlIl19LDc0NTk5OChlKXtlLmV4cG9ydHM9WyJHbyB0byBkYXRlIl19LDExMTg5OChlKXtlLmV4cG9ydHM9WyJHb3QgaXQiXX0sNDg0MDYwKGUpe2UuZXhwb3J0cz1bIkdhdGUiXX0sMTc3ODU0KGUpewplLmV4cG9ydHM9WyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiJdfSw3OTM2MDIoZSl7ZS5leHBvcnRzPVsiR2V0dGV4IC0gR2V0dGV4Il19LDUxODMxMihlKXtlLmV4cG9ydHM9WyJHZW1pbmkiXX0sNDY2Njk4KGUpe2UuZXhwb3J0cz1bIkdlcm1hbnkiXX0sMTA5ODQ2KGUpe2UuZXhwb3J0cz1bIkdsYXNzbm9kZSJdfSw4MDc0NDEoZSl7ZS5leHBvcnRzPVsiREZNIOKAlCBEdWJhaSBGaW5hbmNpYWwgTWFya2V0Il19LDMyMjQ3MShlKXtlLmV4cG9ydHM9WyJESiDigJQgRG93IEpvbmVzIEluZGV4ZXMiXX0sNzA3MTU4KGUpe2UuZXhwb3J0cz1bIkRKIOKAlCBEb3cgSm9uZXMgSW5kaWNlcyJdfSwxMTUyMjQoZSl7ZS5leHBvcnRzPVsiRFNFIOKAlCBEaGFrYSBTdG9jayBFeGNoYW5nZSJdfSw0NTMyMzQoZSl7ZS5leHBvcnRzPVsiRFVTIOKAlCBEdXNzZWxkb3JmIFN0b2NrIEV4Y2hhbmdlIl19LDUyMTc4MihlKXtlLmV4cG9ydHM9WydEb2luZyB0aGlzIHdpbGwgcGVybWFuZW50bHkgZGVsZXRlIHlvdXIgInthbGVydH0iIGFsZXJ0LiddfSwxODU3OTQoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHBlcm1hbmVudGx5IGRlbGV0ZSBhbGwgc2VsZWN0ZWQgYWxlcnRzLiJdfSw0MTIxMTcoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB0aGlzIGluZGljYXRvciBhbmQgZXZlcnl0aGluZyBhdHRhY2hlZCB0byBpdCwgaW5jbHVkaW5nOiJdfSwzNjc1MzgoZSl7ZS5leHBvcnRzPVsiRGF0YSBQcm92aWRlZCBieSJdfSw1MDc3MjkoZSl7ZS5leHBvcnRzPVsiRGF0ZSJdfSw4MzA3MjEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMzU5NjUoZSl7ZS5leHBvcnRzPVsiRGFyd2luZXgiXX0sMzIwNjI3KGUpe2UuZXhwb3J0cz1bIkRlRHVzdC5pbyAoVE9OKSJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDMwOTY2NihlKXtlLmV4cG9ydHM9WyJEZWNlbWJlciJdfSw0Mzg3MTYoZSl7ZS5leHBvcnRzPVsiRGVlcGNvaW4iXX0sMTYwMjY1KGUpe2UuZXhwb3J0cz1bIkRlZmlMbGFtYSJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw0MzE0NDEoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIl19LDM0MTQ1OChlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSwzNzczMzUoZSl7ZS5leHBvcnRzPVsiRGVsaXN0ZWQgYWxlcnQiXX0sMzQwOTI3KGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDU3NjU0OChlKXtlLmV4cG9ydHM9WyJEZWx0YSBFeGNoYW5nZSBJbmRpYSJdfSw4NTI1MDEoZSl7ZS5leHBvcnRzPVsiRGVubWFyayJdfSw4ODk1MjkoZSl7ZS5leHBvcnRzPVsiRGVudmVyIl19LDE1NDk0MChlKXtlLmV4cG9ydHM9WyJEZXJpYml0Il19LDMwMjg2OShlKXtlLmV4cG9ydHM9WyJEZXJpdiJdfSwzNjA2OTAoZSl7ZS5leHBvcnRzPVsiRGhha2EiXX0sMzcxNTQ5KGUpe2UuZXhwb3J0cz1bIkRpc3BsYWNlbWVudCJdfSw0MzY2NjYoZSl7ZS5leHBvcnRzPVsiRGlzcGxhY2VtZW50IChwcmljZSwgYmFyKSJdfSw2MjM3MTYoZSl7ZS5leHBvcnRzPVsiRHJhd2luZ3MgdG9vbGJhciJdfSw0NzMyNzUoZSl7ZS5leHBvcnRzPVsiRHViYWkiXX0sNDMwODY4KGUpe2UuZXhwb3J0cz1bIkR1YmxpbiJdfSwzNjc4MDAoZSl7ZS5leHBvcnRzPVsiRHVlIHRvIGV4Y2hhbmdlIHJlc3RyaWN0aW9ucywgeW91IGFyZSB1bmFibGUgdG8gc3dpdGNoIHRvIGFuIEFTWCBsaXN0ZWQgc3ltYm9sLiBZb3UgY2FuIHZpZXcgdGhlIFN5bWJvbCBvbiB7bGlua1N0YXJ0fVRyYWRpbmdWaWV3e2xpbmtFbmR9Il19LDk4OTI5OChlKXtlLmV4cG9ydHM9WyJFRVgg4oCUIEV1cm9wZWFuIEVuZXJneSBFeGNoYW5nZSJdfSwxOTcxMjUoZSl7ZS5leHBvcnRzPVsiRUdYIOKAlCBFZ3lwdGlhbiBFeGNoYW5nZSJdfSw5Njg1OTYoZSl7ZS5leHBvcnRzPVsiRVVSRVgg4oCUIEV1cmV4IEV4Y2hhbmdlIl19LDYwMTc2NChlKXtlLmV4cG9ydHM9WyJFbmQgb2YgRGF5Il19LDMzNzQzNyhlKXtlLmV4cG9ydHM9WyJFZ3lwdCJdfSw0NTk0NTkoZSl7ZS5leHBvcnRzPVsiRWlnaHRjYXAiXX0sMjM2ODgoZSl7ZS5leHBvcnRzPVsiRXJyYW50ZSJdfSw5NDEyMChlKXtlLmV4cG9ydHM9WyJFc3RvbmlhIl19LDUwODg0NihlKXtlLmV4cG9ydHM9WyJFc2FGWCJdfSw0OTI5ODUoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9UTFgiXX0sOTI0NzY0KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBOViJdfSw5NzAxNjgoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IE9zbG8iXX0sNDgyMDc5KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBBbXN0ZXJkYW0iXX0sMzM3MTU2KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBCcnVzc2VscyJdfSw1ODgzMzYoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IER1YmxpbiJdfSw3OTgzMDIoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IExpc2JvbiJdfSwzMjI4MzEoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IFBhcmlzIl19LDQ0ODY3MShlKXtlLmV4cG9ydHM9WyJFdmVuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcG9zdC1tYXJrZXQgdHJhZGluZy4iXX0sMTMyMzg5KGUpe2UuZXhwb3J0cz1bIkV4dGVuZCBsZWZ0IGxpbmUiXX0sMzc0NTczKGUpe2UuZXhwb3J0cz1bIkV4dGVuZCByaWdodCBsaW5lIl19LDgyNjYwNyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSJdfSwyNzI0NDIoZSl7ZS5leHBvcnRzPVsiRk9SRVguY29tIl19LDg5NTUxNihlKXtlLmV4cG9ydHM9WyJGSU5SQSDigJQgRklOUkEgQWdlbmN5IERlYnQgVHJhZGUgRGlzc2VtaW5hdGlvbiBTZXJ2aWNlIl19LDI0MjgyNihlKXtlLmV4cG9ydHM9WyJGSU5SQSBCVERTIOKAlCBGSU5SQSBCb25kIFRyYWRlIERpc3NlbWluYXRpb24gU2VydmljZSJdfSw2ODU2MDYoZSl7ZS5leHBvcnRzPVsiRlAgTWFya2V0cyJdfSw2NzcwODAoZSl7ZS5leHBvcnRzPVsiRlJBIOKAlCBGcmFua2Z1cnQgU3RvY2sgRXhjaGFuZ2UiXX0sOTI3MjMwKGUpe2UuZXhwb3J0cz1bIkZTRSDigJQgRnVrdW9rYSBTdG9jayBFeGNoYW5nZSJdfSwKMzkyMDY3KGUpe2UuZXhwb3J0cz1bIkZUU0UgU1QgSW5kZXggU2VyaWVzIl19LDE3OTI1NyhlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBHcm91cCBJbmRpY2VzIl19LDg1NTQ3OShlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBGVFNFIEluZGljZXMiXX0sOTEwNjAxKGUpe2UuZXhwb3J0cz1bIkZXQiDigJQgRnJhbmtmdXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDk5MjcyNihlKXtlLmV4cG9ydHM9WyJGWENNIl19LDExNDExNShlKXtlLmV4cG9ydHM9WyJGWFRGIl19LDU5NTgzOChlKXtlLmV4cG9ydHM9WyJGb3J3YXJkIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sMzM2MzAoZSl7ZS5leHBvcnRzPVsiRmVicnVhcnkiXX0sODAyODU1KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBCYW5rIG9mIE5ldyBZb3JrIl19LDIwNTExNyhlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUgQmFuayBvZiBQaGlsYWRlbHBoaWEiXX0sNTcxMDA2KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBFY29ub21pYyBEYXRhIl19LDk3NjQ1NChlKXtlLmV4cG9ydHM9WyJGaW5sYW5kIl19LDM0NzgzMyhlKXtlLmV4cG9ydHM9WyJGaXJzdCBiYXIgdGltZSJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwxMzYyMzgoZSl7ZS5leHBvcnRzPVsiRnJhbmNlIl19LDQyOTk5MShlKXtlLmV4cG9ydHM9WyJGcmkiXX0sMzE4NTI1KGUpe2UuZXhwb3J0cz1bIkZyaWRheSJdfSwxMjAzMTkoZSl7ZS5leHBvcnRzPVsiRnVzaW9uIE1hcmtldHMiXX0sMzYxNDAwKGUpe2UuZXhwb3J0cz1bIkZ4UHJvIl19LDI1ODE5NChlKXtlLmV4cG9ydHM9WyJLQ0JUIEZ1dHVyZXMiXX0sNDk4ODk2KGUpe2UuZXhwb3J0cz1bIktDRVgiXX0sOTYxMjg5KGUpe2UuZXhwb3J0cz1bIktSWCDigJQgS29yZWEgU3RvY2sgRXhjaGFuZ2UiXX0sNzY2MDQwKGUpe2UuZXhwb3J0cz1bIktTRSDigJQgS3V3YWl0IFN0b2NrIEV4Y2hhbmdlIl19LDI4ODY1MShlKXtlLmV4cG9ydHM9WyJLb2xrYXRhIl19LDk4MDczOShlKXtlLmV4cG9ydHM9WyJLYXRhbmEgKFJvbmluKSJdfSwxNTc2MDUoZSl7ZS5leHBvcnRzPVsiS2F0YW5hIHYzIChSb25pbikiXX0sMjgyNDcoZSl7ZS5leHBvcnRzPVsiS2F0aG1hbmR1Il19LDQ4MDU1MyhlKXtlLmV4cG9ydHM9WyJLYWJ1bCJdfSw5MDkyMjQoZSl7ZS5leHBvcnRzPVsiS2FnaSJdfSw1ODU0NDIoZSl7ZS5leHBvcnRzPVsiS2FyYWNoaSJdfSw4NzY2NTkoZSl7ZS5leHBvcnRzPVsiS2VlcCBkcmF3aW5nIl19LDgxNDk2NihlKXtlLmV4cG9ydHM9WyJLZW55YSJdfSwxOTAxMjMoZSl7ZS5leHBvcnRzPVsiS3Jha2VuIl19LDM5NTEzMChlKXtlLmV4cG9ydHM9WyJLdXdhaXQiXX0sNDA4NDA4KGUpe2UuZXhwb3J0cz1bIkt1Q29pbiJdfSwzNDcwNjQoZSl7ZS5leHBvcnRzPVsiS3VhbGEgTHVtcHVyIl19LDEwNTg1NShlKXtlLmV4cG9ydHM9WyJITlgg4oCUIEhhbm9pIFN0b2NrIEV4Y2hhbmdlIl19LDk5MTQ1KGUpe2UuZXhwb3J0cz1bIkhOWCDigJQgSGFub2kgU3RvY2sgRXhjaGFuZ2UgKFVQQ29NKSJdfSwyODk1NjkoZSl7ZS5leHBvcnRzPVsiSE9TRSDigJQgSG8gQ2hpIE1pbmggQ2l0eSBTdG9jayBFeGNoYW5nZSJdfSw4ODU1NTAoZSl7ZS5leHBvcnRzPVsiSEFNIOKAlCBIYW1idXJnIFN0b2NrIEV4Y2hhbmdlIl19LDQ2NjQ4KGUpe2UuZXhwb3J0cz1bIkhBTiDigJQgSGFubm92ZXIgU3RvY2sgRXhjaGFuZ2UiXX0sMjk4MTgwKGUpe2UuZXhwb3J0cz1bIkhFWCDigJQgTmFzZGFxIEhlbHNpbmtpIl19LDY2OTgzNyhlKXtlLmV4cG9ydHM9WyJIS0VYIOKAlCBIb25nIEtvbmcgRXhjaGFuZ2UiXX0sMjk1NTU1KGUpe2UuZXhwb3J0cz1bIkhTSSDigJQgSGFuZyBTZW5nIEluZGljZXMiXX0sOTE1NjQxKGUpe2UuZXhwb3J0cz1bIkhUWCJdfSw0NjI3MDIoZSl7ZS5leHBvcnRzPVsiSG8gQ2hpIE1pbmgiXX0sOTI2NDAzKGUpe2UuZXhwb3J0cz1bIkhvdXJzIl19LDQwNjczKGUpe2UuZXhwb3J0cz1bIkhvbmV5c3dhcCB2MiAoR25vc2lzKSJdfSw5ODIxOTcoZSl7ZS5leHBvcnRzPVsiSG9uZyBLb25nIl19LDQ2Mzc3OShlKXtlLmV4cG9ydHM9WyJIb25nIEtvbmcsIENoaW5hIl19LDg5OTc5MShlKXtlLmV4cG9ydHM9WyJIb25vbHVsdSJdfSw3ODg4MzcoZSl7ZS5leHBvcnRzPVsiSG9yaXpvbnRhbCJdfSw1ODIzODYoZSl7ZS5leHBvcnRzPVsiSGFsaWZheCJdfSwzMzExMDUoZSl7ZS5leHBvcnRzPVsiSGV5IHRoZXJlLCBuaWdodCBvd2wuIE1hcmtldCBpcyBjdXJyZW50bHkgb3BlbiBmb3Igb3Zlcm5pZ2h0IHRyYWRpbmcuIFRoZSBkYXRhIGR1cmluZyB0aGlzIHNlc3Npb24gaXMgcHJvdmlkZWQgYnkgdGhlIEJPQVRTIGV4Y2hhbmdlLiJdfSw3NDgxODIoZSl7ZS5leHBvcnRzPVsiSGVpa2luIEFzaGkiXX0sNjE1MTQwKGUpe2UuZXhwb3J0cz1bIkhlbHNpbmtpIl19LDc2OTM5MShlKXtlLmV4cG9ydHM9WyJIaWRlIl19LDgyNDk5MyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCJdfSw4MDk5MzkoZSl7ZS5leHBvcnRzPVsiSGlkZSBhbGwgZHJhd2luZ3MiXX0sODAwMzQ5KGUpe2UuZXhwb3J0cz1bIkhpZGUgYWxsIGRyYXdpbmdzIGFuZCBpbmRpY2F0b3JzIl19LDg2NjMzMChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5ncywgaW5kaWNhdG9ycywgcG9zaXRpb25zLCBhbmQgb3JkZXJzIl19LDk4ODI2MChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5nIHRvb2xzIl19LDUzOTM0OShlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBpbmRpY2F0b3JzIl19LDg0NjQxMyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBwb3NpdGlvbnMgYW5kIG9yZGVycyJdfSwxNTcyMTAoZSl7ZS5leHBvcnRzPVsiSGlkZSBkcmF3aW5ncyJdfSw4MDc4ODAoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3JzIl19LDEzOTM1NShlKXtlLmV4cG9ydHM9WyJIaWRlIG1hcmtzIG9uIGJhcnMiXX0sNzYyOTg4KGUpe2UuZXhwb3J0cz1bIkhpZGUgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sODQ1NTYzKGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sODIzNDMwKGUpe2UuZXhwb3J0cz1bIkhpZ2ggYW5kIGxvdyBwcmljZSBsYWJlbHMiXX0sMjU2MjIwKGUpewplLmV4cG9ydHM9WyJIaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMiXX0sNjYwNjA5KGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDQ2OTIwKGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVRpY2tzIFBlciBSb3d7Ym9sZEhpZ2hsaWdodEVuZH0gaW4gdGhlIHNldHRpbmdzIHdpbmRvdy4iXX0sMzMzMDkoZSl7ZS5leHBvcnRzPVsiSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIHJlZHVjZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDY2MTM2NihlKXtlLmV4cG9ydHM9WyJIdW5nYXJ5Il19LDIzMjMwMShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoSHlwZXJsaXF1aWQpIl19LDYzNDE4NShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoUEFSQSBISVAtMykiXX0sNjMyMzAzKGUpe2UuZXhwb3J0cz1bIkh5cGVybGlxdWlkIChYWVogSElQLTMpIl19LDcwOTIxMihlKXtlLmV4cG9ydHM9WyJJQyBNYXJrZXRzIl19LDQwMzQzMChlKXtlLmV4cG9ydHM9WyJJQ0UgRGF0YSBTZXJ2aWNlcyJdfSw3NDQzMShlKXtlLmV4cG9ydHM9WyJJQ0UgRnV0dXJlcyBTaW5nYXBvcmUiXX0sMzQ0MzQ1KGUpe2UuZXhwb3J0cz1bIklDRUFEIOKAlCBJQ0UgRnV0dXJlcyBBYnUgRGhhYmkiXX0sMjE5ODMzKGUpe2UuZXhwb3J0cz1bIklDRUVOREVYIOKAlCBJQ0UgRW5kZXgiXX0sNjU1NTI3KGUpe2UuZXhwb3J0cz1bIklDRUVVUiDigJQgSUNFIEZ1dHVyZXMgRXVyb3BlIENvbW1vZGl0aWVzIl19LDk3NTU1OChlKXtlLmV4cG9ydHM9WyJJQ0VFVVIg4oCUIElDRSBGdXR1cmVzIEV1cm9wZSBGaW5hbmNpYWxzIl19LDUyODgxMChlKXtlLmV4cG9ydHM9WyJJQ0VVUyDigJQgSUNFIEZ1dHVyZXMgVS5TLiJdfSw1NDU2MTYoZSl7ZS5leHBvcnRzPVsiSUNFVVNDQSDigJQgSUNFIEZ1dHVyZXMgVS5TLiBDb21tb2RpdGllcyAtIENhbmFkaWFuIEdyYWlucyJdfSwxODk1OTAoZSl7ZS5leHBvcnRzPVsiSUNFWCDigJQgTmFzZGFxIEljZWxhbmQiXX0sNzUxMDU4KGUpe2UuZXhwb3J0cz1bIklEWCDigJQgSW5kb25lc2lhIFN0b2NrIEV4Y2hhbmdlIl19LDE1Njk2NChlKXtlLmV4cG9ydHM9WyJJRyJdfSwzMzUxMjIoZSl7ZS5leHBvcnRzPVsiSVNUIOKAlCBJc3RhbmJ1bCBTdG9jayBFeGNoYW5nZSJdfSwyODg0MzIoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw5NDI0NihlKXtlLmV4cG9ydHM9WyJJbnRlcmFjdGl2ZSBCcm9rZXJzIl19LDE1OTI1KGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxNTIwNTQoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sMzcyNTIwKGUpe2UuZXhwb3J0cz1bIkluZGlhIl19LDM0MjQ2MyhlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIHZhbHVlIGxhYmVscyJdfSwzOTQ0NzgoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyBuYW1lIGxhYmVscyJdfSw4MDI5NzUoZSl7ZS5leHBvcnRzPVsiSW5kb25lc2lhIl19LDMwMjkzMShlKXtlLmV4cG9ydHM9WyJJbnB1dHMiXX0sNzI0OTA5KGUpe2UuZXhwb3J0cz1bIkluc2VydCBpbmRpY2F0b3IiXX0sOTEzNjUxKGUpe2UuZXhwb3J0cz1bIkluc3RpdHV0ZSBmb3IgU3VwcGx5IE1hbmFnZW1lbnQiXX0sMzI4MzEzKGUpe2UuZXhwb3J0cz1bIkluc3RydW1lbnQgaXMgbm90IGFsbG93ZWQiXX0sNDQwMTg4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQiXX0sMTQyMzA4KGUpe2UuZXhwb3J0cz1bIklkZWFzIG9uIGNoYXJ0Il19LDExNjc2OChlKXtlLmV4cG9ydHM9WyJJZiB5b3UgcmVtb3ZlIHRoaXMgZHJhd2luZyBmcm9tIHRoZSBjaGFydCwgdGhlIGFsZXJ0IGJhc2VkIG9uIGl0IHdpbGwgYWxzbyBiZSBkZWxldGVkLiJdfSw3MTE1MjcoZSl7ZS5leHBvcnRzPVsiSXJlbGFuZCJdfSwyMDc3OTgoZSl7ZS5leHBvcnRzPVsiSXN0YW5idWwiXX0sODAzMzU0KGUpe2UuZXhwb3J0cz1bIklzcmFlbCJdfSwzODYzNzcoZSl7ZS5leHBvcnRzPVsiSXQgc2VlbXMgdGhlcmUncyBhbiBlcnJvciBpbiB0aGlzIHNjcmlwdC4gVHJ5IHJlYWNoaW5nIG91dCB0byB0aGUgc2NyaXB0J3MgYXV0aG9yIGZvciBoZWxwLiJdfSw2MzE0MzgoZSl7ZS5leHBvcnRzPVsiSXQnbGwgY2xvc2UgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw0MDQ1NChlKXtlLmV4cG9ydHM9WyJJdCdsbCBnbyB0byBwb3N0LW1hcmtldCB0cmFkaW5nIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sNzc5MzQwKGUpe2UuZXhwb3J0cz1bIkl0J2xsIG9wZW4gZm9yIHByZS1tYXJrZXQgdHJhZGluZyBpbiB7cmVtYWluaW5nVGltZX0uIl19LDI4MTM4NihlKXtlLmV4cG9ydHM9WyJJdCdsbCBvcGVuIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sODk4MTYzKGUpe2UuZXhwb3J0cz1bIkl0YWx5Il19LDM2MTkyMChlKXtlLmV4cG9ydHM9WyJJdOKAmWxsIG9wZW4gZnVsbHkgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw5MzEyMzIoZSl7ZS5leHBvcnRzPVsiSkZYIl19LDgxOTI4OShlKXtlLmV4cG9ydHM9WyJKU0Ug4oCUIEpvaGFubmVzYnVyZyBTdG9jayBFeGNoYW5nZSJdfSwyNzAzMzAoZSl7ZS5leHBvcnRzPVsiSm9oYW5uZXNidXJnIl19LDMzMTMwKGUpe2UuZXhwb3J0cz1bIkpha2FydGEiXX0sNjU3Mzc0KGUpe2UuZXhwb3J0cz1bIkphbiJdfSw5NDQ3ODQoZSl7ZS5leHBvcnRzPVsiSmFudWFyeSJdfSwyMDAwNjgoZSl7ZS5leHBvcnRzPVsiSmFwYW4iXX0sNzA0ODMxKGUpe2UuZXhwb3J0cz1bIkplcnVzYWxlbSJdfSwxODM5NTkoZSl7ZS5leHBvcnRzPVsiSnVsIl19LDkyNDY4OShlKXtlLmV4cG9ydHM9WyJKdWx5Il19LDg3NzQ1KGUpe2UuZXhwb3J0cz1bIkp1biJdfSw0MDI0ODIoZSl7ZS5leHBvcnRzPVsiSnVuZSJdfSwyMDI2MzEoZSl7CmUuZXhwb3J0cz1bIkp1bmVhdSJdfSwzMzMzNDkoZSl7ZS5leHBvcnRzPVsiT01YIOKAlCBOYXNkYXEgT01YIEdyb3VwIl19LDcyMDI4NyhlKXtlLmV4cG9ydHM9WyJPTVhCQUxUSUMiXX0sNTExMjcoZSl7ZS5leHBvcnRzPVsiT01YTk9SRElDIl19LDE4MTgxNShlKXtlLmV4cG9ydHM9WyJPTVhSIOKAlCBOYXNkYXEgUmlnYSJdfSw2OTUxODQoZSl7ZS5leHBvcnRzPVsiT0FOREEiXX0sODMxNTY4KGUpe2UuZXhwb3J0cz1bIk9LWCJdfSwxMjQwMzcoZSl7ZS5leHBvcnRzPVsiT1NFIOKAlCBPc2FrYSBFeGNoYW5nZSJdfSw5NDA0MTMoZSl7ZS5leHBvcnRzPVsiT1RDIOKAlCBPVEMgTWFya2V0cyJdfSw4NzI5ODAoZSl7ZS5leHBvcnRzPVsiT24gdGhlIGxlZnQiXX0sMzYzMzcwKGUpe2UuZXhwb3J0cz1bIk9uIHRoZSByaWdodCJdfSwzODI4MyhlKXtlLmV4cG9ydHM9WyJPbmx5IHthdmFpbGFibGVSZXNvbHV0aW9uc30gaW50ZXJ2YWxzIGFyZSBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw3MjgzMzcoZSl7ZS5leHBvcnRzPVsiT2N0Il19LDgxNDUwMShlKXtlLmV4cG9ydHM9WyJPY3RvYmVyIl19LDIwODA3OChlKXtlLmV4cG9ydHM9WyJPayJdfSw1OTQxNzAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyBQcmljZSBSZXBvcnRpbmcgQXV0aG9yaXR5Il19LDk3NzgxKGUpe2UuZXhwb3J0cz1bIk9wZW4iXX0sMzMyMDcwKGUpe2UuZXhwb3J0cz1bIk9wb2ZpbmFuY2UiXX0sMTcwNDI4KGUpe2UuZXhwb3J0cz1bIk9yY2EgKFNvbGFuYSkiXX0sODQ5NzM4KGUpe2UuZXhwb3J0cz1bIk9zbG8iXX0sNDM5NTQ5KGUpe2UuZXhwb3J0cz1bIk9zbWFubGkgRlgiXX0sNzg5MjQzKGUpe2UuZXhwb3J0cz1bIkxNRSDigJQgTG9uZG9uIE1ldGFsIEV4Y2hhbmdlIl19LDE1OTYyOChlKXtlLmV4cG9ydHM9WyJMQmFuayJdfSw4NDM1MTQoZSl7ZS5leHBvcnRzPVsiTEZKIFYyLjIgKEF2YWxhbmNoZSkiXX0sMzEzOTY0KGUpe2UuZXhwb3J0cz1bIkxKU0Ug4oCUIExqdWJsamFuYSBTdG9jayBFeGNoYW5nZSJdfSwxNDM4MDMoZSl7ZS5leHBvcnRzPVsiTFNFIOKAlCBMb25kb24gU3RvY2sgRXhjaGFuZ2UgKFVLIENvbXBhbmllcykiXX0sMzQ3MzM3KGUpe2UuZXhwb3J0cz1bIkxTSU4g4oCUIExvbmRvbiBTdG9jayBFeGNoYW5nZSAoSW50ZXJuYXRpb25hbCBDb21wYW5pZXMpIl19LDg4ODY3OChlKXtlLmV4cG9ydHM9WyJMb3ciXX0sMzY1MDYxKGUpe2UuZXhwb3J0cz1bIkxvd2VyIERldmlhdGlvbiJdfSwzNzI3MzIoZSl7ZS5leHBvcnRzPVsiTG9hZGluZyJdfSw3NTQzMTAoZSl7ZS5leHBvcnRzPVsiTG9jay91bmxvY2siXX0sODgyNzYoZSl7ZS5leHBvcnRzPVsiTG9jayB2ZXJ0aWNhbCBjdXJzb3IgbGluZSBieSB0aW1lIl19LDQxMTc2OChlKXtlLmV4cG9ydHM9WyJMb2NrIHByaWNlIHRvIGJhciByYXRpbyJdfSw1MDM1NTgoZSl7ZS5leHBvcnRzPVsiTG9nYXJpdGhtaWMiXX0sMjQ2NTA3KGUpe2UuZXhwb3J0cz1bIkxvbmRvbiJdfSw0MDg0MjYoZSl7ZS5leHBvcnRzPVsiTG9zIEFuZ2VsZXMiXX0sMjgyNzczKGUpe2UuZXhwb3J0cz1bIkxhdHZpYSJdfSw4NzQ2MShlKXtlLmV4cG9ydHM9WyJMYWRkZXIiXX0sOTUwNTE2KGUpe2UuZXhwb3J0cz1bIkxhZ29zIl19LDg4MDQ3MShlKXtlLmV4cG9ydHM9WyJMYW5nICYgU2Nod2FyeiBUcmFkZUNlbnRlciBBRyAmIENvLiBLRyJdfSw3NDM5NyhlKXtlLmV4cG9ydHM9WyJMYXN0IGJhciB0aW1lIl19LDMxNDY3KGUpe2UuZXhwb3J0cz1bIkxhc3QgZGF5IGNoYW5nZSJdfSw1MDQzNjEoZSl7ZS5leHBvcnRzPVsiTGV2ZWxzIl19LDY0NDc4MChlKXtlLmV4cG9ydHM9WyJMZWFybiB3aHkiXX0sNjQ4ODE2KGUpe2UuZXhwb3J0cz1bIkxlZnQiXX0sODkyMTAwKGUpe2UuZXhwb3J0cz1bIkxpdGh1YW5pYSJdfSwxNTc1MDAoZSl7ZS5leHBvcnRzPVsiTGltYSJdfSw1Mjc5MTIoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxMDM2MTcoZSl7ZS5leHBvcnRzPVsiTGluZSBCcmVhayJdfSw1MDcyKGUpe2UuZXhwb3J0cz1bIkxpc2JvbiJdfSw0MjIwMDcoZSl7ZS5leHBvcnRzPVsiTGp1YmxqYW5hIl19LDQzNjI1MyhlKXtlLmV4cG9ydHM9WyJMdXhTRSDigJQgTHV4ZW1ib3VyZyBTdG9jayBFeGNoYW5nZSJdfSw5NzU0NDcoZSl7ZS5leHBvcnRzPVsiTHV4ZW1ib3VyZyJdfSwzMjM4OTQoZSl7ZS5leHBvcnRzPVsiTHVuYXJDcnVzaCJdfSwxNTI1MTUoZSl7ZS5leHBvcnRzPVsiTU0gRmluYW5jZSAoQ3Jvbm9zKSJdfSw3NjAwNjkoZSl7ZS5leHBvcnRzPVsiTUFUU1VJIl19LDUwMjc4KGUpe2UuZXhwb3J0cz1bIk1DWCDigJQgTXVsdGkgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDI1MTU5MShlKXtlLmV4cG9ydHM9WyJNRVhDIl19LDc2MTU5NihlKXtlLmV4cG9ydHM9WyJNR0VYIOKAlCBGdXR1cmVzIl19LDM4NTgyNChlKXtlLmV4cG9ydHM9WyJNSUwg4oCUIE1pbGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk0OTgyNihlKXtlLmV4cG9ydHM9WyJNSUxTRURFWCDigJQgTWlsYW4gU3RvY2sgRXhjaGFuZ2UiXX0sMzE5ODY0KGUpe2UuZXhwb3J0cz1bIk1TRSAtIE1ldHJvcG9saXRhbiBTdG9jayBFeGNoYW5nZSJdfSw1MTI3NChlKXtlLmV4cG9ydHM9WyJNU1RBUiDigJQgQ0JPRSBNb3JuaW5nU3RhciBJbmRpY2VzIl19LDY1NDQ4MyhlKXtlLmV4cG9ydHM9WyJNVU4g4oCUIE11bmljaCBTdG9jayBFeGNoYW5nZSJdfSw5NjUwNjgoZSl7ZS5leHBvcnRzPVsiTVlYIOKAlCBCdXJzYSBNYWxheXNpYSBCZXJoYWQiXX0sMjg4Mzk2KGUpe2UuZXhwb3J0cz1bIk1vdmUgY2hhcnQiXX0sNzA1MDE2KGUpe2UuZXhwb3J0cz1bIk1vdmUgc2NhbGUgdG8gbGVmdCJdfSw5MTg3OShlKXtlLmV4cG9ydHM9WyJNb3ZlIHNjYWxlIHRvIHJpZ2h0Il19LDk0NzkzNihlKXtlLmV4cG9ydHM9WyJNb24iXX0sODg5Mzk0KGUpe2UuZXhwb3J0cz1bIk1vbmRheSJdfSw2OTUzMzcoZSl7ZS5leHBvcnRzPVsiTW9udGhzIl19LDMxNjAxOChlKXtlLmV4cG9ydHM9WyJNb3JlIHNldHRpbmdzIl19LDcyMTQzMyhlKXtlLmV4cG9ydHM9WyJNb3JvY2NvIl19LDI5NTU4NihlKXtlLmV4cG9ydHM9WyJNb3JuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcHJlLW1hcmtldCB0cmFkaW5nLiJdfSw0NDYwNzQoZSl7CmUuZXhwb3J0cz1bIk1vc2NvdyJdfSw4NDk5NzMoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDQzMTg5MihlKXtlLmV4cG9ydHM9WyJNYWRyaWQiXX0sNjAyNTE5KGUpe2UuZXhwb3J0cz1bIk1haW5sYW5kIENoaW5hIl19LDYyNzk2NyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYSJdfSw1NjMyMzcoZSl7ZS5leHBvcnRzPVsiTWFsdGEiXX0sMzYxNDQ1KGUpe2UuZXhwb3J0cz1bIk1hbmlsYSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDYzNTY0MyhlKXtlLmV4cG9ydHM9WyJNYXJjaCJdfSw3NDM2ODkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGlzIGN1cnJlbnRseSBvbiBob2xpZGF5LiBMdWNreSB0aGVtLiJdfSw5NDcwNDQoZSl7ZS5leHBvcnRzPVsiTWV0ZW9yYSBETE1NIChTb2xhbmEpIl19LDgzMTk3MyhlKXtlLmV4cG9ydHM9WyJNZXRlb3JhIERZTiAoU29sYW5hKSJdfSw3ODkyOTEoZSl7ZS5leHBvcnRzPVsiTWV0cmljIGVycm9yIl19LDg2NTcwMChlKXtlLmV4cG9ydHM9WyJNZXhpY28iXX0sODc0NjA3KGUpe2UuZXhwb3J0cz1bIk1leGljbyBDaXR5Il19LDg1NTYzNihlKXtlLmV4cG9ydHM9WyJNaWRkbGUiXX0sNDI2NjcxKGUpe2UuZXhwb3J0cz1bIk1pbnV0ZXMiXX0sNTMyODg4KGUpe2UuZXhwb3J0cz1bIk10LkdveCJdfSw4MjU0MTQoZSl7ZS5leHBvcnRzPVsiTXVzY2F0Il19LDkwMzY1MChlKXtlLmV4cG9ydHM9WyJOQVNEQVEgRHViYWkiXX0sNzQ4NjcwKGUpe2UuZXhwb3J0cz1bIk5BU0RBUSDigJQgTkFTREFRIFN0b2NrIE1hcmtldCJdfSw1NDEyNTUoZSl7ZS5leHBvcnRzPVsiTkNERVgg4oCUIE5hdGlvbmFsIENvbW1vZGl0eSAmIERlcml2YXRpdmVzIEV4Y2hhbmdlIl19LDIyMDU1NyhlKXtlLmV4cG9ydHM9WyJOR00g4oCUIE5vcmRpYyBHcm93dGggTWFya2V0Il19LDkyMjc3MChlKXtlLmV4cG9ydHM9WyJOU0Ug4oCUIE5hZ295YSBTdG9jayBFeGNoYW5nZSJdfSwyNDUyNDkoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYWlyb2JpIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sNTgwNzEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYXRpb25hbCBTdG9jayBFeGNoYW5nZSBvZiBJbmRpYSJdfSw1NDQxMjEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOaWdlcmlhbiBTdG9jayBFeGNoYW5nZSJdfSw2ODE2MTcoZSl7ZS5leHBvcnRzPVsiTllNRVgg4oCUIE5ldyBZb3JrIE1lcmNhbnRpbGUgRXhjaGFuZ2UiXX0sOTQyNDg0KGUpe2UuZXhwb3J0cz1bIk5ZU0Ug4oCUIE5ldyBZb3JrIFN0b2NrIEV4Y2hhbmdlIl19LDEyNzYyKGUpe2UuZXhwb3J0cz1bIk5aWCDigJQgTmV3IFplYWxhbmQgU3RvY2sgRXhjaGFuZ2UiXX0sMzAwNTU4KGUpe2UuZXhwb3J0cz1bIk5vIGFjY2VzcyB0byB0aGlzIHNjcmlwdCJdfSw5OTM0MTYoZSl7ZS5leHBvcnRzPVsiTm8gdm9sdW1lIGRhdGEiXX0sMjE5MDY5KGUpe2UuZXhwb3J0cz1bIk5vLCBrZWVwIHRoZW0iXX0sNTYxNjAwKGUpe2UuZXhwb3J0cz1bIk5vdGlmaWNhdGlvbiJdfSw2NDY1NDUoZSl7ZS5leHBvcnRzPVsiTm92Il19LDk3MTU2MShlKXtlLmV4cG9ydHM9WyJOb3ZlbWJlciJdfSw5Njc0MTIoZSl7ZS5leHBvcnRzPVsiTm9yZm9sayBJc2xhbmQiXX0sODQ1NTIzKGUpe2UuZXhwb3J0cz1bIk5vcndheSJdfSwxMjQ5MzQoZSl7ZS5leHBvcnRzPVsiTmFpcm9iaSJdfSw2MTY4NjIoZSl7ZS5leHBvcnRzPVsiTmV0aGVybGFuZHMiXX0sMjU4MTE3KGUpe2UuZXhwb3J0cz1bIk5ldyBZb3JrIl19LDQyMTYoZSl7ZS5leHBvcnRzPVsiTmV3IFplYWxhbmQiXX0sMjc2NTQ3KGUpe2UuZXhwb3J0cz1bIk5pY29zaWEiXX0sODQ5ODY4KGUpe2UuZXhwb3J0cz1bIk5pZ2VyaWEiXX0sNTc2MzQ2KGUpe2UuZXhwb3J0cz1bIlNFVCDigJQgU3RvY2sgRXhjaGFuZ2Ugb2YgVGhhaWxhbmQiXX0sMzkzMjUoZSl7ZS5leHBvcnRzPVsiU0dYIOKAlCBTaW5nYXBvcmUgU3RvY2sgRXhjaGFuZ2UiXX0sOTQ2NjM0KGUpe2UuZXhwb3J0cz1bIlNIRkUg4oCUIFNoYW5naGFpIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sNDIzMjcoZSl7ZS5leHBvcnRzPVsiU0lYIOKAlCBTSVggU3dpc3MgRXhjaGFuZ2UiXX0sMTQxOTgoZSl7ZS5leHBvcnRzPVsiU1Ag4oCUIFMmUCBJbmRleGVzIl19LDI0ODI1NShlKXtlLmV4cG9ydHM9WyJTUCDigJQgUyZQIEluZGljZXMiXX0sMzIxMTc1KGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FudGlhZ28gU3RvY2sgRXhjaGFuZ2UiXX0sNTIzMjkwKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FwcG9ybyBTZWN1cml0aWVzIEV4Y2hhbmdlIl19LDM2ODkyKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2hhbmdoYWkgU3RvY2sgRXhjaGFuZ2UiXX0sMTI1NTY4KGUpe2UuZXhwb3J0cz1bIlNUTyDigJQgTmFzZGFxIFN0b2NraG9sbSJdfSw1NzI5MDkoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSAoVE9OKSJdfSw3ODQ0OTUoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSB2MiAoVE9OKSJdfSw2MjcxMDQoZSl7ZS5leHBvcnRzPVsiU1ZQIl19LDMwNzk2KGUpe2UuZXhwb3J0cz1bIlNXQiDigJQgU3R1dHRnYXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDgzNDk2MShlKXtlLmV4cG9ydHM9WyJTWlNFIOKAlCBTaGVuemhlbiBTdG9jayBFeGNoYW5nZSJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sNTM4OTQ4KGUpe2UuZXhwb3J0cz1bIlNvdXJjZSJdfSw3OTM0MDIoZSl7ZS5leHBvcnRzPVsiU291cmNlIGNvZGUiXX0sMzEwMDgyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEFmcmljYSJdfSw1ODc3NTIoZSl7ZS5leHBvcnRzPVsiU291dGggS29yZWEiXX0sNTA0MzEoZSl7ZS5leHBvcnRzPVsiU29maWEiXX0sNDAwMzIwKGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIHdoZW4gY3JlYXRpbmcgdGhlIGluZGljYXRvci4iXX0sMjg1ZTMoZSl7ZS5leHBvcnRzPVsiU29tZXRoaW5nIHdlbnQgd3JvbmcuIEhhbmcgdGlnaHQgYW5kIHRyeSBhZ2FpbiBsYXRlci4iXX0sNTkxNDE4KGUpe2UuZXhwb3J0cz1bIlNhdCJdfSwzODc5NShlKXtlLmV4cG9ydHM9WyJTYXR1cmRheSJdfSw3NjE1MjMoZSl7ZS5leHBvcnRzPVsiU2F1ZGkgQXJhYmlhIl19LDc4NDc0MShlKXtlLmV4cG9ydHM9WyJTYXZlIGFzIl19LDE3MzQ3OShlKXtlLmV4cG9ydHM9WyJTYXhvIl0KfSw0NTE0NDcoZSl7ZS5leHBvcnRzPVsiU2FuIFNhbHZhZG9yIl19LDUxNDE1NihlKXtlLmV4cG9ydHM9WyJTYW50aWFnbyJdfSw5NTU0MzAoZSl7ZS5leHBvcnRzPVsiU2FvIFBhdWxvIl19LDc2MjE0NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDczMDU4NihlKXtlLmV4cG9ydHM9WyJTZXR0aW5ncyJdfSw4NTAyOTgoZSl7ZS5leHBvcnRzPVsiU2Vjb25kIGZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sMTU0ODE0KGUpe2UuZXhwb3J0cz1bIlNlY29uZHMiXX0sNDQ0NDE4KGUpe2UuZXhwb3J0cz1bIlNlb3VsIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sNDE1MjYxKGUpe2UuZXhwb3J0cz1bIlNlcHRlbWJlciJdfSw3MTg1MjkoZSl7ZS5leHBvcnRzPVsiU2VyYmlhIl19LDEwOTk1NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIl19LDc5MjQ5NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIGJyZWFrcyJdfSw1Nzg4MzEoZSl7ZS5leHBvcnRzPVsiU2hhbmdoYWkiXX0sNjQ5MzczKGUpe2UuZXhwb3J0cz1bIlNob3cgYWxsIGRyYXdpbmdzIl19LDgxODc2MyhlKXtlLmV4cG9ydHM9WyJTaG93IGFsbCBkcmF3aW5ncyBhbmQgaW5kaWNhdG9ycyJdfSw0MjA2MjQoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgZHJhd2luZ3MsIGluZGljYXRvcnMsIHBvc2l0aW9ucywgYW5kIG9yZGVycyJdfSwyMDYzNzkoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgaW5kaWNhdG9ycyJdfSw3NzYwNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sNjQzNzk1KGUpe2UuZXhwb3J0cz1bIlNpbmdhcG9yZSJdfSw4MDY5NzMoZSl7ZS5leHBvcnRzPVsiU2tpbGxpbmciXX0sMjYzNDMyKGUpe2UuZXhwb3J0cz1bIlNsb3Zha2lhIl19LDcyMTgyMShlKXtlLmV4cG9ydHM9WyJTbG92ZW5pYSJdfSw3ODgzMjEoZSl7ZS5leHBvcnRzPVsiU3BhaW4iXX0sNjkxMjc5KGUpe2UuZXhwb3J0cz1bIlNwcmVhZGV4Il19LDgwNDc2NihlKXtlLmV4cG9ydHM9WyJTcmkgTGFua2EiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sOTMxOTkyKGUpe2UuZXhwb3J0cz1bIlN0eWxlIl19LDM3OTA1KGUpe2UuZXhwb3J0cz1bIlN0YWNrIG9uIHRoZSBsZWZ0Il19LDI3OTk3NyhlKXtlLmV4cG9ydHM9WyJTdGFjayBvbiB0aGUgcmlnaHQiXX0sMjU1NTExKGUpe2UuZXhwb3J0cz1bIlN0b2NraG9sbSJdfSwxMjMyMTkoZSl7ZS5leHBvcnRzPVsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIl19LDUwNzQ1OChlKXtlLmV4cG9ydHM9WyJTdW4iXX0sNDMxNTE2KGUpe2UuZXhwb3J0cz1bIlN1blN3YXAgdjIgKFRST04pIl19LDkwOTMwNChlKXtlLmV4cG9ydHM9WyJTdW5kYXkiXX0sMTAzNShlKXtlLmV4cG9ydHM9WyJTdXNoaVN3YXAgdjIgKEV0aGVyZXVtKSJdfSwzMjQ3MDkoZSl7ZS5leHBvcnRzPVsiU3VzaGlTd2FwIHYyIChQb2x5Z29uKSJdfSwzNjk5NjMoZSl7ZS5leHBvcnRzPVsiU3dlZGVuIl19LDY2MDUzNChlKXtlLmV4cG9ydHM9WyJTd2lzc3F1b3RlIl19LDczMzk3MShlKXtlLmV4cG9ydHM9WyJTd2l0emVybGFuZCJdfSwxNzk5MzQoZSl7ZS5leHBvcnRzPVsiU3lkbmV5Il19LDcyMDUyKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBFcnJvciJdfSw3NzA0MzcoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIG5hbWUgbGFiZWwiXX0sOTU3MTk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBsYXN0IHByaWNlIGxhYmVsIl19LDg4MjE1KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBwcmV2aW91cyBkYXkgY2xvc2UgcHJpY2UgbGFiZWwiXX0sMzQ5OTgzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwICh6a1N5bmMpIl19LDE2MTEzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwIHYyICh6a1N5bmMpIl19LDg2MDIxMShlKXtlLmV4cG9ydHM9WyJQU0Ug4oCUIFBoaWxpcHBpbmUgU3RvY2sgRXhjaGFuZ2UiXX0sMTMzNDY0KGUpe2UuZXhwb3J0cz1bIlBTRSDigJQgUHJhZ3VlIFN0b2NrIEV4Y2hhbmdlIl19LDk2MTI0NShlKXtlLmV4cG9ydHM9WyJQU1gg4oCUIFBha2lzdGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk1NDA0MShlKXtlLmV4cG9ydHM9WyJQbkYiXX0sOTY4NjA5KGUpe2UuZXhwb3J0cz1bIlBvbGFuZCJdfSw4NDMyMzUoZSl7ZS5leHBvcnRzPVsiUG9sb25pZXgiXX0sMzk4OTQoZSl7ZS5leHBvcnRzPVsiUG9ydHVnYWwiXX0sODQ0NDM2KGUpe2UuZXhwb3J0cz1bIlBha2lzdGFuIl19LDY4MTU2NChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MiAoQk5CIGNoYWluKSJdfSw1MDIyNChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MyAoQk5CIGNoYWluKSJdfSwyNjEzMTQoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZVN3YXAgdjMgKEV0aGVyZXVtKSJdfSw3ODU2MjkoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEFyYml0cnVtKSJdfSw1MjA5MTUoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIl19LDMwMDM0MChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlc3dhcCB2MyAoemtTeW5jKSJdfSw1NjIyMTUoZSl7ZS5leHBvcnRzPVsiUGFuZ29saW4gdjIgKEF2YWxhbmNoZSkiXX0sNjE3ODc0KGUpe2UuZXhwb3J0cz1bIlBhcmlzIl19LDI4OTQ5MyhlKXtlLmV4cG9ydHM9WyJQZXBwZXJzdG9uZSJdfSwxNTU4MzMoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSwzNTAxMDgoZSl7ZS5leHBvcnRzPVsiUGVydGgiXX0sODUxMTExKGUpe2UuZXhwb3J0cz1bIlBlcnUiXX0sNzMzNTM5KGUpe2UuZXhwb3J0cz1bIlBoYXJhb2ggKEF2YWxhbmNoZSkiXX0sNzA1MzIyKGUpe2UuZXhwb3J0cz1bIlBoZW1leCJdfSw2MTM2NDcoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZXMiXX0sODMyMDM2KGUpe2UuZXhwb3J0cz1bIlBoaWxsaXAgTm92YSJdfSwzMzE5NTkoZSl7CmUuZXhwb3J0cz1bIlBob2VuaXgiXX0sNjc0NjcwKGUpe2UuZXhwb3J0cz1bIlBpb25leCJdfSwyODg5MTUoZSl7ZS5leHBvcnRzPVsiUGx1cyBidXR0b24iXX0sNTQ0NDAzKGUpe2UuZXhwb3J0cz1bIlByYWd1ZSJdfSw1NjUxNjEoZSl7ZS5leHBvcnRzPVsiUHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIl19LDQyMTEwKGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0IG1hcmtldCBwcmljZSBsaW5lIl19LDQ1ODI2MihlKXtlLmV4cG9ydHM9WyJQcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwiXX0sNDY2ODU1KGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIl19LDc0NjMwNShlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IHdpbGwgc3RhcnQgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw3OTQzMzEoZSl7ZS5leHBvcnRzPVsiUHJldmlvdXMgZGF5IGNsb3NlIHByaWNlIGxpbmUiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg4MDIyMihlKXtlLmV4cG9ydHM9WyJQcmljZSBsaW5lIl19LDkzOTMwNyhlKXtlLmV4cG9ydHM9WyJQdWxzZXggKFB1bHNlY2hhaW4pIl19LDk3OTc1OShlKXtlLmV4cG9ydHM9WyJQdWxzZVggdjIgKFB1bHNlY2hhaW4pIl19LDExNTc5MShlKXtlLmV4cG9ydHM9WyJQdXJwbGUgVHJhZGluZyJdfSw2MDgxNjAoZSl7ZS5leHBvcnRzPVsiUHl0aCJdfSw4OTc2NyhlKXtlLmV4cG9ydHM9WyJRMSJdfSw5NDg5MjMoZSl7ZS5leHBvcnRzPVsiUTIiXX0sMzY3OTM1KGUpe2UuZXhwb3J0cz1bIlEzIl19LDE3NTUwNyhlKXtlLmV4cG9ydHM9WyJRNCJdfSw1OTU1NTUoZSl7ZS5leHBvcnRzPVsiUVNFIOKAlCBRYXRhciBTdG9jayBFeGNoYW5nZSJdfSw5MzM3NTMoZSl7ZS5leHBvcnRzPVsiUWF0YXIiXX0sNDkyMjgxKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MiAoUG9seWdvbikiXX0sODczMzk1KGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbiB6a0VWTSkiXX0sNTk2NTQyKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbikiXX0sODE0NjEoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiJdfSw3OTA1MjQoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiBhbmQgdXBkYXRlZCBldmVyeSAzMCBzZWNvbmRzIl19LDQyMzQwMShlKXtlLmV4cG9ydHM9WyJST0ZFWCDigJQgTUFUQkEgUk9GRVgiXX0sMTI3MzM2KGUpe2UuZXhwb3J0cz1bIlJVUyJdfSw5MDU5NDUoZSl7ZS5leHBvcnRzPVsiUm9tYW5pYSJdfSwyMjU5OTEoZSl7ZS5leHBvcnRzPVsiUm9tZSJdfSw1NjU2MTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSAoU29sYW5hKSJdfSwzNDM3OTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSBDTE1NIChTb2xhbmEpIl19LDgwODk3MihlKXtlLmV4cG9ydHM9WyJSYXlkaXVtIENQTU0gKFNvbGFuYSkiXX0sNTI4MDQ4KGUpe2UuZXhwb3J0cz1bIlJhbXNlcyB2MiAoQXJiaXRydW0pIl19LDk5MDIxMyhlKXtlLmV4cG9ydHM9WyJSYW5nZSJdfSw3NTM4NTgoZSl7ZS5leHBvcnRzPVsiUmV5a2phdmlrIl19LDg4MzkyOChlKXtlLmV4cG9ydHM9WyJSZWFsLXRpbWUiXX0sNzk4MzA3KGUpe2UuZXhwb3J0cz1bIlJlZG8iXX0sOTExMjYoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIl19LDE1MDg5NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgdGhpcyBpbmRpY2F0b3IgYW5kIGl0cyBkZXBlbmRlbnQgaW5kaWNhdG9ycz8iXX0sMTQ1Mzk2KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSB7ZHJhd2luZ3N9Il19LDY4MzIwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUge2RyYXdpbmdzfSAmIHtpbmRpY2F0b3JzfSJdfSwxMjgxMzMoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHtpbmRpY2F0b3JzfSJdfSw4ODk5OShlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSw4OTMwMjgoZSl7ZS5leHBvcnRzPVsiUmVwbGF5Il19LDk3NzI3KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBNb2RlIl19LDk2NzczNShlKXtlLmV4cG9ydHM9WyJSZXBsYXkgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIGNoYXJ0IHR5cGUuIENvbnRpbnVlIGFueXdheT8iXX0sNzg0MTE2KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBpc24ndCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sLiBDb250aW51ZSBhbnl3YXk/Il19LDIwNzg0NShlKXtlLmV4cG9ydHM9WyJSZXNldCBjaGFydCB2aWV3Il19LDkwNjQzNihlKXtlLmV4cG9ydHM9WyJSZXNldCB0aW1lIHNjYWxlIl19LDc4MDk1KGUpe2UuZXhwb3J0cz1bIlJpeWFkaCJdfSwyMjk2NDMoZSl7ZS5leHBvcnRzPVsiUmlnYSJdfSw0OTg0MTUoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNzMwNjM4KGUpe2UuZXhwb3J0cz1bIlJ1bnRpbWUgZXJyb3IiXX0sMzkwNTk4KGUpe2UuZXhwb3J0cz1bIlJ1c3NpYW4gRmVkZXJhdGlvbiJdfSw0NjUyNjAoZSl7ZS5leHBvcnRzPVsiV09PIFgiXX0sMjkwNzIyKGUpe2UuZXhwb3J0cz1bIldCIC0gVmllbm5hIFN0b2NrIEV4Y2hhbmdlIl19LDQzNjg3MShlKXtlLmV4cG9ydHM9WyJXRUVYIl19LDQyMDkwMShlKXtlLmV4cG9ydHM9WyJXSCBTZWxmSW52ZXN0Il19LDU1NDM0MihlKXtlLmV4cG9ydHM9WyJXb3JsZCBlY29ub21pYyBkYXRhIl19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDE2NDczNihlKXtlLmV4cG9ydHM9WyJXYXJzYXciXX0sNDY1ODUxKGUpe2UuZXhwb3J0cz1bIldlYnVsbCBQYXkiXX0sNDcwNDgwKGUpe2UuZXhwb3J0cz1bIldlZCJdfSw3NzI3NjUoZSl7ZS5leHBvcnRzPVsiV2VkbmVzZGF5Il19LDI1MTcyOChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw3NDI2NDIoZSl7ZS5leHBvcnRzPVsiV2h5IG1pZ2h0IG15IFVTIHN0b2NrIGRhdGEgbG9vayBkaWZmZXJlbnQ/Il19LDczMjQ0NShlKXtlLmV4cG9ydHM9WyJXaGl0ZUJJVCJdfSwyODU0ODQoZSl7ZS5leHBvcnRzPVsiVE1YIOKAlCBNb250cmVhbCBFeGNoYW5nZSJdfSw3ODIxNjIoZSl7ZS5leHBvcnRzPVsiVE9DT00g4oCUIFRva3lvIENvbW1vZGl0eSBFeGNoYW5nZSJdfSw1MjI3MDcoZSl7CmUuZXhwb3J0cz1bIlRBSUZFWCDigJQgVGFpd2FuIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sMTc3OTcoZSl7ZS5leHBvcnRzPVsiVEFMU0Ug4oCUIE5hc2RhcSBUYWxsaW5uIl19LDIzMzU1KGUpe2UuZXhwb3J0cz1bIlRBU0Ug4oCUIFRlbCBBdml2IFN0b2NrIEV4Y2hhbmdlIl19LDU1MTQ5MShlKXtlLmV4cG9ydHM9WyJURkVYIOKAlCBUaGFpbGFuZCBGdXR1cmVzIEV4Y2hhbmdlIl19LDk2MzI3OChlKXtlLmV4cG9ydHM9WyJURlgg4oCUIFRva3lvIEZpbmFuY2lhbCBFeGNoYW5nZSJdfSwxNzQ4MTgoZSl7ZS5leHBvcnRzPVsiVFBFeCDigJQgVGFpcGVpIEV4Y2hhbmdlIl19LDg3MzAzNShlKXtlLmV4cG9ydHM9WyJUUE8iXX0sNDI5NzMzKGUpe2UuZXhwb3J0cz1bIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiXX0sOTQxNzQoZSl7ZS5leHBvcnRzPVsiVFNFIOKAlCBUb2t5byBTdG9jayBFeGNoYW5nZSJdfSw4OTUyNDYoZSl7ZS5leHBvcnRzPVsiVFNYIOKAlCBUb3JvbnRvIFN0b2NrIEV4Y2hhbmdlIl19LDE4MzUyNChlKXtlLmV4cG9ydHM9WyJUU1hWIOKAlCBUU1ggVmVudHVyZSBFeGNoYW5nZSJdfSw4MTYyNTMoZSl7ZS5leHBvcnRzPVsiVFdTRSDigJQgVGFpd2FuIFN0b2NrIEV4Y2hhbmdlIl19LDc1MzAyNChlKXtlLmV4cG9ydHM9WyJUbyBjYWxjdWxhdGUgdGhlIFZXQVAgaW5kaWNhdG9yLCBtb3JlIGRhdGEgaXMgbmVlZGVkLiBab29tIG91dCBvciBzY3JvbGwgbGVmdCB0byBsb2FkIG1vcmUgaGlzdG9yaWNhbCBkYXRhLiJdfSw2MjM1NDYoZSl7ZS5leHBvcnRzPVsiVG90YWwiXX0sMTA0MTc3KGUpe2UuZXhwb3J0cz1bIlRva2VsYXUiXX0sNzk4MTk5KGUpe2UuZXhwb3J0cz1bIlRva3lvIl19LDQxNjE5KGUpe2UuZXhwb3J0cz1bIlRvb2JpdCJdfSw5NjUzODgoZSl7ZS5leHBvcnRzPVsiVG9wIl19LDE2MzY3MihlKXtlLmV4cG9ydHM9WyJUb3JvbnRvIl19LDIzODMzNihlKXtlLmV4cG9ydHM9WyJUYWJsZSB2aWV3Il19LDY5NzY0NyhlKXtlLmV4cG9ydHM9WyJUYWRhd3VsIOKAlCBTYXVkaSBFeGNoYW5nZSJdfSw0NzYwMjYoZSl7ZS5leHBvcnRzPVsiVGFpcGVpIl19LDI3MzE1NyhlKXtlLmV4cG9ydHM9WyJUYWl3YW4sIENoaW5hIl19LDY1MjE3NihlKXtlLmV4cG9ydHM9WyJUYWxsaW5uIl19LDc5MTE1KGUpe2UuZXhwb3J0cz1bIlRleHQiXX0sNzQxNjk3KGUpe2UuZXhwb3J0cz1bIlRleHQgd3JhcCJdfSwyNzQ5NTMoZSl7ZS5leHBvcnRzPVsiVGV4dCBhbGlnbm1lbnQiXX0sMzcyMjMoZSl7ZS5leHBvcnRzPVsiVGV4dCBvcmllbnRhdGlvbiJdfSw3NDI5OChlKXtlLmV4cG9ydHM9WyJUZWhyYW4iXX0sMjEyNTY0KGUpe2UuZXhwb3J0cz1bIlRlbXBvcmFyeSBnbGl0Y2giXX0sMzAxNDg5KGUpe2UuZXhwb3J0cz1bIlRodSJdfSw4MzQ2NzEoZSl7ZS5leHBvcnRzPVsiVGh1cnNkYXkiXX0sNTUzMDQ0KGUpe2UuZXhwb3J0cz1bIlRoYWlsYW5kIl19LDI3ODc4OChlKXtlLmV4cG9ydHM9WyJUaGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIl19LDgyMzE2NihlKXtlLmV4cG9ydHM9WyJUaGUgZGF0YSB2ZW5kb3IgZG9lc24ndCBwcm92aWRlIHZvbHVtZSBkYXRhIGZvciB0aGlzIHN5bWJvbC4iXX0sNjAxNzAzKGUpe2UuZXhwb3J0cz1bIlRoZSBpbWFnZSBiZWluZyBwYXN0ZWQgaXMgd2F5IHRvbyBsYXJnZSJdfSwxODIwMjAoZSl7ZS5leHBvcnRzPVsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iXX0sMjM4Njg0KGUpe2UuZXhwb3J0cz1bIlRoZSBzY3JpcHQgeW91J3JlIGxvb2tpbmcgZm9yIGhhcyB2YW5pc2hlZCDigJQgbWF5YmUgaXQncyBiZWVuIHJlbW92ZWQgb3IgdGhlcmUncyBhIGdsaXRjaC4gQ29udGFjdCB0aGUgYXV0aG9yIHRvIGxlYXJuIG1vcmUuIl19LDcxMjE4NihlKXtlLmV4cG9ydHM9WyJUaGVyZSdzIG5vIGRhdGEgZm9yIHlvdXIgc2VsZWN0ZWQgcGVyaW9kIGFuZCBjaGFydCB0aW1lZnJhbWUuIl19LDUxOTE5MihlKXtlLmV4cG9ydHM9WyJUaGlua01hcmtldHMiXX0sNDA5MjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBkcmF3aW5nIGlzIGxvY2tlZCBhbmQgdXNlZCBpbiBhbiBhbGVydC4gUmVtb3ZlIGl0IGFueXdheT8iXX0sMTQwNDA3KGUpe2UuZXhwb3J0cz1bIlRoaXMgZHJhd2luZyBpcyB1c2VkIGluIGFuIGFsZXJ0LiBSZW1vdmUgaXQgYW55d2F5PyJdfSw5MDAwNDEoZSl7ZS5leHBvcnRzPVsiVGhpcyBpbmRpY2F0b3IgaGFzIG5vIHNvdXJjZS10eXBlIGlucHV0LCBzbyBpdCBjYW4ndCBiZSBhcHBsaWVkIHRvIGFub3RoZXIgaW5kaWNhdG9yLiJdfSw0ODc2OTUoZSl7ZS5leHBvcnRzPVsiVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiJdfSw1MzM5NTYoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfS4iXX0sOTk4MDQ0KGUpe2UuZXhwb3J0cz1bIlRpY2ttaWxsIl19LDM3MDI0MyhlKXtlLmV4cG9ydHM9WyJUaWNrcyJdfSw0Nzk0MTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHt0aWNrZXJ9LiJdfSw4NjIxMTkoZSl7ZS5leHBvcnRzPVsiVGltZSJdfSwyMjQxOTgoZSl7ZS5leHBvcnRzPVsiVGltZSB6b25lIl19LDIxNTk5OChlKXtlLmV4cG9ydHM9WyJUaW1lIGZvciBhIHdhbGsg4oCUIHRoaXMgbWFya2V0IGlzIGNsb3NlZC4iXX0sODAwMDA1KGUpe2UuZXhwb3J0cz1bIlRyYWRlIE5hdGlvbiJdfSwxMzc1NTEoZSl7ZS5leHBvcnRzPVsiVHJhZGVnYXRlIEV4Y2hhbmdlIl19LDE1MDI0MihlKXtlLmV4cG9ydHM9WyJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIl19LDUzMjE0NShlKXtlLmV4cG9ydHM9WyJUcmVuZCBsaW5lIl19LDE2NTQ2NShlKXtlLmV4cG9ydHM9WyJUcml2ZSJdfSw0NzQ5MyhlKXtlLmV4cG9ydHM9WyJUdWUiXX0sCjQ1NjMzNChlKXtlLmV4cG9ydHM9WyJUdWVzZGF5Il19LDMwNzI0OChlKXtlLmV4cG9ydHM9WyJUdW5pcyJdfSw2Nzc1OShlKXtlLmV4cG9ydHM9WyJUdW5pc2lhIl19LDE0OTE4MShlKXtlLmV4cG9ydHM9WyJUdXJib3MgRmluYW5jZSAoU3VpKSJdfSw2MzE4MTAoZSl7ZS5leHBvcnRzPVsiVHVya2V5Il19LDM2MTYzMihlKXtlLmV4cG9ydHM9WyJUdXJxdW9pc2UiXX0sMTYzMTEwKGUpe2UuZXhwb3J0cz1bIlVBRSJdfSw1ODc1MzMoZSl7ZS5leHBvcnRzPVsiVUsiXX0sMzAxMTE3KGUpe2UuZXhwb3J0cz1bIlVTQSJdfSwxMzkxNDEoZSl7ZS5leHBvcnRzPVsiVVNJIl19LDkxMjI1NShlKXtlLmV4cG9ydHM9WyJVVEMiXX0sNzQxMzMoZSl7ZS5leHBvcnRzPVsiVW5kbyJdfSw5MzI4KGUpe2UuZXhwb3J0cz1bIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIl19LDcwMzkyOShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYyIChCYXNlKSJdfSwzNjU5NDUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MiAoRXRoZXJldW0pIl19LDU5MTk3MChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiXX0sNzgxNTEoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQXZhbGFuY2hlKSJdfSw0MDA2OTcoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSJdfSw5OTYyNjUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQmFzZSkiXX0sMjgyNTA1KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjMgKEV0aGVyZXVtKSJdfSw4NDM3ODQoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoT3B0aW1pc20pIl19LDc4Mzc3NShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChQb2x5Z29uKSJdfSw3NTc1OTMoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoQXJiaXRydW0pIl19LDExMTMwMChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIl19LDI0NTE2MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIl19LDI3Mjg0KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKEJhc2UpIl19LDcwODY4MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChFdGhlcmV1bSkiXX0sNDcwNDgzKGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKE9wdGltaXNtKSJdfSw3ODQxMjIoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoUG9seWdvbikiXX0sNjg5MzE3KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKFVuaWNoYWluKSJdfSwyNDkwOTEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEFyYWIgRW1pcmF0ZXMiXX0sMjgyNzMoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEtpbmdkb20iXX0sOTkxMjU4KGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sODQ2NTk4KGUpe2UuZXhwb3J0cz1bIlVuc3VwcG9ydGVkIGludGVydmFsIl19LDYyMTk4NChlKXtlLmV4cG9ydHM9WyJVaC1vaCEgU29tZXRoaW5nJ3Mgbm90IHdvcmtpbmcgcmlnaHQiXX0sMTkzODE4KGUpe2UuZXhwb3J0cz1bIlVwQml0Il19LDI4MDYyKGUpe2UuZXhwb3J0cz1bIlVwZ3JhZGUgdG8gdGhlIFByZW1pdW0gcGxhbiB0byBhY2Nlc3MgaGlnaGVyIGJhciBkZXRhbGl6YXRpb24gd2l0aCBtb3JlIHRpY2tzIHVzZWQgaW4gY2FsY3VsYXRpb25zLiJdfSw5MjM5MTIoZSl7ZS5leHBvcnRzPVsiVXBncmFkZSB0byB1bmxvY2sgZm9yZWNhc3QgbWV0cmljcyJdfSw1OTkwMDkoZSl7ZS5leHBvcnRzPVsiVXBwZXIgRGV2aWF0aW9uIl19LDU4MDgxKGUpe2UuZXhwb3J0cz1bIlVzZSBMb3dlciBEZXZpYXRpb24iXX0sMjA4NzQ1KGUpe2UuZXhwb3J0cz1bIlVzZSBVcHBlciBEZXZpYXRpb24iXX0sODY0ODQ2KGUpe2UuZXhwb3J0cz1bIlVzZSBvbmUgY29sb3IiXX0sNDIwNDQ5KGUpe2UuZXhwb3J0cz1bIlVzZXItZGVmaW5lZCBlcnJvciJdfSw5OTc1MDAoZSl7ZS5leHBvcnRzPVsiVlNFIOKAlCBOYXNkYXEgVmlsbml1cyJdfSwyMzEzMjUoZSl7ZS5leHBvcnRzPVsiVlZTIEZpbmFuY2UgKENyb25vcykiXX0sOTk0MTc2KGUpe2UuZXhwb3J0cz1bIlZWUyB2MyAoQ3Jvbm9zKSJdfSwzNjQ3MzYoZSl7ZS5leHBvcnRzPVsiVldBUCBpcyB3YWl0aW5nIGZvciBtb3JlIGRhdGEiXX0sNTMzMDc3KGUpe2UuZXhwb3J0cz1bIlZvbG1leCJdfSwzMzI1ODcoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4iXX0sNDk3NjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBkYXRhIGlzIG5vdCBwcm92aWRlZCBpbiBCSVNUIE1JWEVEIGRhdGEgcGxhbi4iXX0sNDg3MjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTkxMzIoZSl7ZS5leHBvcnRzPVsiVmFuY291dmVyIl19LDQ2MjUxNyhlKXtlLmV4cG9ydHM9WyJWYW50YWdlIl19LDY4MDc5KGUpe2UuZXhwb3J0cz1bIlZlbG9jaXR5IFRyYWRlIl19LDQ0NDgyNShlKXtlLmV4cG9ydHM9WyJWZWxvZHJvbWUgKE9wdGltaXNtKSJdfSw1MzMyNTAoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIFNsaXBTdHJlYW0gKE9wdGltaXNtKSJdfSw5NTc3MzQoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIHYyIChPcHRpbWlzbSkiXX0sNjQzNTAzKGUpe2UuZXhwb3J0cz1bIlZlbmV6dWVsYSJdfSw4MDA1MDMoZSl7ZS5leHBvcnRzPVsiVmVydGljYWwiXX0sNjE0NDIoZSl7ZS5leHBvcnRzPVsiVmllbm5hIl19LDg1MjIxKGUpe2UuZXhwb3J0cz1bIlZpZXRuYW0iXX0sMTAwMzAxKGUpe2UuZXhwb3J0cz1bIlZpbG5pdXMiXX0sOTg3NzMzKGUpe2UuZXhwb3J0cz1bIlZpc2liaWxpdHkiXX0sNTI0Nzk1KGUpe2UuZXhwb3J0cz1bIlZpc2libGUgb24gdGFwIl19LDIxNTY3MShlKXtlLmV4cG9ydHM9WyJWaXNpYmxlIG9uIG1vdXNlIG92ZXIiXX0sOTYxODQ3KGUpe2UuZXhwb3J0cz1bIlhFVFIg4oCUIFhldHJhIl19LDY4NjExNChlKXtlLmV4cG9ydHM9WyJYVC5jb20iXX0sNTU4NDQ0KGUpewplLmV4cG9ydHM9WyJZb3UgYXJlIGluIHRoZSBjaGFydCByZXBsYXkgbW9kZS4gQW4gb3JkZXIgd2lsbCBiZSBwbGFjZWQgaW4gcmVhbC10aW1lLiBEbyB5b3Ugc3RpbGwgd2FudCB0byBwbGFjZSB0aGUgb3JkZXI/Il19LDcyMzYzKGUpe2UuZXhwb3J0cz1bIllvdSBhcmUgbm90aWZpZWQiXX0sMTkxMDYoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBjaGFydCB0eXBlIG9yIGNvbnRpbnVlIHRvIHVzZSBhIG5ldyBvbmUgd2l0aG91dCBiYXIgcmVwbGF5LiJdfSw0MTYxMTkoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBzeW1ib2wgb3IgY29udGludWUgdG8gdXNlIGEgbmV3IG9uZSB3aXRob3V0IGJhciByZXBsYXkuIl19LDI5OTE4OChlKXtlLmV4cG9ydHM9WyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iXX0sNTA1OTg1KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIGxvY2tlZCBkcmF3aW5ncyBvbiB0aGlzIHN5bWJvbC4gRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBsb2NrZWQgZHJhd2luZ3MgdG9vPyJdfSwxNzczNTQoZSl7ZS5leHBvcnRzPVsiWWFuZ29uIl19LDk4NTgyNihlKXtlLmV4cG9ydHM9WyJZZXMsIHJlbW92ZSB0aGVtIl19LDgxODg1MChlKXtlLmV4cG9ydHM9WyJaQ0Ug4oCUIFpoZW5nemhvdSBDb21tb2RpdHkgRXhjaGFuZ2UiXX0sNTM3MTM3KGUpe2UuZXhwb3J0cz1bIlpTRSDigJQgWmFncmViIFN0b2NrIEV4Y2hhbmdlIl19LDU3MDQwMyhlKXtlLmV4cG9ydHM9WyJab29tZXgiXX0sNzkyMzg2KGUpe2UuZXhwb3J0cz1bIlphZ3JlYiJdfSw0NzM0OTYoZSl7ZS5leHBvcnRzPVsiWnVyaWNoIl19LDkxNzU5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIl19LDUxNjQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sNDA1MzUyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSJdfSw5ODc5NzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJhciBYIGNvb3JkaW5hdGUiXX0sMTQxNTUzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBiaWQgYW5kIGFzayBsYWJlbHMgdmlzaWJpbGl0eSJdfSwzOTYwNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJpZCBhbmQgYXNrIGxpbmVzIHZpc2liaWxpdHkiXX0sOTkzOShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iXX0sMzk5MjU0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBjb3VudGRvd24gdG8gYmFyIGNsb3NlIHZpc2liaWxpdHkiXX0sMjQ3MDE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBkYXRlIHJhbmdlIl19LDU2OTg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGFiZWxzIHZpc2liaWxpdHkiXX0sMTg0NjY2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMgdmlzaWJpbGl0eSJdfSwzODYzMzUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgbmFtZSBsYWJlbHMgdmlzaWJpbGl0eSJdfSw2MjQzNjAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgdmFsdWUgbGFiZWxzIHZpc2liaWxpdHkiXX0sNzM5MDg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwbHVzIGJ1dHRvbiB2aXNpYmlsaXR5Il19LDU3NjcwMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMTc2NzQ1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg0NDk4NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QvbmlnaHQgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMzk0MjgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg4NjkxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJldmlvdXMgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDE5NTIxOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgWSBjb29yZGluYXRlIl19LDMyMjkxMihlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDc0MzM0MShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcmVzb2x1dGlvbiJdfSwxODc2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIl19LDE1NjEwOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhYmVscyB2aXNpYmlsaXR5Il19LDIyNTkwMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhc3QgdmFsdWUgdmlzaWJpbGl0eSJdfSw1OTQyMDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5Il19LDcyMzQyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc2Vzc2lvbiJdfSwxNDYyMDIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHNlc3Npb24gYnJlYWtzIHZpc2liaWxpdHkiXX0sNTg3MjQyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzZXJpZXMgc3R5bGUiXX0sMTMxNDA4KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB0aW1lem9uZSJdfSw1MzU0MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gY29lZmZzIGFzIHBlcmNlbnRzIHZpc2liaWxpdHkiXX0sNjgwMjY0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGFsbCBsaW5lcyBjb2xvciJdfSw5NDQyNjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gYmFja2dyb3VuZCB0cmFuc3BhcmVuY3kiXX0sMzE5NTE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGJhY2tncm91bmQgdmlzaWJpbGl0eSJdfSwyNzA3OTAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyB0byJdfSwyMDM5MDEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyBmcm9tIl19LDkzMTY1NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBob3VycyBmcm9tIl19LAo2NTM4MzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gaG91cnMgdG8iXX0sMjQ0NDc1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSBjb2VmZiJdfSwxNTIyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgY29sb3IiXX0sMTc4NTIxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSB2aXNpYmlsaXR5Il19LDM1MzgyNShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgd2lkdGgiXX0sNDc1MDU3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVscyB2aXNpYmlsaXR5Il19LDg3ODk5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgZnJvbSJdfSwyMzg4MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgdG8iXX0sOTEyNTcwKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgdG8iXX0sMzMxMjgxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgZnJvbSJdfSwzODI3MjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyB0byJdfSw5MzQ3MzYoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyBmcm9tIl19LDQ3NTIyMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyBmcm9tIl19LDIxNDIwNChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyB0byJdfSw4NTg4OTkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdGV4dCJdfSw0NTE3MzIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB0aWNrcyJdfSw2MDc2NjIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB3ZWVrcyJdfSwzMTQwNjUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB7cmFuZ2VzfSJdfSw1OTIyODQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiBkYXlzIl19LDI0MTM2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIGhvdXJzIl19LDEwMzg3OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIG1pbnV0ZXMiXX0sODkxMzk1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IHZpc2liaWxpdHkgb24gbW9udGhzIl19LDQwNDkxMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIHNlY29uZHMiXX0sODI4NTc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgdmVydGljYWwiXX0sODgxNzQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgaG9yaXpvbnRhbCJdfSw4MTAzNzcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGFiZWxzIGRpcmVjdGlvbiJdfSw2Njg5MTUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSB2aXNpYmlsaXR5Il19LDcxNjM2MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIHdpZHRoIl19LDg2NjcxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGNvbG9yIl19LDIxODA2NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyBsZWZ0Il19LDgzODk1OChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyByaWdodCJdfSw4NzIxODUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSBsZWZ0IGVuZCJdfSw1NTE0NzAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSByaWdodCBlbmQiXX0sNDk5NTIzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxpbmUgc3R5bGUiXX0sMjQwMzgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQiXX0sNDY3Njg0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgdmlzaWJpbGl0eSJdfSwxNTUwNDQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gdGV4dCB3cmFwIl19LDYyODgzOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGJhY2tncm91bmQgY29sb3IiXX0sNTMxMzk3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYmFja2dyb3VuZCB2aXNpYmlsaXR5Il19LDIyMTc0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIGNvbG9yIl19LDgxODAyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHdpZHRoIl19LDEyMzc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHZpc2liaWxpdHkiXX0sMTY1MzA0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgY29sb3IiXX0sNjc1NDQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgZm9udCBib2xkIl19LDU2Mzk0NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgaXRhbGljIl19LDI3MDA1MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgc2l6ZSJdfSwxMDMzMjcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHtwcm9wZXJ0eU5hbWV9IHByb3BlcnR5Il19LDI4ODc5NyhlKXtlLmV4cG9ydHM9WyJjcmVhdGUgbGluZSB0b29scyBncm91cCJdfSwxMzQ1NTgoZSl7ZS5leHBvcnRzPVsiY3JlYXRlIGxpbmUgdG9vbHMgZ3JvdXAgZnJvbSBzZWxlY3Rpb24iXX0sNTQ5OTg2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sNzIxMTE4KGUpe2UuZXhwb3J0cz1bImFubnVhbGx5Il19LDY4OTU4MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9Il19LDQzOTU5MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sKHMpIHRvIGdyb3VwIHtncm91cH0iXX0sNjQ3NjU2KGUpewplLmV4cG9ydHM9WyJhcHBseSBjaGFydCB0aGVtZSJdfSwzNDc1ODUoZSl7ZS5leHBvcnRzPVsiYXBwbHkgYWxsIGNoYXJ0IHByb3BlcnRpZXMiXX0sODk3NDc2KGUpe2UuZXhwb3J0cz1bImFwcGx5IGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSwzODE1MTMoZSl7ZS5leHBvcnRzPVsiYXBwbHkgc3R1ZHkgdGVtcGxhdGUge3RlbXBsYXRlfSJdfSw2NjMxMjgoZSl7ZS5leHBvcnRzPVsiYXBwbHkgdG9vbGJhcnMgdGhlbWUiXX0sMjUxOTQ4KGUpe2UuZXhwb3J0cz1bImJpdEZseWVyIl19LDY1MzY5KGUpe2UuZXhwb3J0cz1bImJpbGxlZCBtb250aGx5Il19LDI2MDE5MyhlKXtlLmV4cG9ydHM9WyJiaWxsZWQgYW5udWFsbHkiXX0sNjAyNDMxKGUpe2UuZXhwb3J0cz1bImJyaW5nIGdyb3VwIHt0aXRsZX0gZm9yd2FyZCJdfSwzODY1MjIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSB0byBmcm9udCJdfSw4ODcyODIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSBmb3J3YXJkIl19LDE2NDAxOChlKXtlLmV4cG9ydHM9WyJkWWRYIl19LDIzMDk1NyhlKXtlLmV4cG9ydHM9WyJkYXRlIHJhbmdlIGxvY2siXX0sMjc1MjkoZSl7ZS5leHBvcnRzPVsiZGF5cyJdfSw4MTMwOTYoZSl7ZS5leHBvcnRzPVsiZGF5cyB0byJdfSw0MDIwNTEoZSl7ZS5leHBvcnRzPVsiZGF5cyBmcm9tIl19LDQyNDMzNChlKXtlLmV4cG9ydHM9WyJlYXN5TWFya2V0cyJdfSwyNjY3NzUoZSl7ZS5leHBvcnRzPVsiZXJhc2UgbGV2ZWwgbGluZSJdfSwyODg1NzAoZSl7ZS5leHBvcnRzPVsiZXhjbHVkZSBsaW5lIHRvb2xzIGZyb20gZ3JvdXAge2dyb3VwfSJdfSw1OTIxMTMoZSl7ZS5leHBvcnRzPVsiaG91cnMiXX0sNTY0OTk1KGUpe2UuZXhwb3J0cz1bImhvdXJzIGZyb20iXX0sNDMwOTQ5KGUpe2UuZXhwb3J0cz1bImhvdXJzIHRvIl19LDU4OTgxNShlKXtlLmV4cG9ydHM9WyJoaWRlIHt0aXRsZX0iXX0sNDc3NjY1KGUpe2UuZXhwb3J0cz1bImhpZGUgbWFya3Mgb24gYmFycyJdfSw2NTM1NzAoZSl7ZS5leHBvcnRzPVsiaUJyb2tlciJdfSwyMjIyODYoZSl7ZS5leHBvcnRzPVsiaW50ZXJ2YWwgbG9jayJdfSwxMDg2MDIoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYWZ0ZXIge3RhcmdldFRpdGxlfSJdfSw3ODE3MjEoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iXX0sOTIxNzM4KGUpe2UuZXhwb3J0cz1bImxvYWRpbmcuLi4iXX0sNjIwOTI3KGUpe2UuZXhwb3J0cz1bImxvY2sge3RpdGxlfSJdfSw3MDYzMDgoZSl7ZS5leHBvcnRzPVsibG9jayBncm91cCB7Z3JvdXB9Il19LDg0MjI3NihlKXtlLmV4cG9ydHM9WyJsZXNzIHRoYW4gMSBtaW51dGUiXX0sOTY1NzkwKGUpe2UuZXhwb3J0cz1bIm1vdmUiXX0sOTYzNTUxKGUpe2UuZXhwb3J0cz1bIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0Il19LDc5MTM3MShlKXtlLmV4cG9ydHM9WyJtb3ZlIGFsbCBzY2FsZXMgdG8gcmlnaHQiXX0sMTcwODE5KGUpe2UuZXhwb3J0cz1bIm1vdmUgZHJhd2luZ3MiXX0sNTU2NTY4KGUpe2UuZXhwb3J0cz1bIm1vbnRobHkiXX0sMTk0MzU1KGUpe2UuZXhwb3J0cz1bIm1vbnRocyJdfSw3OTI2NTYoZSl7ZS5leHBvcnRzPVsibW9udGhzIGZyb20iXX0sNTM1NjAwKGUpe2UuZXhwb3J0cz1bIm1vbnRocyB0byJdfSw1NzIzMzQoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IGludmlzaWJsZSJdfSwzNTY1NDEoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiXX0sNzQ1MTUzKGUpe2UuZXhwb3J0cz1bIm1lWEJUIl19LDY4MTcwMShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIl19LDE3NDM1NihlKXtlLmV4cG9ydHM9WyJtaW51dGVzIHRvIl19LDc3MjM5OShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIGZyb20iXX0sNjkyNTg5KGUpe2UuZXhwb3J0cz1bIm4vYSJdfSwzODYzNzMoZSl7ZS5leHBvcnRzPVsibm90IGF1dGhvcml6ZWQiXX0sMjU2OTY4KGUpe2UuZXhwb3J0cz1bInNjYWxlIHByaWNlIl19LDIzMTgzMShlKXtlLmV4cG9ydHM9WyJzY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDYxNDkwNihlKXtlLmV4cG9ydHM9WyJzY3JvbGwiXX0sNzc5MTg0KGUpe2UuZXhwb3J0cz1bInNldCBsYXlvdXQgc2l6ZXMiXX0sODMyNjYwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMiXX0sMjQ5NTU3KGUpe2UuZXhwb3J0cz1bInNlY29uZHMgdG8iXX0sODEwNDcwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMgZnJvbSJdfSw1NDAwMzgoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDUwMTUwNyhlKXtlLmV4cG9ydHM9WyJzZW5kIHt0aXRsZX0gdG8gYmFjayJdfSw1MTc2MjIoZSl7ZS5leHBvcnRzPVsic2VuZCBncm91cCB7dGl0bGV9IGJhY2t3YXJkIl19LDQ4MjExOChlKXtlLmV4cG9ydHM9WyJzdGF5IGluIGRyYXdpbmcgbW9kZSJdfSw0ODg4ODEoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGRyYXdpbmciXX0sMjA5NTk5KGUpe2UuZXhwb3J0cz1bInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiXX0sNzE5MjA5KGUpe2UuZXhwb3J0cz1bInN5bWJvbCBsb2NrIl19LDgxNTk5MyhlKXtlLmV4cG9ydHM9WyJzeW5jIHRpbWUiXX0sODM3MDY2KGUpe2UuZXhwb3J0cz1bInBhc3RlIGRyYXdpbmciXX0sNzYzMzM5KGUpe2UuZXhwb3J0cz1bInBhc3RlIGluZGljYXRvciJdfSw3OTc0OTEoZSl7ZS5leHBvcnRzPVsicmVhcnJhbmdlIHBhbmVzIl19LDYzNTQ5NihlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZGVzZWxlY3RlZCBlbXB0eSBsaW5lIHRvb2xzIl19LDU0MTY1OShlKXtlLmV4cG9ydHM9WyJyZW1vdmUgbGluZSBkYXRhIHNvdXJjZXMiXX0sNjY2MTQwKGUpe2UuZXhwb3J0cz1bInJlbW92aW5nIGxpbmUgdG9vbHMgZ3JvdXAge25hbWV9Il19LDM4NTMxMChlKXtlLmV4cG9ydHM9WyJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iXX0sMTMzNDk3KGUpe2UuZXhwb3J0cz1bInJlc2V0IGxheW91dCBzaXplcyJdfSw4MzEwNDUoZSl7ZS5leHBvcnRzPVsicmVzaXplIGxheW91dCJdfSwxMjk1MTAoZSl7CmUuZXhwb3J0cz1bInJlc3RvcmUgZGVmYXVsdHMiXX0sNjYyOTAzKGUpe2UuZXhwb3J0cz1bInJlc3RvcmUgc3R1ZHkgZGVmYXVsdHMiXX0sMzU2Mzk4KGUpe2UuZXhwb3J0cz1bIndlZWtzIl19LDYzOTE0MihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyBmcm9tIl19LDUyMDc4NihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyB0byJdfSw3ODQxMjgoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIl19LDU5OTE0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgYXV0byBzY2FsZSJdfSwxNDUzNjYoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIGNvbGxhcHNlZCBwYW5lIHN0YXRlIl19LDc3NzQ4NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDc2NDMyMShlKXtlLmV4cG9ydHM9WyJ0YXN0eWZ4Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sNzU1NTY5KGUpe2UuZXhwb3J0cz1bInRpY2tzIl19LDQwMDQxMihlKXtlLmV4cG9ydHM9WyJ0cmFjayB0aW1lIl19LDgzNTgoZSl7ZS5leHBvcnRzPVsidHJpYWwiXX0sOTUyNTIzKGUpe2UuZXhwb3J0cz1bInVubG9jayBncm91cCB7Z3JvdXB9Il19LDc3MDYzOShlKXtlLmV4cG9ydHM9WyJ1bmxvY2sge3RpdGxlfSJdfSw1Mzc5NTMoZSl7ZS5leHBvcnRzPVsie2NoYXJ0U3R5bGV9IGNoYXJ0IHR5cGUgaXNuJ3QgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgdGljay1iYXNlZCBpbnRlcnZhbHMuIl19LDMzODA5MyhlKXtlLmV4cG9ydHM9WyJ7Y291bnR9IGJhcnMiXX0sNzAyNTEoZSl7ZS5leHBvcnRzPVsie2RheXN9IGFuZCB7aG91cnN9Il19LDc5NDg5NShlKXtlLmV4cG9ydHM9WyJ7aG91cnN9IGFuZCB7bWludXRlc30iXX0sMTUzNzY2KGUpe2UuZXhwb3J0cz1bIntwcm9QbGFuTmFtZX0gVHJpYWwiXX0sMzg2MDQ4KGUpe2UuZXhwb3J0cz1bInt1c2VyTmFtZX0gY3JlYXRlZCB3aXRoIHtjdXN0b21lcn0sIHtkYXRlfSJdfSw5NDM0OTkoZSl7ZS5leHBvcnRzPVsieEV4Y2hhbmdlIl19LDI3ODU2NShlKXtlLmV4cG9ydHM9WyJ6b29tIl19LDMxODIzKGUpe2UuZXhwb3J0cz1bInprU3dhcCAoemtTeW5jKSJdfSwyNTk3KGUpe2UuZXhwb3J0cz1bImFuZCB7bmFtZUNvdW50fSBtb3JlIGluZGljYXRvci4iLCJhbmQge25hbWVDb3VudH0gbW9yZSBpbmRpY2F0b3JzLiJdfSw3NDMwMDIoZSl7ZS5leHBvcnRzPVsiZGF5IiwiZGF5cyJdfSw0MTkxMTQoZSl7ZS5leHBvcnRzPVsiaG91ciIsImhvdXJzIl19LDMyMzQ4NShlKXtlLmV4cG9ydHM9WyJtb250aCIsIm1vbnRocyJdfSwxMTM2NDIoZSl7ZS5leHBvcnRzPVsibWludXRlIiwibWludXRlcyJdfSw2NjU1MzAoZSl7ZS5leHBvcnRzPVsic2Vjb25kIiwic2Vjb25kcyJdfSw2MTY0OShlKXtlLmV4cG9ydHM9WyJyYW5nZSIsInJhbmdlcyJdfSwzODgxMDUoZSl7ZS5leHBvcnRzPVsid2VlayIsIndlZWtzIl19LDUwNjQ0NyhlKXtlLmV4cG9ydHM9WyJ0aWNrIiwidGlja3MiXX0sMjY4MTY2KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGRheSIsIntudW1iZXJ9IGRheXMiXX0sMjk4MjM0KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGhvdXIiLCJ7bnVtYmVyfSBob3VycyJdfSwxNDIxMDEoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gaG91ciIsIntudW1iZXJ9IGhvdXJzIl19LDMyMTQ1KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNzA0OTU4KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNDA2NDg1KGUpe2UuZXhwb3J0cz1bInthbW91bnR9IGRyYXdpbmciLCJ7YW1vdW50fSBkcmF3aW5ncyJdfSwxNDE2NjIoZSl7ZS5leHBvcnRzPVsie2Ftb3VudH0gaW5kaWNhdG9yIiwie2Ftb3VudH0gaW5kaWNhdG9ycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.253Z","timestamp":1785120762253,"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=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\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:30 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ec9dd93a241b707c75a67b74596e9b5e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 67993\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: wlq1VgP-9hjT_a9aYghPlpR1DT0jjRWVw1VC-InUlRqCACC6tZTYcA==\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":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-07-27T05:24:59.855799Z","times_seen":1041,"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":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/20061.8715a452514d45d5dd3b.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.491Z","timestamp":1785120763491,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/20061.8715a452514d45d5dd3b.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/ticker-tape/?locale=en\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 02:52:43 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-1ee3\"\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:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0210a70ec0f734c0f58d4580c8452779\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/embed_market_overview_widget.96429594954f17872c5a.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.590Z","timestamp":1785120763590,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/embed_market_overview_widget.96429594954f17872c5a.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/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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.googleapis.com/css2?family=Inter:wght@300;400;500;600;700\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.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":"stylesheet","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.954Z","timestamp":1785120760954,"http_version":"HTTP/2","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":"GET /css2?family=Inter:wght@300;400;500;600;700\u0026display=swap HTTP/1.1\r\nHost: fonts.googleapis.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://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 02:52:41 GMT\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\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":[{"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":12635,"size_decoded":1486,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"f04de8ad1ef740d940ec0f534a8f6474","sha1":"3b31756e84c8887867417c7d6cc64501c9d9193c","sha256":"2f1ac0c31bc3ede8317cf72e9d28051ec727c9a0014aa69cff495abd6256bb4e","sha512":"69afede137c125294044274e463f30c02594f379ec879285e0b3ee41097f503dfb8272487759870f547e4dc4cf8828a2c1efaa806deb2f3124b7f6d67c638783","ssdeep":"192:wNA1cO3lnxirNNIxO34OxDENOPCO3/Nx8NNryfO3iExlONEhYO3RrxGx:8KYXuM0p2+4","tlshash":"28427892002ba400ab971dc233cf7f3aaece50896085d1b95ffd0dc59cead66436876d","first_seen":"2025-09-10T18:44:19.218006Z","last_seen":"2026-07-27T05:09:56.412469Z","times_seen":27784,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMkpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEwWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEycEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyNUw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFaTDdXMEk1bnZ3VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJKTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMFpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMlpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExcEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMnBMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMjVMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExWkw3VzBJNW52d1Uud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEySkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTBaTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJaTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMXBMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTI1TDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMVpMN1cwSTVudndVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMkpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEwWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEycEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyNUw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFaTDdXMEk1bnZ3VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJKTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMFpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMlpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExcEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMnBMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMjVMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExWkw3VzBJNW52d1Uud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":97,"timings":{"blocked":-1,"dns":1,"connect":18,"send":0,"wait":37,"receive":0,"ssl":39},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/temp/custom/img/eth.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.005Z","timestamp":1785120761005,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/img/eth.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 10180\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":10180,"size_decoded":10591,"mime_type":"image/png","magic":"PNG image data, 130 x 112, 8-bit/color RGBA, non-interlaced","md5":"f1a9c94e182fd106ab85aaac9e14bd9c","sha1":"164b9fc08094debdd60ccf3fba217181e5a5669d","sha256":"7d0616680ebf3541ec9501faf120fbb97e9b1b32af4103d2425ecb8ad65ddff6","sha512":"048511e6c518024ed868df9b7f9ae23a8245acfe6108a48ef9f2e25786430fc64047f945ec6299fc1bed1f5dc4a34f68a9208fb0e4543d8509f8776b029d0204","ssdeep":"192:bSDS0tKg9E05TjZDSmC06jF4yartZERUK9PG5:OJXE05HZ/CR+yQ6UKh4","tlshash":"9422af9bd5b56351f0b8b0a12dfba94673162fec908bf71408c111cd85a9913576d2f3","first_seen":"2024-08-04T01:29:35Z","last_seen":"2026-07-27T05:24:59.956128Z","times_seen":928,"resource_available":false,"data":"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"}},"time_used":517,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":175,"receive":342,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.815Z","timestamp":1785120761815,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 2236148\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 02:52:41 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=YwjXXEDl5Xn9qqaAbeWoF8iylU7RRvqtGQwAdIQe7%2Bauiy9sOFt%2FLlWTej8f%2BSznlwooIy5FsIuVXneSMSBLyGnh0GtvgEYYAP%2FdItiP18zPRe2pSE1lUCR9k4I3\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859795bd60daa-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":6492,"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-27T05:24:59.93142Z","times_seen":995,"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":"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.078Z","timestamp":1785120763078,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 47460c0f4108888931f16501bfd8e131\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-27T05:26:55.74389Z","times_seen":783,"resource_available":false,"data":"LnN0YXR1c2VzV3JhcC1VUklqRUI5OHtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXXthbGlnbi1zZWxmOmNlbnRlcjtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo5cHg7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6NnB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7b3V0bGluZS1vZmZzZXQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06ZW1wdHksW2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXV9oaWRkZW57ZGlzcGxheTpub25lfVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0uc21hbGwtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo5cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5tZWRpdW0tVVJJakVCOTh7Ym9yZGVyLXJhZGl1czoxMXB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0ubGFyZ2UtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo4cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5ibGlua2luZy1VUklqRUI5OHt3aWxsLWNoYW5nZTpvcGFjaXR5fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4e2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zdGF0dXNJdGVtLVVSSWpFQjk4OmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9LnN0YXR1c0l0ZW0tVVJJakVCOTggc3Zne2luc2V0LWlubGluZS1zdGFydDo1MCU7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ei1pbmRleDowfS5zdGF0dXNJdGVtLVVSSWpFQjk4IHN2ZzpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKDUwJSwtNTAlKX0uc3RhdHVzSXRlbS1VUklqRUI5OC5zbWFsbC1VUklqRUI5OHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4Lm1lZGl1bS1VUklqRUI5OHtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4LmxhcmdlLVVSSWpFQjk4e2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnN0YXR1c0l0ZW0tVVJJakVCOTguYmxpbmtpbmctVVJJakVCOTg6YWZ0ZXJ7YW5pbWF0aW9uOmJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCAyLjVzIGN1YmljLWJlemllciguMjUsMCwuNzUsMSkgaW5maW5pdGV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zdGF0dXNJdGVtLVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19LnN0YXR1c0l0ZW0tVVJJakVCOTg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQcmUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUHJlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQb3N0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUG9zdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c092ZXJuaWdodC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5tYXJrZXRTdGF0dXNIb2xpZGF5LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubWFya2V0U3RhdHVzSG9saWRheS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzRGVsaXN0ZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcil9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTh7Y29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQpKX0ubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsKSl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXN0b20tc3RhdHVzLWNvbG9yLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZCkpfS5pbnZhbGlkU3ltYm9sLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaW52YWxpZFN5bWJvbC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFjdGl2ZVN0cmF0ZWd5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1ib2xkKX0uYWxlcnQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcyl9LmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuYWxlcnQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQpfS5hbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHh9LmFsZXJ0SXRlbS1VUklqRUI5OHtkaXNwbGF5OmZsZXh9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OCwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlciwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4OmFmdGVyLFtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQYXVzZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlcixbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkKX0ucmVwbGF5TW9kZVBvaW50U2VsZWN0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OC5ibGlua2luZy1VUklqRUI5ODphZnRlcnthbmltYXRpb246YmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OCAxcyBjdWJpYy1iZXppZXIoLjc3LC4yMSwuMSwuNzQpIGluZmluaXRlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19Lm5vdEFjY3VyYXRlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0ubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5ub3RBY2N1cmF0ZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAub3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQpfS5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCl9Lm9wZW5lZEluRGV0YWNoZWRQaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5kZWxheS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKX0uZGVsYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZCl9LmVvZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0uZW9kLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZCl9LmRhdGFQcm9ibGVtSGlnaC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5kYXRhUHJvYmxlbUhpZ2gtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5kYXRhUHJvYmxlbUxvdy1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaGFzRXJyb3ItVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1vdGhlci1ub3JtYWwpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ib2xkKX1Aa2V5ZnJhbWVzIGJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi4zfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgYmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi41fTUwJXtvcGFjaXR5OjF9fQ=="}},"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/80097.0a3cfdc2802879522aec.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.458Z","timestamp":1785120763458,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/80097.0a3cfdc2802879522aec.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/ticker-tape/?locale=en\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 02:52:43 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-1a12\"\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:46\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e80463eeb39dccefb25bd393446bb719\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/runtime-embed_forex_cross_rates_widget.d7cd8bbba41a0d54656c.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.715Z","timestamp":1785120763715,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/runtime-embed_forex_cross_rates_widget.d7cd8bbba41a0d54656c.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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.500Z","timestamp":1785120762500,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /loader.js? HTTP/1.1\r\nHost: www.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://360trustwealthavenue.stglen.com/\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.446Z","timestamp":1785120763446,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: 20c974b42ce7dcc48a8631b14a96b020\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.454Z","timestamp":1785120763454,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: a6aff733ebfadd9ca986782dd14a8ccb\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/7278.738759ef0ac33469253b.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.490Z","timestamp":1785120763490,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/7278.738759ef0ac33469253b.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/ticker-tape/?locale=en\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 02:52:43 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-7592\"\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:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: edb5d544b54b982086a515a03de07286\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-07-27T05:14:11.3544Z","times_seen":17556491,"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.56093.a47a90809660f801c2ac.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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.515Z","timestamp":1785120763515,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/en.56093.a47a90809660f801c2ac.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/market-overview/?locale=en\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 02:52:43 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-1352\"\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:20:01\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 03acc530f9806313f1b695c4481d43f2\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/65862.95764752c09f3f18f890.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.752Z","timestamp":1785120763752,"http_version":"","security_state":"","security_info":null,"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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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.67","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/Gc2en3nHxA4","date":"2026-07-27T02:52:42.037Z","timestamp":1785120762037,"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: 347735\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-07-27T05:13:54.226554Z","times_seen":946887,"resource_available":false,"data":"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"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":1,"ssl":0},"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.233Z","timestamp":1785120762233,"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=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\ncontent-type: image/png\r\ncontent-length: 685\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 27 Apr 2022 07:39:01 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 03:49:26 GMT\r\netag: \"b9913f5599faab08d2addf87011c61e0\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 82997\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 0J2PpqCI_YP3X6EZ056TqzI3wLGjd6ZD4qqKvI8SHt11eLcraO5PNA==\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":685,"size_decoded":1180,"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-07-27T05:24:59.948252Z","times_seen":1362,"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":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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.096Z","timestamp":1785120763096,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: bc013ed13d97d11542df2363895fbb47\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-07-27T05:27:33.169673Z","times_seen":736,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"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/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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.516Z","timestamp":1785120763516,"http_version":"HTTP/2","security_state":"","security_info":null,"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/market-overview/?locale=en\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 02:52:43 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: 526dba5b591f55470e272804adc024ae\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/img/btc.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.004Z","timestamp":1785120761004,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/img/btc.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 9943\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":9943,"size_decoded":10353,"mime_type":"image/png","magic":"PNG image data, 130 x 112, 8-bit/color RGBA, non-interlaced","md5":"5374a5693d731829179b7b1222c003b3","sha1":"f2deda72886325c41ecaff74564c257d418dde51","sha256":"dbc8cd88ee3aed3ff59e0a3227902ab811fde23c9e43df50b9f9579b322318c6","sha512":"7814024b489685e694174b8db2c74378d35c8d66ebf0de8c0479b668cbca2b9b69e8177eeb1582b232084bb11a547251b8aa73a6d32e1ca2a663a0755b9c78dd","ssdeep":"192:bSDS0tKg9E05TOu8bpiZyf2bokaIjTUN+N8zz7:OJXE05K9EZrsHEs+G37","tlshash":"5522bf0dd3414ccfe5cb60828c8f9b0da695aaf850927c78dc1bb0ae6075f16175e3e2","first_seen":"2024-08-04T01:29:35Z","last_seen":"2026-07-27T05:24:59.951032Z","times_seen":928,"resource_available":false,"data":"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"}},"time_used":516,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":514,"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":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.159Z","timestamp":1785120762159,"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=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\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: Sun, 26 Jul 2026 04:36:19 GMT\r\ncache-control: max-age=86400\r\netag: \"f6894d3955fb14cdda30c8efa49a5096\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 80184\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: hQIc9h8rDFAPyCRAVj7EzNIizf3dMQM8Aa8WV4dtsKJCvxi4t2eleg==\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":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-07-27T05:24:59.869656Z","times_seen":1070,"resource_available":false,"data":"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"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":1,"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://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.102Z","timestamp":1785120763102,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 431e6b5b7242563658332259d9fc5548\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-27T05:19:37.070003Z","times_seen":815,"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":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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.112Z","timestamp":1785120763112,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: e01fde8adf734497fd2b9e087796b17c\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-27T05:19:37.163595Z","times_seen":466,"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":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/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://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.473Z","timestamp":1785120763473,"http_version":"HTTP/2","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\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 02:52:43 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: 35be1f5e9ce909556e57670af82ccac3\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-07-27T05:14:11.3544Z","times_seen":17556491,"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.085Z","timestamp":1785120763085,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 945121eb39221b4876ebf8862ca75016\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":1162,"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-07-27T05:26:55.744576Z","times_seen":1023,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVFdVdDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1UV1V0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKX1ib2R5LmV4dGVuc2lvbnttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59aW1ne2JvcmRlcjpub25lfXRleHRhcmVhe3Jlc2l6ZTpub25lfTpmb2N1c3tvdXRsaW5lOm5vbmV9aW5wdXQsdGV4dGFyZWF7Ym9yZGVyLXJhZGl1czowfS51bnNlbGVjdGFibGV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnNlbGVjdGFibGUsaW5wdXQsdGV4dGFyZWF7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5sb2FkaW5nLWluZGljYXRvcntiYWNrZ3JvdW5kOnZhcigtLV8wLVRXVXQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxNTB9LmZhbGxpbmcsLmdyb3dpbmd7Y29sb3I6I2ZmZn0uZ3Jvd2luZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWxlZ2FjeS1zdWNjZXNzKX0uZmFsbGluZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCl9"}},"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_ticker_tape_widget.965c90dc6d41319f132d.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.497Z","timestamp":1785120763497,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/embed_ticker_tape_widget.965c90dc6d41319f132d.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/ticker-tape/?locale=en\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 02:52:43 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-4e48\"\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:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: efdf0b5467f0f916e65f080f852b8a66\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-07-27T05:14:11.3544Z","times_seen":17556491,"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.39147.30b888a5ea9796cb7d58.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.735Z","timestamp":1785120763735,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/en.39147.30b888a5ea9796cb7d58.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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/imge2.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.992Z","timestamp":1785120760992,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/imge2.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 5832\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":5832,"size_decoded":6243,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 183x275, components 3","md5":"7da79b57a346b80d9d9f7cce71a65d4c","sha1":"c4a6a77d457871787353a87cdc827ddbba0721dd","sha256":"bff4d7750bf34fad9462ba328d301e46977019a9b3decafdfc84698fea0db6a4","sha512":"57a322c4d38b775d6fa3cfc693da82c3d715ae8161b3c6446fc50f825935e5a1560785ad5860cae0a6797e3d3507eb5d903431e0f26b2bb22e0576eff42af0d4","ssdeep":"96:CyLRTS6uzjnPKi/pwBw+EtYKiYMoC/CNY/fl+gKJb/V3OFy+To2c+00FtElny2Lb:CwejTNpwPtOV/MTU+3EVnb","tlshash":"b7c17dc836937b66ddb14f32413b8e1f1966d6272e448783c1893aef65a76835e24e00","first_seen":"2024-08-19T14:44:35.699622Z","last_seen":"2026-07-27T05:24:59.95157Z","times_seen":935,"resource_available":false,"data":"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"}},"time_used":485,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":429,"receive":56,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.181Z","timestamp":1785120762181,"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=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\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: Sun, 26 Jul 2026 03:25:03 GMT\r\ncache-control: max-age=86400\r\netag: \"51cec93b9021a4e88470ef0ff6a4ff76\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 84480\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Ifx5wyOZ69x-MVbYuM1dJVLxrmCgKZghBdo5nmtiy_E_c8dGhIuheg==\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-07-27T05:24:59.933768Z","times_seen":1122,"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":"s2.coinmarketcap.com/static/img/coins/64x64/5994.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.227Z","timestamp":1785120762227,"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=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\ncontent-type: image/png\r\ncontent-length: 3014\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:35 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 04:08:35 GMT\r\ncache-control: max-age=86400\r\netag: \"570db8310832b88c50ab986a819a0764\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 81848\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 2CqRPfrpa5iJJn1a-kDFpGeft1cXvaEvWzFnVoUWue7Qy_4E-p4tEw==\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":3540,"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-07-27T05:24:59.939108Z","times_seen":1250,"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":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":"s2.coinmarketcap.com/static/img/coins/64x64/27772.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.238Z","timestamp":1785120762238,"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=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\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: 67926\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: bWRql7ttk_cslyozpf3kZFoaNxDQnIlSPksWceit1KStdLFilsE86Q==\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":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-27T05:24:59.882114Z","times_seen":996,"resource_available":false,"data":"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"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/6636.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.266Z","timestamp":1785120762266,"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=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\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: 70726\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: vvkI8iojyOxq8LKJD_h0JkF0vlQzo055WS9EAR1oJP60gbHRhofkfw==\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":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-07-27T05:24:59.833479Z","times_seen":1092,"resource_available":false,"data":"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"}},"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/94825.8a90c0c3ebd413eb9c81.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.563Z","timestamp":1785120763563,"http_version":"","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/api/v1/widget?legacy_id=859\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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:42.904Z","timestamp":1785120762904,"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?legacy_id=859\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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _ga_V84XP8WGXY=GS2.1.s1785120762$o1$g0$t1785120762$j60$l0$h0; _ga=GA1.1.874283178.1785120762\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: 370\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 02:52:42 GMT\r\netag: W/\"OzYy03LQaDDu+ili7qsFv25vC6Q=\"\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::wts6t-1785120762911-256b4a05dd5d\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=6v2l4Rl%2B55shvInGzCZZbhXpJKMyM5E5oa96rRwSdIW1bc039S1v2uLLSHdu%2FWJnMUCNABDQ3pO%2Bn4S9HIwPu%2BMFhq5yrS0b%2FJDxKaLgquBGNwdEkvfRTyfhyFPq\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21859802c210daa-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":820,"size_decoded":2542,"mime_type":"application/json","magic":"JSON text data","md5":"1622278b2e0921642e36bbcb4925b10a","sha1":"3b3632d372d06830eefa2962eeab05bf6e6f0ba4","sha256":"6edbb115560d3a6cf5d7c870b9fa33e96855472b83a96ad9ac9e5a3929ae82c8","sha512":"25b22a550f62009bb898e455279a747c3f4f80d886b7815b2ffd0b41c2c195ab8c9a1da67aff04973c458590c0fdd9a5fcf3e0ea86ba587ad5cbbdf9dd2a2a5b","ssdeep":"","tlshash":"79011ec378f0985bc4715094aab2299c2c3fa38e18aa4d7342dcca2d059fd915b6be25","first_seen":"2026-07-27T02:53:32.42478Z","last_seen":"2026-07-27T02:53:32.42478Z","times_seen":1,"resource_available":false,"data":"eyJkYXRhIjp7ImlkIjoxLCJzbHVnIjoiYml0Y29pbiIsInN5bWJvbCI6IkJUQyIsIm5hbWUiOiJCaXRjb2luIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMS5wbmciLCJwcmljZV91c2QiOjY1MjAyLjkyMzcyNTM4NTg3LCJtYXJrZXRfY2FwIjoxMzA4MDg2Mzg1MTIwLjg1Mywidm9sdW1lXzI0aCI6MTU0NjQ2MDkyNTcuNDE3OTE3LCJyYW5rIjoxLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4yNDU5NjQzMywicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjI3NTI1NDExLCJwZXJjZW50X2NoYW5nZV83ZCI6MC42MDEyNjY5OCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMDA2MTc3NSwidG90YWxfc3VwcGx5IjoyMDA2MTc3NSwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6WzY0Mzk0LDY0NzI5LDY0NDk3LDY0NzYzLDYzOTM4LDYzOTg4LDY0MTA0LDY1MzQ3LDY1MDIyLDY1MzY1LDY1MjM5LDY1NDc2LDY2MTY0LDY2MTk1LDY2Njg0LDY2MTk2LDY2NDQxLDY2Njc0LDY2MzMwLDY1OTI2LDY1OTkzLDY1NjA3LDY2MDEwLDY1NzI1LDY2MDE3LDY2MDkzLDY1NTU5LDY1Njc2LDY0OTg3LDY0NzA2LDY0Njg2LDY1MDcyLDY0OTM1LDY1Mzc4LDY1NzA5LDY1MDYzLDYzNzY5LDY0MTc1LDY0MDgyLDY0MTAzLDYzOTc0LDY0MDg4LDYzODYyLDY0MDM3LDY0MTcwLDY0MzgyLDY0Mjc0LDY0NDI4LDY0NDY3LDY0MjQ3LDY0NDYzLDY0NDc3LDY0NzAyLDY0NjA3LDY1MzAwLDY1MTY5XX0sImN1cnJlbmN5Ijp7ImNvZGUiOiJVU0QiLCJzeW1ib2wiOiIkIiwicmF0ZSI6MX0sImVycm9yIjpudWxsfQ=="}},"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":"www.tradingview-widget.com/static/bundles/embed/87995.911b26181778fecc4b4e.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.560Z","timestamp":1785120763560,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/87995.911b26181778fecc4b4e.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/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/80594.e87444e26f9e12545231.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.762Z","timestamp":1785120763762,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/80594.e87444e26f9e12545231.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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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.150.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/Gc2en3nHxA4","date":"2026-07-27T02:52:42.028Z","timestamp":1785120762028,"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/Gc2en3nHxA4\r\nCookie: __Secure-YNID=20.YT=bAUqAsWtUq0QI5lnbjhRqZxHGZTeQ44xv158_wDI-OREM7hGFwdQh-Fnn22UwtwKdRs2XmKd7gTrEAoqaDWooWex7Ez6kTDTNUcX8LsL0A97B1hbdocm9avbwiNvbxX0qKi_6wfFS1CnewvwpgMiqR_UIe99ateBO-McP73c1Zzq_nQj0oz29qM3VrxL5dXw0BXSrEg6LS26egZNxmOWqDoWCXOgjnuJW9prHYJaiNfGFA8qaLg9BKawO80BA2HUa848WVC3wn7FXVdvLYKmvluEfWi0SBv3Xu-C7jzQzWIv3w_HURzWyX7xi17bUcvikavkbkw21f4nJLdMk19TRw; YSC=FCnieG1ugZQ; __Secure-ROLLOUT_TOKEN=CM2d7q3Og7rzjQEQvpaNh-3xlQMYvpaNh-3xlQM%3D; VISITOR_INFO1_LIVE=WjWmnUIpJks; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgTg%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 12:57:12 GMT\r\nexpires: Sat, 24 Jul 2027 12:57:12 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: 222930\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-27T05:15:36.964531Z","times_seen":332,"resource_available":false,"data":"OnJvb3R7LS10N2Y0ZjJjNmQ1NDgzNmNlMDppbml0aWFsOy0tdDdkOGI4ZTVlZTI5MWFlYzA6aW5pdGlhbDstLXQ0NzI2YzY4ZWY2ZDdiMDhmOmluaXRpYWw7LS10ZjBhMGQxMTU0ODI3ODQ3Zjppbml0aWFsOy0tdDNlNDFkN2IxN2IxODdmNjk6aW5pdGlhbDstLXRmZjY1OTkzMzg0YmI0NTYwOmluaXRpYWw7LS10ZTI4NjdiMTNkNzcxZDA1NTppbml0aWFsOy0tdDkzM2Q3OTIyZjMxNThkYzU6aW5pdGlhbDstLXQyNjRlMmM5Y2I4Nzg5MWY5OmluaXRpYWw7LS10MjA2ZjNmYTJlMDFhZjIyZDppbml0aWFsOy0tdDM0ZjQ2ZjBmMmMxM2QzMjg6aW5pdGlhbDstLXQ4NTRjNzkzMzhkOGNhOGE3OmluaXRpYWw7LS10MjA0ODA3MTdkZTgwZjU1NTppbml0aWFsOy0tdDJkODA3YmI3OWU3NTYwNmQ6aW5pdGlhbDstLXQ2MTdkYjc3NmFmMGRlMTk2OmluaXRpYWw7LS10YjYyODExN2ZjMTY0YWQ4Nzppbml0aWFsOy0tdGQ1NDVkZjA0ZTJjNjU5ZDc6aW5pdGlhbDstLXQ1Mzk5MWQ1OTliMTQ4OGY1OmluaXRpYWw7LS10YTg4OWRmZGE5NjA1YTM1ODppbml0aWFsOy0tdDU5NzhkYThkNTg0YjhmZTk6aW5pdGlhbDstLXQxMjRiN2RhZmU5YmMzNjZkOmluaXRpYWw7LS10ZGJlNTBkMjdkNTFmNTA5Mzppbml0aWFsOy0tdGE1NjRkODIxMmJjY2IxNmE6aW5pdGlhbDstLXQ5OWY3NzQ2ODRjYmI5NzAzOmluaXRpYWw7LS10NGU2ZGY5YjJiNmI5N2UwMDppbml0aWFsOy0tdGI4YjMxYWM1NjJmYmU5YjU6aW5pdGlhbDstLXQ1ODg0NjcyMDA0ZDU2MTIwOmluaXRpYWw7LS10ZWY3MGNhMjQ1NDQ1YjUyYjppbml0aWFsOy0tdDRmMDkyMmU1YTNkMGMyMGY6aW5pdGlhbDstLXQ3ZGZhNmY4NGM5MzQ2ZWRmOmluaXRpYWw7LS10ZWNiZGY5MjRiNjNiMjdmYzppbml0aWFsOy0tdDE0MDVlNzBhMzkyNzYyOTM6aW5pdGlhbDstLXRhZDg0NDNmYWVkNjZjMTExOmluaXRpYWw7LS10ZTZkMmI0MjhkZTY4NTU0YTppbml0aWFsOy0tdGM5ODBjNTQ3ODEyNGM4Yzc6aW5pdGlhbDstLXQ5NjU2NDRlY2RiZTRiN2I4OmluaXRpYWw7LS10YjE0YTEwYzNiNDNhMTVhMzppbml0aWFsOy0tdGIxM2ZmODc5NzgyOWU3OWU6aW5pdGlhbDstLXRlNTY2OGU2MTExYWJhMGVkOmluaXRpYWw7LS10YTdkNjI4ZmFjZmU4NGQxODppbml0aWFsOy0tdGJlNDIyNjk1MzQ2NTVlNjc6aW5pdGlhbDstLXRhYjgwNTkyMzYwNjNjYWRiOmluaXRpYWw7LS10NzM1ZTQzNWE4YjdhZDY3Yzppbml0aWFsOy0tdDIxYWYwOGZkYmY2YTE0MDY6aW5pdGlhbDstLXRjNjA0MTEzZDA5ZmVlMDVkOmluaXRpYWw7LS10MDhhN2M2YzE3NmNiYzVjMjppbml0aWFsOy0tdDhjZGM5ODQ2YTc2Y2FmMWY6aW5pdGlhbDstLXRlMWI2NGU2OTcxMDQwMzk2OmluaXRpYWw7LS10NDE2ZTU5MzFmYzQ2NDU4OTppbml0aWFsOy0tdGI3ZDc0YmIzMjkxYzk1MWQ6aW5pdGlhbDstLXRmM2ZjODU1YWYyMjg1ZjVmOmluaXRpYWw7LS10MGExMjQ5ZjdjOWU4MmI1ZTppbml0aWFsOy0tdDAyYzBhMmM4NjhjMTRjZTg6aW5pdGlhbDstLXRkODU2MmNkYzIwM2JjNjgzOmluaXRpYWw7LS10NTNkZGE5MTI1ZThkMTMyNDppbml0aWFsOy0tdDU0NGUzMTcxNGY2M2Q1M2M6aW5pdGlhbDstLXQ4N2VhYmYxMTNhMTVhYzk2OmluaXRpYWw7LS10ODU4YjgwOWY4MDQ0ZTk2Mjppbml0aWFsOy0tdDBmNTkyOTFjZTU1MDQ1NDM6aW5pdGlhbDstLXRmYWFlOTY2OTJjYzE4MmU0OmluaXRpYWw7LS10NTE4ZTkyNWY2MWJkY2I5MTppbml0aWFsOy0tdGI5MjdmNWMwMTQ5MDA0YzY6aW5pdGlhbDstLXQ4MzJmMjJjZTY2MThlOTllOmluaXRpYWw7LS10NDViMmEzODMxNDkyNDM1Nzppbml0aWFsOy0tdDY5MzFhYTE4MjZiMzczYjI6aW5pdGlhbDstLXRlZDQyMzY1MzY4OTllNGIzOmluaXRpYWw7LS10ZGM4YWY2NzUwZjBkYWQwZDppbml0aWFsOy0tdDM0MTBjOTE2NDllNWViOGE6aW5pdGlhbDstLXQ0YWVhYTg1N2RlOGE3ODZiOmluaXRpYWw7LS10Mjk2YzdmODFkZDA5YTljMzppbml0aWFsOy0tdGZhMzQ3NWM1MDhmNWRmZWY6aW5pdGlhbDstLXQ5YmMwYjc0MDI0MmRhMDE3OmluaXRpYWw7LS10NDQxYTBlNDRlNDk1MzgxYTppbml0aWFsOy0tdGRlNDEzMzhmYzJiZDRiYTU6aW5pdGlhbDstLXQ0ZDc3NzZjMjhkYjIxMTIyOmluaXRpYWw7LS10N2UzNGQ1YmFhNGVhNjI3Nzppbml0aWFsOy0tdGM0YjI2MDQyZDRjYjE0MWY6aW5pdGlhbDstLXQ1MjA4ZmQxNzdhNzg4Y2ZhOmluaXRpYWw7LS10ZmZjMmZkM2E2NDRmNjI3NTppbml0aWFsOy0tdDYyMTYxODZjMjhiMzgzNGI6aW5pdGlhbDstLXQ0YTZkYTE5ZTE2YmYyMjFhOmluaXRpYWw7LS10ZDljMTlmNGY4Y2VjZDU2ZTppbml0aWFsOy0tdDNmM2JkYjQxNDBkM2VhZDc6aW5pdGlhbDstLXQ5MDRhODhjNjIzY2EyN2FiOmluaXRpYWw7LS10MmMzYmJmZjZjMTVhM2ViMjppbml0aWFsOy0tdDBjY2QxYWNlMDAwZDVlOTM6aW5pdGlhbDstLXRjODdmNmE3ZjA1ZTY1ZmM0OmluaXRpYWw7LS10YzA0YmEzZTczNTYxOTUzYzppbml0aWFsOy0tdDdjNDk2NWMxMWY4NTM3YzA6aW5pdGlhbDstLXQ0MzJmYmRiZDdmMmYzZjcxOmluaXRpYWw7LS10YWYxYmRkOTYxNDIzYzE1Zjppbml0aWFsOy0tdDlkN2JkY2FlZmM5NzVkNDQ6aW5pdGlhbDstLXQ0ZmIwZjY3YjI1MWUxYTQyOmluaXRpYWw7LS10YTA4ZTAzNjQxMGMxNDUzODppbml0aWFsOy0tdDdmOWI3ZTE2MDNlMjBiOTQ6aW5pdGlhbH0uZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjE2cHg7bWFyZ2luOjAgYXV0bztvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87Zm9udC1zaXplOjEuM3JlbTtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6bm9uZX0uZGlhbG9nLm1vZGVybi1kaWFsb2d7Ym94LXNoYWRvdzowIDAgMjRweCAxMnB4IHJnYmEoMCwwLDAsMC4yNSl9LmRpYWxvZy5yb3VuZGVkLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjEycHh9LmRpYWxvZy5tb2Rlcm4tZGlhbG9nLWxheW91dHtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czoyNHB4fS5kaWFsb2ctYm9keXtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47bWF4LWhlaWdodDozMDBweDttYXgtaGVpZ2h0OjEwMHZofS5kaWFsb2cuc2Nyb2xsYWJsZSAuZGlhbG9nLWJvZHl7b3ZlcmZsb3cteTp2aXNpYmxlO292ZXJmbG93LXg6dmlzaWJsZTttYXgtaGVpZ2h0OnVuc2V0fS5kaWFsb2ctY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjR9LmRpYWxvZy1oZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kaWFsb2ctYnV0dG9ucywuZGlhbG9nLWhlYWRlcntmbGV4LXNocmluazowfS5kaWFsb2ctYnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjEycHh9LmRpYWxvZy1idXR0b25zPip7bWFyZ2luLWxlZnQ6OHB4fS5kaWFsb2ctYnV0dG9ucz46Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uZGlhbG9nLWZsZXgtYnV0dG9uey1tb3otYm94LWZsZXg6MTtmbGV4OjF9LmRpYWxvZy1mbGV4LWJ1dHRvbiAuYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbjowfS5kaWFsb2ctYm9keSBhLC5kaWFsb2ctaGVhZGVyIGF7Y29sb3I6IzA2NWZkNH0uZGlhbG9nLWJvZHkgeXRtLW1lbnUtaXRlbSBhe2NvbG9yOmN1cnJlbnRjb2xvcn1AbWVkaWEgKG1pbi13aWR0aDozMzBweCkgYW5kIChtaW4taGVpZ2h0OjMzMHB4KXsuZGlhbG9ne21pbi13aWR0aDoyNTBweDttYXgtd2lkdGg6MzU2cHh9LmRpYWxvZy1jb250YWluZXJ7bWFyZ2luOjAgNDBweDtwYWRkaW5nOjA7cGFkZGluZzowIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfX0uZGlhbG9nLWZ1bGxzY3JlZW57bWluLXdpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDtoZWlnaHQ6MXB4fS5kaWFsb2ctZnVsbHNjcmVlbj4uZGlhbG9nLWJvZHl7aGVpZ2h0OjEwMCV9LmRpYWxvZy5tb2Rlcm4tZGlhbG9nLWxheW91dC5kaWFsb2ctZnVsbHNjcmVlbntib3JkZXItcmFkaXVzOjB9LmRpYWxvZy1jb250YWluZXIuZGlhbG9nLWZ1bGxzY3JlZW57bWFyZ2luOjB9YzMtdG9hc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MTRweCAyNHB4O2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMwZjBmMGY7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtO21hcmdpbi1ib3R0b206LTEwMCV9YzMtdG9hc3QuaHVnLXRvYXN0e21heC13aWR0aDozNDRweH1jMy10b2FzdC5pbnZlcnNlLXRoZW1le2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMDMwMzAzfWMzLXRvYXN0LmludmVyc2UtdGhlbWUgLmJ1dHRvbi13aXRoLWljb257Y29sb3I6IzA2NWZkNH1baGFzLXNhZmUtYXJlYS1pbi1tYXg9dHJ1ZV0gYzMtdG9hc3R7cGFkZGluZzoxNHB4IDI0cHg7cGFkZGluZzoxNHB4IG1heCgyNHB4LGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKSAxNHB4IG1heCgyNHB4LGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpfVtoYXMtcGl2b3QtYmFyPXRydWVdIGMzLXRvYXN0ey0tc2FmZS1hcmVhLWluc2V0LXRvcDplbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7LS1zYWZlLWFyZWEtaW5zZXQtYm90dG9tOmVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtib3R0b206NDhweDtib3R0b206Y2FsYyg0OHB4ICsgdmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO21hcmdpbi1ib3R0b206LTEwMCU7bWFyZ2luLWJvdHRvbTpjYWxjKC0xMDAlICsgdmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO3otaW5kZXg6Mn1bbW9kYWwtb3Blbi1ib2R5XSBjMy10b2FzdCxbc2hvcnRzLXBsYXllcj10cnVlXSBjMy10b2FzdHtib3R0b206OHB4O21hcmdpbi1ib3R0b206LTEwMCU7ei1pbmRleDo1fWMzLXRvYXN0W2Rpcj1vdXRde3RyYW5zaXRpb246bWFyZ2luIDE5NW1zIGN1YmljLWJlemllciguNCwwLDEsMSl9YzMtdG9hc3RbZGlyPWluXXt0cmFuc2l0aW9uOm1hcmdpbiAyMjVtcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO21hcmdpbi1ib3R0b206MH1Aa2V5ZnJhbWVzIHNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LnNwaW5uZXJXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LnNwaW5uZXJ7ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjEycHggYXV0bzt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoycHggc29saWQgI2VlZTtib3JkZXItdG9wLWNvbG9yOiM2NjY7YW5pbWF0aW9uOnNwaW5uZXIgLjhzIGxpbmVhciBpbmZpbml0ZX0uc3Bpbm5lcj4uaGlkZGVue2Rpc3BsYXk6bm9uZX0uc3Bpbm5lcjpub3QoW2hpZGRlbl0pe2NvbG9yOiMzMzM7Zm9udC1zaXplOjEuNnJlbX1odG1se2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmfWJvZHl7bWFyZ2luOjA7cGFkZGluZzowO3BhZGRpbmc6MCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtmb250LXNpemU6MS4ycmVtO292ZXJmbG93LXg6aGlkZGVufVtoaWRkZW5dW2hpZGRlbl17ZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVufXl0bS1hcHA+LnNwaW5uZXJ7bWFyZ2luLXRvcDoxMDBweH15dG0taGVhZGVye2Rpc3BsYXk6YmxvY2t9aGVhZGVye2hlaWdodDo0OHB4fS5wbGF5ZXItY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O3JpZ2h0OjA7cmlnaHQ6ZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7bGVmdDowO2xlZnQ6ZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoyfVtoYXMtcGxheWVyLWN1c3RvbS1jb250cm9sPXRydWVdIC5wbGF5ZXItY29udGFpbmVye292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fSNwbGF5ZXIuaW5saW5lLXBsYXllci1oaWRkZW4sLmlubGluZS1wbGF5ZXItaGlkZGVue29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206NTYuMjUlO292ZXJmbG93OmhpZGRlbn0ucGxheWVyLWNvbnRhaW5lciAjcGxheWVyLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5wbGF5ZXItY2luZW1hdGljc3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDojMDAwfS5wbGF5ZXItY2luZW1hdGljc34jcGxheWVyLnBsYXllci1zaXplLC5wbGF5ZXItY2luZW1hdGljc34ucGxheWVyLXNpemV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ucGFnZS1zaG9ydHMgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5wYWdlLXNob3J0cyB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOjB9LnBsYXllci1jb250YWluZXIgLnBsYXllci1hcGl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5wbGF5ZXItYXBpW2hpZGRlbl0sLnBsYXllci1hcGlbbG9hZGluZz10cnVlXSwucGxheWVyLWFwaVtwbGF5YWJsZT1mYWxzZV17ZGlzcGxheTpub25lfSNwbGF5ZXIuaW5saW5lLW9uLXRodW1ibmFpbHtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9LnBsYXllci1jb250YWluZXIgLmh0bWw1LXZpZGVvLXBsYXllcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH15dG0tYXBwe2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteDpoaWRkZW59W2hhcy1zb2Z0LWJhcj10cnVlXSB5dG0tYXBwe3BhZGRpbmctYm90dG9tOjMwcHh9W2hhcy1waXZvdC1iYXI9dHJ1ZV0geXRtLWFwcHtwYWRkaW5nLWJvdHRvbTo0OHB4fXl0bS1oZWFkZXIuaXMtYXV0b21vdGl2ZSx5dG0taGVhZGVyLnN0aWNreS1wbGF5ZXIseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuaXMtYXV0b21vdGl2ZSx5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zaG9ydHMtdG9wYmFyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo0O3BhZGRpbmc6MDtwYWRkaW5nOjAgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgMCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfXl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXIub3V0e3RvcDotNDhweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAxOTVtcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfXl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXIuaW57dG9wOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMjI1bXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbH0ucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDo0OHB4O3JpZ2h0OjA7cmlnaHQ6ZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7bGVmdDowO2xlZnQ6ZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoyfS5wbGF5ZXItY29udGFpbmVyLmhlYWRlci1pbi1wbGF5ZXIsLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllci5oZWFkZXItaW4tcGxheWVye3RvcDowfXl0bS1hcHAuaXMtYXV0b21vdGl2ZSx5dG0tYXBwLnN0aWNreS1wbGF5ZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDo0OHB4fXl0bS1hcHAuaXMtYXV0b21vdGl2ZS5oZWFkZXItaW4tcGxheWVyLHl0bS1hcHAuc3RpY2t5LXBsYXllci5oZWFkZXItaW4tcGxheWVye3BhZGRpbmctdG9wOjB9QG1lZGlhIChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXtib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MjU2cHh9Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAyNTZweCl9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lcixib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MjU2cHh9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjU2cHgpfS5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDMzNnB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItYWxsLWxhbmRzY2FwZS10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lcntib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjE2Lzkpey5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOnVuc2V0O2FzcGVjdC1yYXRpbzoxNi85fX0ubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwc3ZoIC0gNDhweCl9fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoyMS8xMCkgYW5kIChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lcntib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTYvOSkgYW5kIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjMzNnB4fS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjMzNnB4fS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn1Ac3VwcG9ydHMgKGFzcGVjdC1yYXRpbzoxNi85KXsubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206dW5zZXQ7aGVpZ2h0OmF1dG87YXNwZWN0LXJhdGlvOjE2Lzl9fX1AbWVkaWEgKG1pbi13aWR0aDoxMjgwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXtib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lcixib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfS5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDo1MDBweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDUwMHB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDo1MDBweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuc2hvcnRzLXRvcGJhcntyaWdodDo3MnB4fS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOmNhbGMoNTYuMjUlIC0gOTZweCl9Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIHl0bS13YXRjaCAucGxheWVyLXNpemV7aGVpZ2h0OmNhbGMoNTYuMjV2dyAtIDk2cHgpO3BhZGRpbmctYm90dG9tOnVuc2V0O21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO21heC1oZWlnaHQ6Y2FsYygxMDBzdmggLSA0OHB4KX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9fUBtZWRpYSAobWF4LXdpZHRoOjMyMHB4KSBhbmQgKG1heC1oZWlnaHQ6MjQwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLWFwcHtwYWRkaW5nLXRvcDo0OHB4fXl0bS1oZWFkZXIseXRtLWhlYWRlci1iYXIseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo0fX0uY29udGVudC1lcnJvcntmb250LXNpemU6MS40cmVtO3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcn0jcGxheWVyLXRodW1ibmFpbC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO29iamVjdC1maXQ6Y292ZXI7bWluLWhlaWdodDowfSNwbGF5ZXItY29udGFpbmVyLWlkW3BsYXlhYmxlPXRydWVdICNwbGF5ZXItdGh1bWJuYWlsLW92ZXJsYXl7dmlzaWJpbGl0eTpoaWRkZW59Ym9keS5wYWdlLXNob3J0cyxodG1sW3BhZ2Utc2hvcnRzXXtvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6bm9uZX1ib2R5LmxvYWRpbmcucGFnZS1zaG9ydHMgI2hlYWRlcixib2R5LmxvYWRpbmcucGFnZS1zaG9ydHMgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye2Rpc3BsYXk6bm9uZX1ib2R5LnBhZ2Utc2hvcnRzICNwbGF5ZXItY29udGFpbmVyLWlkLGJvZHkucGFnZS1zaG9ydHMgLnBsYXllci1jb250YWluZXIgI3BsYXllcntoZWlnaHQ6MTAwJTt0b3A6MH0qey1tcy1mbGV4OjAgMSBhdXRvfWJ1dHRvbntwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2ZvbnQ6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0O2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1odG1se3dvcmQtd3JhcDpicmVhay13b3JkO2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHlbZGlzYWJsZS10YXAtaGlnaGxpZ2h0PXRydWVdIFtyb2xlPWJ1dHRvbl0sYm9keVtkaXNhYmxlLXRhcC1oaWdobGlnaHQ9dHJ1ZV0gYSxib2R5W2Rpc2FibGUtdGFwLWhpZ2hsaWdodD10cnVlXSBidXR0b257LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWh0bWxbZGFya2VyLWRhcmstdGhlbWVde2JhY2tncm91bmQtY29sb3I6I2ZmZn1odG1sLndhdGNoLXNjcm9sbHtzY3JvbGwtcGFkZGluZy10b3A6NDhweH1odG1sLndhdGNoLXNjcm9sbC5zdGlja3ktcGxheWVye3Njcm9sbC1wYWRkaW5nLXRvcDpjYWxjKDQ4cHggKyA1Ni4yNXZ3KX1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9aW5wdXQ6Zm9jdXN7bWFyZ2luLWJvdHRvbTowO2JvcmRlci1ib3R0b20td2lkdGg6MnB4O2JvcmRlci1ib3R0b20tY29sb3I6IzAzMDMwM31pbnB1dDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9dGV4dGFyZWF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nLWJvdHRvbTo0cHg7b3V0bGluZTpub25lOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbToxcHg7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO21pbi1oZWlnaHQ6OC40cmVtO3dpZHRoOjEwMCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7cGFkZGluZzo4cHh9dGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9dGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfWZvcm17bWFyZ2luOjB9YXtjb2xvcjpjdXJyZW50Q29sb3I7dGV4dC1kZWNvcmF0aW9uOm5vbmV9aDF7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDttYXJnaW4tYm90dG9tOjB9aDJ7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS44cmVtO21hcmdpbi1ib3R0b206MH1oM3tkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luLWJvdHRvbTowfWg0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuM3JlbTttYXJnaW4tYm90dG9tOjB9aW1ne21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHg7ZmlsdGVyOm5vbmV9aW1nOm5vdChbc3JjXSl7dmlzaWJpbGl0eTpoaWRkZW59OmZvY3Vze291dGxpbmU6bm9uZX1we21hcmdpbjowfS5pdGVte21hcmdpbi10b3A6MTJweDtkaXNwbGF5OmJsb2NrfS5pdGVtOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbToxMnB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lml0ZW17bWFyZ2luLXRvcDo4cHh9fS5pbWFnZS1vdmVybGF5LXRleHR7dGV4dC1zaGFkb3c6MXB4IDFweCBoc2xhKDAsMCUsNi43JSwuMiksLTFweCAxcHggaHNsYSgwLDAlLDYuNyUsLjIpLC0xcHggLTFweCBoc2xhKDAsMCUsNi43JSwuMiksMXB4IC0xcHggaHNsYSgwLDAlLDYuNyUsLjIpfSNwbGF5ZXItY29udHJvbC1jb250YWluZXJ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfVtkaXI9cnRsXSAjcGxheWVyLXNob3J0cy1jb250YWluZXJ7ZGlyZWN0aW9uOnJ0bH1bZmF1eC1mdWxsc2NyZWVuPXRydWVdICNwbGF5ZXItY29udHJvbC1jb250YWluZXIsW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAjcGxheWVyLFtzaG9ydHMtcGxheWVyPXRydWVdICNwbGF5ZXItc2hvcnRzLWNvbnRhaW5lcixbc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAjcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3BhZGRpbmctYm90dG9tOjB9Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXI6ZnVsbHNjcmVlbiAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemV7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlO2FzcGVjdC1yYXRpbzphdXRvfVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV1bZnVsbHNjcmVlbi1yZWplY3RlZD10cnVlXSAjYXBwe2Rpc3BsYXk6bm9uZX1bc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAuaHRtbDUtdmlkZW8tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lcixbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLFtzaG9ydHMtcGxheWVyPXRydWVdIC5wbGF5ZXItY29udGFpbmVyLFtzaG9ydHMtcGxheWVyPXRydWVdIHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyOm5vdCguc2hvcnRzLXRvcGJhcil7b3ZlcmZsb3c6dmlzaWJsZTt6LWluZGV4OjR9W3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLnl0cC11bm11dGUueXRwLXBvcHVwe3RvcDo3NXB4O2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCl9W3JvbGU9YnV0dG9uXSxidXR0b24saW5wdXRbdHlwZT1jaGVja2JveF0sc2VsZWN0e2N1cnNvcjpwb2ludGVyfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXXt3aWR0aDp2YXIoLS15dGQtc2hvcnRzLXBsYXllci13aWR0aCk7aGVpZ2h0OnZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLWhlaWdodCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXttYXJnaW4tcmlnaHQ6dmFyKC0tYWN0aW9uLWJ1dHRvbi1mdWxsLXdpZHRoLW5lZ2F0aXZlKTtwYWRkaW5nLXJpZ2h0OnZhcigtLWFjdGlvbi1idXR0b24tZnVsbC13aWR0aCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJde3dpZHRoOmNhbGModmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpICsgNzJweCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJdIC5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe21hcmdpbi1yaWdodDowO3BhZGRpbmctcmlnaHQ6MH15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcltpcy13ZWJdW2V4dHJhY3QtYWN0aW9uLWJhcl0gLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9uc3ttYXJnaW4tYm90dG9tOjE2cHh9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LW92ZXJsYXlde3dpZHRoOjEwMCV9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LW92ZXJsYXldIC5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe3dpZHRoOmNhbGMoKDEwMCUgLSBtYXgodmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpLCAzMTVweCkpLzIpO21hcmdpbi1yaWdodDptYXgodmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpLDMxNXB4KTtwYWRkaW5nLXJpZ2h0OjA7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjp1bnNldDttaW4td2lkdGg6MzYwcHg7bWF4LXdpZHRoOjQ4MHB4O3BhZGRpbmctbGVmdDoxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XSAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciBidXR0b246bm90KFthcmlhLXByZXNzZWQ9dHJ1ZV0pIGMzLWljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDZweCByZ2JhKDAsMCwwLC40KSl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXIgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7dGV4dC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsMC44KX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1tYWluLWNvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDplbmQ7LW1vei1ib3gtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNofS5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWluLXdpZHRoOjA7bWFyZ2luOjAgMCAxNnB4IDE2cHh9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbZGF0YS1oYXMtaW5mby1wYW5lbD10cnVlXSsuUHJvZ3Jlc3NCYXJTaG93aW5ne3BhZGRpbmctdG9wOjE2cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEgeXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7aGVpZ2h0OjI0cHg7cGFkZGluZzozcHggNHB4IDNweCAwfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjAgNHB4IDE2cHggNHB4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZy10b3A6MnB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb257bWFyZ2luOjAhaW1wb3J0YW50O21pbi13aWR0aDowO3RleHQtdHJhbnNmb3JtOm5vbmV9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAuYnV0dG9uLXdpdGgtaWNvbiAuYnV0dG9uLXJlbmRlcmVyLXRleHR7bWFyZ2luLXRvcDo3cHg7bWF4LXdpZHRoOjY0cHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlcnttYXgtd2lkdGg6NjRweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1ib3R0b20tc2hlZXQtcmVuZGVyZXIsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tbWVudS1yZW5kZXJlcnttYXJnaW4tdG9wOjRweDtkaXNwbGF5OmJsb2NrOy1tb3otYm94LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1yaWdodDo0cHg7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHBpdm90LWJ1dHRvbi12aWV3LW1vZGVsLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweDttYXJnaW46MH1AbWVkaWEgKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgcGl2b3QtYnV0dG9uLXZpZXctbW9kZWwsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYnV0dG9uLXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLXRvZ2dsZS1idXR0b24tcmVuZGVyZXJ7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4zZW19LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXJ7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjB9fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXIgLmljb24tYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyBidXR0b24+LmJ1dHRvbi13aXRoLWljb24taW5uZXJ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIHl0bS1wcm9maWxlLWljb257Ym9yZGVyOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24sLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tZm9yY2VkLW11dGUtbWVzc2FnZS1yZW5kZXJlcnttaW4taGVpZ2h0OjQwcHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAuYnV0dG9uLXdpdGgtaWNvbiAuYnV0dG9uLXJlbmRlcmVyLXRleHQsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtkaXNwbGF5Om5vbmV9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tbWVudS1yZW5kZXJlciAuaWNvbi1idXR0b257aGVpZ2h0OjMycHh9fS5sb2dvLWluLXBsYXllciwubW9iaWxlLXRvcGJhci1sb2dve2NvbG9yOiNmMDM7cGFkZGluZzowIDEycHg7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttYXJnaW4tbGVmdDotMXB4fS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ28sLm1vYmlsZS10b3BiYXItbG9nby5mdWxsLWxvZ297d2lkdGg6OTNweDtoZWlnaHQ6MjBweDtjb2xvcjojMDAwO21hcmdpbi1sZWZ0OjB9LmxvZ28taW4tcGxheWVyLnNob3J0cy1sb2dvLC5tb2JpbGUtdG9wYmFyLWxvZ28uc2hvcnRzLWxvZ297d2lkdGg6NzNweDtoZWlnaHQ6MjVweDtjb2xvcjojMDAwO21hcmdpbi1sZWZ0OjB9LmxvZ28taW4tcGxheWVyLmZ1bGwtbG9nby1yZWQsLm1vYmlsZS10b3BiYXItbG9nby5mdWxsLWxvZ28tcmVke3dpZHRoOjEwMXB4fS5sb2dvLWluLXBsYXllci1lbmRwb2ludCwubW9iaWxlLXRvcGJhci1oZWFkZXItZW5kcG9pbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDhweDt0ZXh0LWFsaWduOmxlZnR9LmxvZ28taW4tcGxheWVyLmZ1bGwtbG9nb3tjb2xvcjojZmZmfS5tb25vY2hyb21hdGljIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlcntkaXNwbGF5OmJsb2NrfXl0bS1zdWJzY3JpYmUtYnV0dG9uLXJlbmRlcmVyIC5idXR0b24tcmVuZGVyZXItaWNvbntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zdWJzY3JpYmUtYnV0dG9uLWNvdW50e2NvbG9yOiM2MDYwNjA7Zm9udC1zaXplOjEuNHJlbTttYXJnaW46MCA4cHh9QGtleWZyYW1lcyBub3RpZmljYXRpb24tYmVsbC1mYWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpub25lfX0ubm90aWZpY2F0aW9uLWJlbGwtY29udGFpbmVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo1O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OmhpZGRlbn0ubm90aWZpY2F0aW9uLWJlbGwtY29udGFpbmVyLmhpZGRlbntkaXNwbGF5Om5vbmV9Lm5vdGlmaWNhdGlvbi1iZWxse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDotMnB4O2FuaW1hdGlvbjpub3RpZmljYXRpb24tYmVsbC1mYWRlLWluIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ubW9kZXJuLXN1YnNjcmliZS1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtwYWRkaW5nLWxlZnQ6MH0uWXRtVmlkZW9JbmZvRXhwYW5kZWQgLm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0LC55dG1WaWRlb0luZm9FeHBhbmRlZCAubW9kZXJuLXN1YnNjcmliZS1idXR0b24gLnl0QXR0cmlidXRlZFN0cmluZ0hvc3R7dHJhbnNpdGlvbjpub25lfS53aXRoLW5vdGlmaWNhdGlvbi1iZWxsIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3BhZGRpbmctbGVmdDoyNHB4fS55dENvcmVJbWFnZUhvc3R7dmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLWhlaWdodDoxcHg7bWluLXdpZHRoOjFweH0ueXRDb3JlSW1hZ2VMb2FkZWR7dmlzaWJpbGl0eTppbmhlcml0fS55dENvcmVJbWFnZUZpbGxQYXJlbnRIZWlnaHR7aGVpZ2h0OjEwMCV9Lnl0Q29yZUltYWdlRmlsbFBhcmVudFdpZHRoe3dpZHRoOjEwMCV9Lnl0Q29yZUltYWdlT2JqZWN0UG9zaXRpb25Ub3BMZWZ0e29iamVjdC1wb3NpdGlvbjp0b3AgbGVmdH0ueXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcFJpZ2h0e29iamVjdC1wb3NpdGlvbjp0b3AgcmlnaHR9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZVRvRmlsbHtvYmplY3QtZml0OmZpbGx9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpdHtvYmplY3QtZml0OmNvbnRhaW59Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpbGx7b2JqZWN0LWZpdDpjb3Zlcn0ueXRDb3JlSW1hZ2VDb250ZW50TW9kZUNlbnRlcntvYmplY3QtZml0Om5vbmU7b2JqZWN0LXBvc2l0aW9uOmNlbnRlciBjZW50ZXJ9Lnl0Q29yZUltYWdlRmxpcFJ0bHt0cmFuc2Zvcm06c2NhbGVYKC0xKX0ueXRDb3JlSW1hZ2VHcmFkaWVudENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dENvcmVJbWFnZUdyYWRpZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfTpyb290ey0teXQtYXR0cmlidXRlZC1zdHJpbmctbGluay1ob3Zlci1jb2xvcjp1bnNldH0ueXRBdHRyaWJ1dGVkU3RyaW5nSW5saW5lQmxvY2tNb2R7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50Qm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0ueXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCYXNlbGluZXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRWZXJ0aWNhbENlbnRlcnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0uMDdlbX0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlzdEdyb3Vwey1tb3otcGFkZGluZy1zdGFydDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmt7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTppbmxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvcntjb2xvcjojMDY1ZmQ0fS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rT3ZlcmxheUNhbGxUb0FjdGlvbkNvbG9ye2NvbG9yOiMzZWE2ZmZ9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtbcm9sZT1idXR0b25de2N1cnNvcjpwb2ludGVyfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rSW5oZXJpdENvbG9yIC55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rQ2FsbFRvQWN0aW9uQ29sb3J7Y29sb3I6aW5oZXJpdH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciAueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9yOmhvdmVye2NvbG9yOnZhcigtLXl0LWF0dHJpYnV0ZWQtc3RyaW5nLWxpbmstaG92ZXItY29sb3IpfS55dEF0dHJpYnV0ZWRTdHJpbmdFbGxpcHNpc1RydW5jYXRle2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dEF0dHJpYnV0ZWRTdHJpbmdXaGl0ZVNwYWNlTm9XcmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ueXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZVByZVdyYXB7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lnl0QXR0cmlidXRlZFN0cmluZ0lnbm9yZVNwbGl0TGluZXN7d2hpdGUtc3BhY2U6bm9ybWFsfS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGVmdHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246bGVmdH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudFJpZ2h0e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpyaWdodH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudENlbnRlcntkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyfS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50SnVzdGlmaWVke2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpqdXN0aWZ5fS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGF5b3V0U3RhcnR7ZGlzcGxheTpibG9jazthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRVbmtub3due2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjppbmhlcml0fS55dEF0dHJpYnV0ZWRTdHJpbmdXb3JkV3JhcHBpbmd7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ueXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lZHstbW96LXRleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZTt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2h7LW1vei10ZXh0LWRlY29yYXRpb24tbGluZTpsaW5lLXRocm91Z2g7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bGluZS10aHJvdWdofS55dEF0dHJpYnV0ZWRTdHJpbmdVbmRlcmxpbmVTdHJpa2V0aHJvdWdoey1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lIGxpbmUtdGhyb3VnaDt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmUgbGluZS10aHJvdWdofS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVOb25le3RleHQtZGVjb3JhdGlvbjpub25lfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVTaW5nbGV7LW1vei10ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVEb3R7LW1vei10ZXh0LWRlY29yYXRpb24tc3R5bGU6ZG90dGVkO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpkb3R0ZWR9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3Vic2NyaXB0e3ZlcnRpY2FsLWFsaWduOnN1Yn0ueXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRTdXBlcnNjcmlwdHt2ZXJ0aWNhbC1hbGlnbjpzdXBlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRVbmtub3due3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdJdGFsaWNpemVke2ZvbnQtc3R5bGU6aXRhbGljfS55dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QXR0cmlidXRlZFN0cmluZ0hlYWRpbmcze2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRCdXR0b25PckFuY2hvckhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0QnV0dG9uT3JBbmNob3JCdXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOm5vbmU7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjA7bWFyZ2luOjA7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZS13aWR0aDowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOm5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1hbGlnbjp1bnNldDt3aWR0aDoxMDAlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ueXRCdXR0b25PckFuY2hvckFuY2hvcntkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjppbmhlcml0O3BhZGRpbmc6MDttYXJnaW46MDt0ZXh0LWRlY29yYXRpb246bm9uZTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0ueXRSYWRpb1NoYXBlSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS55dFJhZGlvU2hhcGVJbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5Oi4wMDAwMDE7bWFyZ2luOjA7bGVmdDoxMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRSYWRpb1NoYXBlTGFiZWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4taGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTtjb2xvcjojMDMwMzAzfS55dFJhZGlvU2hhcGVLZXlib2FyZEZvY3VzZWR7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UmFkaW9TaGFwZURpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0UmFkaW9TaGFwZUxhYmVsey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9aW5wdXQ6Y2hlY2tlZCtsYWJlbD4ueXRSYWRpb1NoYXBlUmFkaW8+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpK2xhYmVsPi55dFJhZGlvU2hhcGVSYWRpbz46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0UmFkaW9TaGFwZVJhZGlvRGVmYXVsdFN0eWxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMnB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9aW5wdXQ6bm90KDpjaGVja2VkKStsYWJlbD4ueXRSYWRpb1NoYXBlQ2hlY2tJY29uPjpmaXJzdC1jaGlsZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRSYWRpb1NoYXBlQ29tcGFjdHttaW4taGVpZ2h0OjQwcHh9Lnl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2h7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRSYWRpb1NoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzAzMDMwM30ueXRMaXN0SXRlbVZpZXdNb2RlbEhvc3Q6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW57ZGlzcGxheTpub25lfS55dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25PckFuY2hvcnt3aWR0aDphdXRvfS55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3I6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxOb1RyYWlsaW5nVGV4dCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yLC55dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLWhlaWdodDo0NHB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7bWF4LWhlaWdodDoyLjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdle21hcmdpbi1sZWZ0OjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVye21hcmdpbi10b3A6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7bWFyZ2luLWJvdHRvbToycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTZWxlY3Rpb25UZXh0e2NvbG9yOiM2MDYwNjA7bWFyZ2luLWxlZnQ6NHB4fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e21hcmdpbi1sZWZ0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3J7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtmbGV4LXNocmluazowfS55dExpc3RJdGVtVmlld01vZGVsTGVhZGluZ3ttYXJnaW4tcmlnaHQ6MTJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjEycHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDoxMnB4fS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciwueXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVye21pbi13aWR0aDowfS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmcsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZsZXgtc2hyaW5rOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcnthbGlnbi1zZWxmOnN0YXJ0O2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjM2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExpc3RJdGVtVmlld01vZGVsQXZhdGFyLC55dExpc3RJdGVtVmlld01vZGVsSW1hZ2V7bWF4LWhlaWdodDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5e2JvcmRlci1yYWRpdXM6MnB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjojMDMwMzAzfS55dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3Nvcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlcjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXJ7cGFkZGluZzoycHggMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZ3twYWRkaW5nOjJweCAwfS55dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cHtib3JkZXItcmFkaXVzOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZHtjb2xvcjojNjA2MDYwO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZCAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSwueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVkIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6IzYwNjA2MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjIuMnJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGV7cGFkZGluZzo2cHggMTZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzo2cHggMH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4taGVpZ2h0OjM2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle21heC1oZWlnaHQ6MnJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxDaGV2cm9uSWNvbntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntoZWlnaHQ6MzZweDttaW4td2lkdGg6MzZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcntoZWlnaHQ6MzZweDttaW4td2lkdGg6MjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZXttYXgtaGVpZ2h0OjI0cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye21pbi1oZWlnaHQ6NDJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyLC55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcntoZWlnaHQ6NDJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSwueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiNmZmZ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY2Nlc3Nvcnl7Y29sb3I6I2ZmZn0ueXRDaGVja2JveFNoYXBlSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6NDhweDt3aWR0aDoxMDAlO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hlY2tib3hTaGFwZUhvc3RDb21wYWN0e21pbi1oZWlnaHQ6NDBweH0ueXRDaGVja2JveFNoYXBlSW5wdXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjA7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5Oi4wMDAwMDE7ei1pbmRleDoxO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0Q2hlY2tib3hTaGFwZUxhYmVsey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9Lnl0Q2hlY2tib3hTaGFwZURpc2FibGVIb3Jpem9udGFsUGFkZGluZyAueXRDaGVja2JveFNoYXBlTGFiZWx7cGFkZGluZy1yaWdodDowfS55dENoZWNrYm94U2hhcGVDaGVja2JveERlZmF1bHRTdHlsZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjAgMTJweH1pbnB1dDpjaGVja2Vkfi55dENoZWNrYm94U2hhcGVDaGVja2JveD46Zmlyc3QtY2hpbGR7ZGlzcGxheTpub25lfWlucHV0Om5vdCg6Y2hlY2tlZCl+Lnl0Q2hlY2tib3hTaGFwZUNoZWNrYm94PjpsYXN0LWNoaWxke2Rpc3BsYXk6bm9uZX0ueXRTd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30udG9nZ2xlYWJsZUxpc3RJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dExpc3RWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRMaXN0Vmlld01vZGVsSG9zdEthaW9zU3BhdE5hdntwYWRkaW5nOjNweH19Lnl0RG93bmxvYWRMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdHtwYWRkaW5nOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhe3BhZGRpbmc6MDstbW96LWJveC1hbGlnbjpub3JtYWw7YWxpZ24taXRlbXM6bm9ybWFsO21hcmdpbjphdXRvOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhIHl0bS1tZW51LXJlbmRlcmVye2hlaWdodDoxMDAlfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC52aWRlby10aHVtYm5haWwtaW1ne3dpZHRoOjY3cHg7aGVpZ2h0OjY3cHg7bWluLWhlaWdodDowO2JvcmRlci1yYWRpdXM6NTAlfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC5jaGFubmVsLXN1YnNjcmliZS1idXR0b257cGFkZGluZzowIDAgMCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtY29sb3ItcGFsZXR0ZS1hcHBsaWVkPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtU3ViaGVhZHtvcGFjaXR5OjF9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0PmF7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdHtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3QudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0e3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG87cGFkZGluZy1ib3R0b206NTYuMjUlfX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3QgLmVuZ2FnZW1lbnQtYmFye2hlaWdodDoyNHB4O21hcmdpbi10b3A6NHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTXVsdGljb2x1bW57cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5ZdG1Db21wYWN0TWVkaWFJdGVtSW1hZ2V7ZmxleC1zaHJpbms6MH0uWXRtQ29tcGFjdE1lZGlhSXRlbUltYWdlLnN0YWNrZWR7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDo2cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6dmlzaWJsZX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9fUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YVtkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyfS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGEuaGFzLWVuZ2FnZW1lbnQtYmFyIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6Mn0uWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhLmhhcy1lbmdhZ2VtZW50LWJhcltkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjEuMjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhe3BhZGRpbmc6NHB4IDB9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YVtkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXtkaXNwbGF5Oi13ZWJraXQtYm94O3doaXRlLXNwYWNlOm5vcm1hbH19Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YUNvbnRlbnR7ZGlzcGxheTpibG9jazstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YUNvbnRlbnQuc3RhY2tlZHttYXJnaW4tdG9wOjhweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50e3BhZGRpbmc6MH19Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZVBsYWNlaG9sZGVye2hlaWdodDoxNnB4O21heC13aWR0aDozMDBweDttYXJnaW4tYm90dG9tOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0uWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWR7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDtvcGFjaXR5Oi42fS5ZdG1Db21wYWN0TWVkaWFJdGVtU3ViaGVhZFBsYWNlaG9sZGVye2hlaWdodDoxNnB4O3dpZHRoOjEyMHB4O21hcmdpbi1ib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6MnB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjNyZW07b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowO2ZvbnQtc2l6ZToxLjRyZW19Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZSAueXRtLWNoYW5uZWwtbmFtZXtmb250LXNpemU6MS40cmVtfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjMuNzVlbTstd2Via2l0LWxpbmUtY2xhbXA6M319Lll0bUNvbXBhY3RNZWRpYUl0ZW1CeWxpbmV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbVN0YXRze2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MS4ycmVtfS5ZdG1Db21wYWN0TWVkaWFJdGVtU3RhdHN+Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdGF0czpiZWZvcmV7Y29udGVudDoiwqDCt8KgIn0uWXRtQ29tcGFjdE1lZGlhSXRlbURlc2NyaXB0aW9ue21hcmdpbjo4cHggMDtwYWRkaW5nOjA7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbU1lbnV7ZmxleC1zaHJpbms6MDtjb2xvcjojMDMwMzAzfS5mb3JtYXR0ZWQtc3RyaW5nLWRlZW1waGFzaXple2NvbG9yOiM2MDYwNjB9LmZvcm1hdHRlZC1zdHJpbmctYm9sZHtmb250LXdlaWdodDo1MDB9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRze3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0e3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJFZmZlY3R7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle3dpbGwtY2hhbmdlOm9wYWNpdHk7b3BhY2l0eTowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4xfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplU21hbGx7bWFyZ2luOi00cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW17bWFyZ2luOi04cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwsLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTWVkaXVtIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZXttYXJnaW46LTEycHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czoxNnB4fS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXIgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxse2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgIzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgI2ZmZn0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4yfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZU92ZXJsYXlUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVN0cm9rZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9QGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW57MCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1vdXR7dG97b3BhY2l0eTowfX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdHttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdC5cOnBvcG92ZXItb3BlbiwueXRQb3BvdmVyQ29tcG9uZW50SG9zdDpwb3BvdmVyLW9wZW57YW5pbWF0aW9uOnBvcG92ZXItZmFkZS1pbiAuMTVzIGVhc2UtaW59Lnl0UG9wb3ZlckNvbXBvbmVudEhvc3RDbG9zaW5nLlw6cG9wb3Zlci1vcGVuLC55dFBvcG92ZXJDb21wb25lbnRIb3N0Q2xvc2luZzpwb3BvdmVyLW9wZW57YW5pbWF0aW9uOnBvcG92ZXItZmFkZS1vdXQgNzVtcyBlYXNlLW91dCBmb3J3YXJkc30ueXRUb29sdGlwQ29udGFpbmVySG9zdHtkaXNwbGF5OmJsb2NrfS55dFRvb2x0aXBDb250YWluZXJEZWZhdWx0VG9vbHRpcENvbnRlbnR7cGFkZGluZzo4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2MDYwNjA7b3BhY2l0eTouOTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnQsLnl0VG9vbHRpcENvbnRhaW5lclBsYXllclRvb2x0aXBDb250ZW50Qmx1cnJlZHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDJweCA4cHggIzAwMDtvcGFjaXR5Oi45O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnRCbHVycmVke29wYWNpdHk6dW5zZXQ7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUb29sdGlwQ29udGFpbmVyRWZmZWN0TWFrZXJUb29sdGlwQ29udGVudHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0VG9vbHRpcENvbnRhaW5lckhvdGtleXtkaXNwbGF5OmlubGluZTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjAgNnB4O21hcmdpbi1sZWZ0OjhweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9OnJvb3R7LS15dC1saWdodC1yaW0tY29sb3I6dW5zZXQ7LS15dC1saWdodC13YXNoLW9wYWNpdHk6MDstLXl0LWxpZ2h0LXdhc2gteDowOy0teXQtbGlnaHQtd2FzaC15OjA7LS15dC1saWdodC13YXNoLXNpemU6OTZweDstLXl0LWxpZ2h0LXdhc2gtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS5jb250cmliWXRMaWdodFNoYXBlSG9zdHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7cGFkZGluZzouNXB4Oy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDAsMCwwLDAuMDUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE91dGxpbmU6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMykpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWxJbnZlcnNlOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2V7aW5zZXQ6LTFweH0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMikpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlUb25hbDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4xNSkpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodHtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjUwJTtsZWZ0OjA7Ym9yZGVyLXJhZGl1czppbmhlcml0O2ZpbHRlcjpibHVyKDEwcHgpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U2FmYXJpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U29saWR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWx7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMil9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZEludmVyc2V7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbEludmVyc2V7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMDUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVNvbGlke2JhY2tncm91bmQ6I2ZmZn0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodE92ZXJsYXlUb25hbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVEeW5hbWljV2FzaExpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHRyYW5zbGF0ZSh2YXIoLS15dC1saWdodC13YXNoLXgsMCksdmFyKC0teXQtbGlnaHQtd2FzaC15LDApKTtib3JkZXItcmFkaXVzOmluaGVyaXQ7d2lkdGg6dmFyKC0teXQtbGlnaHQtd2FzaC1zaXplLDk2cHgpO2hlaWdodDp2YXIoLS15dC1saWdodC13YXNoLXNpemUsOTZweCk7b3BhY2l0eTp2YXIoLS15dC1saWdodC13YXNoLW9wYWNpdHksMCk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGZhcnRoZXN0LWNvcm5lciBhdCBjZW50ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikgMCx0cmFuc3BhcmVudCAxMDAlKTtwb2ludGVyLWV2ZW50czpub25lO2ZpbHRlcjpibHVyKDE1cHgpfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdHtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87Y29udGFpbjpsYXlvdXQgc3R5bGUgcGFpbnQ7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7dHJhbnNpdGlvbjpvcGFjaXR5IC40NXMgY3ViaWMtYmV6aWVyKC4yNSwxLC44LDEpfX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7dHJhbnNpdGlvbi1kdXJhdGlvbjo0MG1zfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjA1fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4xfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjJ9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVQcmVzc2VkIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjN9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2U6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouM306cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZTpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4wNX06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVRvdWNoTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ZmlsdGVyOmJsdXIoMjRweCk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgMCxyZ2JhKDI1NSwyNTUsMjU1LC42KSAzNSUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDcwJSx0cmFuc3BhcmVudCAxMDAlKTtib3JkZXItcmFkaXVzOjUwJX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2ZpbHRlcjpibHVyKDMycHgpO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjZmZmIDAscmdiYSgyNTUsMjU1LDI1NSwuNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA4MCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtib3JkZXItcmFkaXVzOjUwJX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0e3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZSx3aWR0aCAuMTVzIGN1YmljLWJlemllciguMjUsMSwuNSwxKSxoZWlnaHQgLjE1cyBjdWJpYy1iZXppZXIoLjI1LDEsLjUsMSl9fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdDpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7b3BhY2l0eTouMn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvc3QueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0e29wYWNpdHk6LjM1O3RyYW5zaXRpb24tZHVyYXRpb246LjA0c30uYW5pbWF0ZWRSb2xsaW5nQ2hhcmFjdGVySG9zdHtkaXNwbGF5OmlubGluZX0uYW5pbWF0ZWRSb2xsaW5nTnVtYmVySG9zdHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO3doaXRlLXNwYWNlOm5vd3JhcDttaW4td2lkdGg6MDt0ZXh0LXRyYW5zZm9ybTpub25lO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxOHB4O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmUtd2lkdGg6MDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDpub25lO3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZsZXgtYmFzaXM6MC4wMDAwMDAwMDFweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudHt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbiwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbntsaW5lLWhlaWdodDowO2ZpbGw6Y3VycmVudENvbG9yfS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uey1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50e3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTt3aWR0aDpyb3VuZCh1cCwxMDAlLDFweCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZlYXR1cmVQaG9uZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhze3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCA3cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCA2cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgOHB4O3dpZHRoOjMycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDoycHg7bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDoycHg7bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDotMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHN7aGVpZ2h0OjI0cHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWlkZGxlZ3JvdW5kQXNzZXR7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6MjRweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydHtib3JkZXItcmFkaXVzOjEycHggMCAwIDEycHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDdweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3twYWRkaW5nOjAgMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3toZWlnaHQ6MzJweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozMnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxNnB4IDAgMCAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjhweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMTZweCAxNnB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcnJpZGVTbWFsbFNpemVJY29uKSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDExcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo0cHg7bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNe3BhZGRpbmc6MCAxNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAxNXB4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAxNHB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAxNnB4O3dpZHRoOjUycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU17aGVpZ2h0OjM2cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIC55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtib3JkZXItcmFkaXVzOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6MzZweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxOHB4IDAgMCAxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjZweDtoZWlnaHQ6MjRweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMThweCAxOHB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uLC55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24pOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0KSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAxNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE1cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTRweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTZweDt3aWR0aDo1MnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUx7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDIzcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDIycHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDI0cHg7d2lkdGg6NzJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTHtoZWlnaHQ6NDhweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDo0OHB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoyNHB4IDAgMCAyNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjEycHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI0cHggMjRweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAyMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE5cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMThweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjBweDt3aWR0aDo2OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse3BhZGRpbmc6MCAzMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMzFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDMwcHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0zMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDMycHg7d2lkdGg6ODhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse2hlaWdodDo1NnB4O2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoyOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjU2cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjhweCAwIDAgMjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6IiI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MTZweDtoZWlnaHQ6MjRweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI4cHggMjhweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmd7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDIzcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDIycHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDI0cHg7d2lkdGg6ODBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lcntoZWlnaHQ6YXV0bztwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnV0dG9uVGV4dENvbnRlbnR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6OHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T25lT2ZmQ3VzdG9tVGV4dFdyYXBDb250YWluZXIgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50ey13ZWJraXQtbGluZS1jbGFtcDo0O21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVUZXh0RWxsaXBzaXMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50e3RleHQtb3ZlcmZsb3c6Y2xpcH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0e21pbi13aWR0aDowO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uT25seURlZmF1bHQueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0V29ya2Fyb3VuZEljb25Ob0JvcmRlclJhZGl1c3tib3JkZXItcmFkaXVzOnVuc2V0fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDY1ZmQ0fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA2NWZkNH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNTU2YmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojMDY1ZmQ0fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RhZGZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGFkZmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojM2VhNmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjYzODUwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjYzODUwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojM2VhNmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojM2VhNmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMzZWE2ZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzY1YjhmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojM2VhNmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojNjViOGZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM319QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkOWQ5ZDk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2Q5ZDlkOTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzAwMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUJhY2tkcm9wRmlsdGVyRXhwZXJpbWVudHtiYWNrZHJvcC1maWx0ZXI6Ymx1cig0cHgpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlQmFja2Ryb3BGaWx0ZXJFeHBlcmltZW50e2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSg0MCw0MCw0MCwwLjYpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMyl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywjZTEwMDJkIDMwJSwjZTAxMzc4IDg1JSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywjZTEwMDJkIDMwJSwjZTAxMzc4IDg1JSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzAwN2E2NSAwLCM3ZjBlN2YgMTAwJSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzdmMGU3ZiAwLCNhYTA5YWEgMjAlLCNmZjRlNDUgMTAwJSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgxMjcsMTQsMTI3LDAuMikgMCxyZ2JhKDE3MCw5LDE3MCwwLjIpIDIwJSxyZ2JhKDI1NSw3OCw2OSwwLjIpIDEwMCUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMCwxMjIsMTAxLDAuMikgMCxyZ2JhKDEyNywxNCwxMjcsMC4yKSAxMDAlKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyxyZ2JhKDAsMTIyLDEwMSwwLjIpIDAscmdiYSgxMjcsMTQsMTI3LDAuMikgMTAwJSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiM5MDkwOTB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojOTA5MDkwfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCA0cHggMTZweCAwIHJnYmEoMCwwLDAsMC4xKSwwIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRSYWlzZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7bWFyZ2luOjRweCAtOHB4IDA7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVsey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsSXNPdmVybGF5IC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse21heC13aWR0aDo2NHB4O2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0QmFkZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEJyTnpCYWRnZVNoYXBlSG9zdHtkaXNwbGF5OmJsb2NrfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1JlZFNxdWFyZXtiYWNrZ3JvdW5kOiNmMDM5MzY7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czowO2NvbG9yOmJsYWNrO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nWWVsbG93Q2lyY2xle2JhY2tncm91bmQ6I2ZmZWYwMDtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ0dyZWVuQ2lyY2xle2JhY2tncm91bmQ6IzQyYzc1ODtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsR3JlZW5TcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwxNjYsODEpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsdWVTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwxNDksMjE4KTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VCbHVlU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTQ5LDIxOCk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsWWVsbG93U3F1YXJle2JhY2tncm91bmQ6cmdiKDI1MSwxOTMsMjEpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVllbGxvd1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNTEsMTkzLDIxKTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxPcmFuZ2VTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjQ1LDEzMCwzMik7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlT3JhbmdlU3F1YXJle2JhY2tncm91bmQ6cmdiKDI0NSwxMzAsMzIpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFJlZFNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyMzYsMjksMzcpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVJlZFNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyMzYsMjksMzcpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsYWNrU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMCwwKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VCbGFja1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDAsMCk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdlV2l0aExhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrOy1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZXM6bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsVHJhaWxpbmdBY3Rpb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lcj46bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbnNDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbjpub3QoOmxhc3QtY2hpbGQpey1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS55dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEZpZWxkc2V0e2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MH0ueXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRXJyb3J7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6I2MzMDAyN30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3R7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyMHB4fS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlUmFkaW9CdXR0b257aGVpZ2h0OjA7bGVmdDowO21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9Lnl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVke2N1cnNvcjpkZWZhdWx0fS55dENhcmRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDYXJkVmlld01vZGVsT3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0Q2FyZFZpZXdNb2RlbFJhaXNlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmUtc3R5bGU6c29saWQ7b3V0bGluZS1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvdXRsaW5lLWNvbG9yIC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS13aWR0aCAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWR7Ym94LXNoYWRvdzowIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmU6IzAzMDMwMyBzb2xpZCAycHg7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS1jb2xvciAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG91dGxpbmUtd2lkdGggLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRDYXJkVmlld01vZGVsVG9uYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dENhcmRWaWV3TW9kZWxJbnZlcnRlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGZ9Lnl0Q2FyZFZpZXdNb2RlbENvbnRlbnRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lnl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6MTAwJX0ueXRDYXJkVmlld01vZGVsVG9wQ29udGVudHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9ue2FsaWduLXNlbGY6ZmxleC1zdGFydH0ueXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2lue21hcmdpbjo2cHh9Lnl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMnB4O3RvcDoxMnB4fS55dENhcmRWaWV3TW9kZWxDYXJkVmlld01vZGVsSW5uZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dENhcmRWaWV3TW9kZWxTZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjMDMwMzAzfS55dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZywueXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmd7cGFkZGluZzoxMnB4fS55dENhcmRWaWV3TW9kZWxDbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfS55dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH0ueXRDYXJkVmlld01vZGVsQmFja2dyb3VuZHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6ZmlsbH0ueXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0Q2hlY2tib3hJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVye2JvcmRlci10b3A6bm9uZX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MTJweCAwIDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxEaXNhYmxlUGFkZGluZy55dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXJ7cGFkZGluZy10b3A6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmd7cGFkZGluZy1ib3R0b206MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5ne3BhZGRpbmctcmlnaHQ6MjRweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2tUb3BCdXR0b257bWFyZ2luOjAgMCA4cHh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dUcmFpbGluZ3stbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dMZWZ0QnV0dG9ue21hcmdpbi1yaWdodDo4cHh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dGdWxsV2lkdGh7d2lkdGg6MTAwJX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0V4cGFuZHstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93U2hyaW5rey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dIaWRkZW57ZGlzcGxheTpub25lfS55dFNwZWNJY29uU2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dFNwaW5uZXJTaGFwZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGlubmVyU2hhcGVTcGlubmVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjoxMnB4IGF1dG87d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MnB4IHNvbGlkICNlZWU7Ym9yZGVyLXRvcC1jb2xvcjojNjY2O2FuaW1hdGlvbjpzcGlubmVyIC44cyBsaW5lYXIgaW5maW5pdGV9Lnl0U3Bpbm5lclNoYXBlU3Bpbm5lcjpub3QoW2hpZGRlbl0pe2NvbG9yOiMzMzM7Zm9udC1zaXplOjEuNnJlbX1Aa2V5ZnJhbWVzIHNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19Lnl0TG90dGllQ29tcG9uZW50SG9zdHtkaXNwbGF5OmJsb2NrfS55dExvdHRpZUNvbXBvbmVudEhvc3Qgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0QW5pbWF0ZWRJY29uSG9zdHtkaXNwbGF5OmJsb2NrfS55dEFuaW1hdGVkSWNvbkhvc3QgLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7bWFyZ2luOjB9Lnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTJweCwtMTJweCk7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0ueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1zdWJzY3JpYmUtaWNvbnt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LC0xMnB4KTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9IjE4Il0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT0iMTgiXSAuYW5pbWF0ZWQtbGlrZS1pY29uIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9IjE4Il0gLmFuaW1hdGVkLWxpa2UtaWNvbiAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT0iMTgiXSAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUoLTlweCwtOXB4KTtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5hbmltYXRlZC1zdWJzY3JpYmUtaWNvbnt0cmFuc2Zvcm06dHJhbnNsYXRlKC05cHgsLTlweCk7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ueXRIb3Jpem9udGFsU2xpZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFNsaWRlclNoYXBlSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjE2cHggMTJweH0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6bm9uZTtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAzMDMwMztoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdDtjb2xvcjojOTA5MDkwfS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2ZvbnQ6aW5oZXJpdDtjb2xvcjojMDMwMzAzOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3V0bGluZTpub25lO3BhZGRpbmctYm90dG9tOjA7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowO3dpZHRoOjEwMCU7aGVpZ2h0OjI0cHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHg7bWFyZ2luLXRvcDotNnB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tcy10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2Fse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O21hcmdpbjowO3dyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybDtkaXJlY3Rpb246cnRsfS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7bWFyZ2luOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nLWJvdHRvbTowOy0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoyNHB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCMwMzAzMDMgMCwjMDMwMzAzIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIDEwMCUpO3dpZHRoOjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbi1yaWdodDotNnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlcjo6LW1zLXRodW1ie2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNsaWRlclNoYXBlSG9zdFNsaWRlcnstbW96LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOmF1dG87LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG99fS55dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjEwcHggMTZweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTttaW4taGVpZ2h0OjQ4cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RIaWRlRGl2aWRlcntib3JkZXItYm90dG9tOm5vbmV9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0Q29tcGFjdHtwYWRkaW5nOjhweCAxMnB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVye21hcmdpbjowfS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXJOb25JbnRlcmFjdGl2ZXtwb2ludGVyLWV2ZW50czpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxle21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFBhbmVsSGVhZGVyVmlld01vZGVsU3VidGl0bGV7bWF4LWhlaWdodDoxLjhyZW19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0J1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDttYXJnaW4tbGVmdDoxMnB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1yaWdodDoyNHB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3J7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47b3V0bGluZTpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3JGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkIGN1cnJlbnRDb2xvcn0ueXRTaGVldFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dFNoZWV0Vmlld01vZGVsQ29udGV4dHVhbHtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2hhZG93OjAgNHB4IDMycHggMCByZ2JhKDAsMCwwLDAuMSk7b3ZlcmZsb3c6aGlkZGVufS55dFNoZWV0Vmlld01vZGVsUGFkZGVkQ29udGVudHtwYWRkaW5nOjE2cHggMH0ueXRTaGVldFZpZXdNb2RlbERpc2FibGVCYWNrZHJvcEZpbHRlcntiYWNrZHJvcC1maWx0ZXI6bm9uZX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6MH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250YWluZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpmaXhlZDttYXJnaW46MCA4cHggMjRweDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMH1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIGFuZCAobWluLXdpZHRoOjQxNnB4KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgYW5kIChtaW4td2lkdGg6NDE2cHgpey55dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lcnt3aWR0aDo0MDBweDttYXJnaW46MCBhdXRvIDI0cHggYXV0b319Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcntvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmO2N1cnNvcjotbW96LWdyYWI7Y3Vyc29yOmdyYWJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcklzRHJhZ2dpbmd7Y3Vyc29yOi1tb3otZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJCb3R0b21Cb3JkZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfS55dFNwZWNCb3R0b21TaGVldExheW91dERyYWdMaW5le2JhY2tncm91bmQ6IzAzMDMwMztvcGFjaXR5Oi4xNTtib3JkZXItcmFkaXVzOjRweDtoZWlnaHQ6NHB4O21hcmdpbjowIGF1dG87d2lkdGg6NDBweDttYXJnaW4tdG9wOjhweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJ7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi10b3A6OHB4fS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldpdGhUaXRsZXttYXJnaW4tYm90dG9tOjdweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZVdyYXBwZXJ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1sZWZ0OjEycHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6IzAzMDMwMzttYXgtaGVpZ2h0OjIwcHg7bWFyZ2luOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzYwNjA2MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDoxNnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7bWF4LWhlaWdodDoyLjhyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle21heC1oZWlnaHQ6Mi42cmVtfX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle21heC1oZWlnaHQ6MS44cmVtfS55dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJmbG93LXk6c2Nyb2xsfS55dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwM30ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtwb3NpdGlvbjpzdGlja3k7Ym90dG9tOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyQnV0dG9uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW46MTJweCAwfS55dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVye21hcmdpbjo2cHggMH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDoxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25EZWZhdWx0e21hcmdpbjowIDEycHg7d2lkdGg6MTAwJX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpciwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7bWFyZ2luLXJpZ2h0OjEycHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjowIDEycHg7aGVpZ2h0OjMwcHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyV2l0aG91dEJ1dHRvbnN7bWFyZ2luLWJvdHRvbToxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dExlYWRpbmdMYWJlbCwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVse21hcmdpbi10b3A6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjEyOHB4O21heC13aWR0aDo0MDBweDt3aWR0aDoxMDAlO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO21pbi1oZWlnaHQ6MH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0T2xkTWluV2lkdGh7bWluLXdpZHRoOjI1NnB4fS55dENvbnRleHR1YWxTaGVldExheW91dEFkZFBhZGRpbmd7cGFkZGluZy1ib3R0b206OHB4fS55dENvbnRleHR1YWxTaGVldExheW91dEhlYWRlckNvbnRhaW5lcnstbW96LWJveC1mbGV4OjA7ZmxleDowfS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXJ7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDoxNnB4fS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjpob3ZlcntzY3JvbGxiYXItY29sb3I6IzkwOTA5MCB0cmFuc3BhcmVudH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTB9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Rm9vdGVyQ29udGFpbmVyey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjEycHh9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsU3BlZWRJbmRpY2F0b3JDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjphdXRvfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWREaXNwbGF5ey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjhyZW07bGluZS1oZWlnaHQ6My44cmVtO2ZvbnQtd2VpZ2h0OjkwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkRGlzcGxheXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjkwMH19Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjhweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTbGlkZXJDb250YWluZXJ7bWFyZ2luOjhweCAwfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b257bWFyZ2luOjAgNHB4fS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVse21hcmdpbi10b3A6NHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMwMzAzMDN9Lnl0V2ViU2NyaW1Ib3N0e3Bvc2l0aW9uOmZpeGVkO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44KX0ueXRXZWJTY3JpbUhvc3RSZWxhdGl2ZXtwb3NpdGlvbjphYnNvbHV0ZX0ueXRXZWJTY3JpbUhvc3RNb2Rlcm5PdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFdlYlNjcmltSG9zdEJvdHRvbVNoZWV0e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFdlYlNjcmltSG9zdEVuZ2FnZW1lbnRQYW5lbHt6LWluZGV4OjA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7dG9wOjEwMHZ3fS55dFdlYlNjcmltSG9zdERyYWdnYWJsZUVuZ2FnZW1lbnRQYW5lbHt6LWluZGV4OjM7dG9wOjB9Lnl0V2ViU2NyaW1Ib3N0RHJhd2VyTGF5b3V0e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dFdlYlNjcmltRGlhbG9nQ29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6NH0ueXRXZWJTY3JpbUhpZGRlbkJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2ZvbnQ6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0O2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1ib3R0b20tc2hlZXQtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6NX1ib3R0b20tc2hlZXQtY29udGFpbmVyIC5jbG9zZS1idXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9YzMtb3ZlcmxheS5ib3R0b20tc2hlZXQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX1bYm90dG9tLXNoZWV0LW9wZW5de292ZXJmbG93OmhpZGRlbn1bbW9kYWwtb3Blbi1ib2R5XXtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7cmlnaHQ6MH0uYjMtaWZyYW1lLWFuY2VzdG9yW21vZGFsLW9wZW4tYm9keV17cG9zaXRpb246YWJzb2x1dGV9Lm1vZGFsLWhpZGRlbi1idXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmJ1dHRvbi13aXRoLWljb257cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7bWluLXdpZHRoOjUuMTRlbTttYXJnaW46MCAuMjllbTtmb250LXNpemU6MS40cmVtO2JvcmRlci1yYWRpdXM6M3B4fS5idXR0b24td2l0aC1pY29uLWJ1dHRvbntwYWRkaW5nOi43ZW0gLjU3ZW19LmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW46LS43ZW0gLS41N2VtfS5idXR0b24td2l0aC1pY29uLmNvbXBhY3QrLmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW4tbGVmdDouN2VtfS5idXR0b24td2l0aC1pY29uLWlubmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LmJ1dHRvbi13aXRoLWljb24tYnV0dG9uW2Rpc2FibGVkXSwuYnV0dG9uLXdpdGgtaWNvbi5kaXNhYmxlZCAuYnV0dG9uLXdpdGgtaWNvbi1idXR0b257Y29sb3I6IzkwOTA5MH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQlJBTkRde2NvbG9yOiNlMTAwMmR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1BSSU1BUlldOm5vdChbZGlzYWJsZWQ9dHJ1ZV0pe2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9QUklNQVJZXVtkaXNhYmxlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9URVhUXXtjb2xvcjojNjA2MDYwfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9URVhUXSAubG9nby1hcnJvd3tmaWxsOiNmZmZ9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX0JMVUVfVEVYVF17Y29sb3I6IzA2NWZkNH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQkxVRV9URVhUX1dJVEhfSU5WRVJTRV9USEVNRV17Y29sb3I6IzNlYTZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfREVTVFJVQ1RJVkVde2JhY2tncm91bmQtY29sb3I6I2UxMDAyZDtib3JkZXItY29sb3I6I2UxMDAyZDtjb2xvcjojZmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9TVUdHRVNUSVZFXXtib3JkZXI6MXB4IHNvbGlkICMwNjVmZDQ7Y29sb3I6IzA2NWZkNH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfT1ZFUkxBWV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMyk7Y29sb3I6I2ZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfREFSS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9JTkFDVElWRV9PVVRMSU5FXXtjb2xvcjojNjA2MDYwO2JvcmRlcjoxcHggc29saWQgIzYwNjA2MDtwYWRkaW5nOjVweCAxMXB4fS5idXR0b24tcmVuZGVyZXJbZGF0YS1pY29uLW9ubHk9dHJ1ZV17bWluLXdpZHRoOjA7bWFyZ2luOjB9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLWljb24tb25seT1mYWxzZV0gLmJ1dHRvbi1yZW5kZXJlci1pY29ue21hcmdpbjowIDhweH0uYnV0dG9uLXJlbmRlcmVyLXRleHR7YWxpZ24tc2VsZjpjZW50ZXI7bWluLWhlaWdodDoxZW07bGluZS1oZWlnaHQ6MWVtO2ZvbnQtd2VpZ2h0OjUwMH1baXMtYnVzeT10cnVlXSAuYnV0dG9uLXJlbmRlcmVyLWljb24sW2lzLWJ1c3k9dHJ1ZV0gLmJ1dHRvbi1yZW5kZXJlci10ZXh0e3Zpc2liaWxpdHk6aGlkZGVufS5idXR0b24td2l0aC1pY29uLXNwaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOmF1dG99LmJ1dHRvbi1yZW5kZXJlci13aXRoLWFuaW1hdGlvbiAuYnV0dG9uLXdpdGgtaWNvbi1idXR0b257b3ZlcmZsb3c6dmlzaWJsZX1jMy1pY29ue2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1zaHJpbms6MDt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2ZpbGw6Y3VycmVudENvbG9yO3N0cm9rZTpub25lfVtkaXI9cnRsXSBjMy1pY29uW2ZsaXAtZm9yLXJ0bD10cnVlXXt0cmFuc2Zvcm06c2NhbGVYKC0xKX0uaWNvbi1idXR0b257Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH1jMy1pY29uIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfWMzLWljb24uaWNvbi1zdGF0ZS1vdXRsaW5lW2ljb24tc3RhdGUtZmlsbGVkXXtkaXNwbGF5Om5vbmV9YzMtaWNvbi5pY29uLXN0YXRlLWZpbGxlZFtpY29uLXN0YXRlLW91dGxpbmVde2Rpc3BsYXk6bm9uZX0ucGl2b3QtYmFyLWl0ZW0tdGFiIGMzLWljb25baWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6bm9uZX0ucGl2b3QtYmFyLWl0ZW0tdGFiIGMzLWljb25baWNvbi1zdGF0ZS1vdXRsaW5lXXtkaXNwbGF5OmJsb2NrfS5waXZvdC1iYXItaXRlbS10YWJbYXJpYS1zZWxlY3RlZD10cnVlXSBjMy1pY29uW2ljb24tc3RhdGUtZmlsbGVkXXtkaXNwbGF5OmJsb2NrfS5waXZvdC1iYXItaXRlbS10YWJbYXJpYS1zZWxlY3RlZD10cnVlXSBjMy1pY29uW2ljb24tc3RhdGUtb3V0bGluZV17ZGlzcGxheTpub25lfSNtZW51LC5tZW51LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS5tZW51LWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO21heC1oZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmF1dG87Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzozcHh9Lm1lbnUtY29udGVudC5tZW51LWJvdHRvbXtib3R0b206MDtjb2xvcjojMDMwMzAzO3BhZGRpbmc6MDtwb3NpdGlvbjpmaXhlZDttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlfS5ib3R0b20tbWVudS1jYW5jZWx7Ym9yZGVyLXRvcDoxcHggc29saWQgI2YxZjFmMTtwYWRkaW5nOjhweCAwfS5tZW51LWNvbnRlbnQ+YXtkaXNwbGF5OmJsb2NrfS5tZW51LWNhbmNlbC1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ubWVudS1jYW5jZWwtaWNvbnttYXJnaW46MCA4cHh9Lm1lbnUtY29udGVudC5tZW51LWJvdHRvbSBjMy1pY29ue2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMzJweCAwIDB9Lm1lbnUtY29udGVudDpub3QoLm1lbnUtc2hvdy1pY29ucykgLm1lbnUtaXRlbS1idXR0b24gYzMtaWNvbntkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MzMwcHgpey5tZW51LWNvbnRlbnQ6bm90KC5tZW51LWJvdHRvbSl7bWluLXdpZHRoOjI1MHB4O21heC13aWR0aDozNTZweDttYXJnaW46NDBweH19Lm1lbnUtZnVsbC13aWR0aCAubWVudS1jb250ZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZjttaW4td2lkdGg6MTAwJTttaW4taGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO2hlaWdodDoxcHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5tZW51LWNvbnRlbnQucm91bmRlZC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmljb24tYnV0dG9uLnNtYWxse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MDt3aWR0aDoxNnB4fXl0bS1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAwfXl0bS1tZW51LWl0ZW0gLm1lbnUtaXRlbS1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6OHB4IDE2cHg7bWFyZ2luLWxlZnQ6MDt3aWR0aDoxMDAlO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246aW5pdGlhbDt0ZXh0LXRyYW5zZm9ybTp1bnNldDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH15dG0tbWVudS1pdGVtIC5tZW51LWl0ZW0tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX15dG0tbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjI0cHh9Lm1lbnUtYm90dG9tIC5tZW51LWl0ZW0tYnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjEuNnJlbTtwYWRkaW5nOjExcHggMTZweH0ueXR3UGxheWVyQm90dG9tQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckJvdHRvbUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbldyYXBwZXJ7LW1vei1tYXJnaW4tc3RhcnQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99Lnl0QmFkZ2VTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjAgNHB4fS55dEJhZGdlU2hhcGVUeXBvZ3JhcGh5e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJY29ue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS55dEJhZGdlU2hhcGVOb1RleHR7cGFkZGluZzowIDFweDttaW4taGVpZ2h0OjE4cHh9Lnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2V7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoxcHggNHB4fS55dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZSAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6NHB4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlLnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2VSZWRlc2lnbntiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgNnB4fS55dEJhZGdlU2hhcGVTdGF0dXNCYWRnZXtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjFweCA0cHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlIC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2UueXRCYWRnZVNoYXBlTm9UZXh0IC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDowfS55dEJhZGdlU2hhcGVUZXh0e2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS55dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvd3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3d7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjIwY2h9Lnl0QmFkZ2VTaGFwZURlZmF1bHR7CiAgLyogIWtlZXAgKi9jb2xvcjojNjA2MDYwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlRGVmYXVsdC55dEJhZGdlU2hhcGVPdmVybGF5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZURlZmF1bHQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjA7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVNZWRpYXsKICAvKiAha2VlcCAqL2NvbG9yOiM2MDYwNjA7b3V0bGluZToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZU1lZGlhLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXl7CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7b3V0bGluZToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVByb21vdGVkewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJvbW90ZWQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVQcm9tb3RlZEludmVydGVkLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlVGltZWx5ewogIC8qICFrZWVwICovY29sb3I6IzYwNjA2MH0ueXRCYWRnZVNoYXBlVGltZWx5IC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRpbWVseXtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlVGltZWx5Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwfS55dEJhZGdlU2hhcGVUaW1lbHkueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRpbWVseS55dEJhZGdlU2hhcGVNb2Rlcm57cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVByZW1pdW17CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6I2UxMDAyZH0ueXRCYWRnZVNoYXBlUHJlbWl1bS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVNhbGV7CiAgLyogIWtlZXAgKi9jb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxlIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNjMzAwMjd9Lnl0QmFkZ2VTaGFwZVNhbGV7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVNhbGUueXRCYWRnZVNoYXBlTW9kZXJuLC55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybiAueXRCYWRnZVNoYXBlSWNvbntjb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybntwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlTWVtYmVyc2hpcHsKICAvKiAha2VlcCAqL2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfS55dEJhZGdlU2hhcGVNZW1iZXJzaGlwLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlQ29tbWVyY2V7CiAgLyogIWtlZXAgKi9jb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlQ29tbWVyY2UueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVMaXZlewogIC8qICFrZWVwICovY29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMjI1LDAsNDUsMC45KX0ueXRCYWRnZVNoYXBlTGl2ZS55dEJhZGdlU2hhcGVPdmVybGF5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZUxpdmUueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVN0YXR1c05ld3sKICAvKiAha2VlcCAqL2NvbG9yOiMwNjVmZDQ7b3V0bGluZToxcHggc29saWQgIzA2NWZkNDtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVTdGF0dXNOZXcueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMwNjVmZDQ7b3V0bGluZToxcHggc29saWQgIzA2NWZkNDtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZXsKICAvKiAha2VlcCAqL2NvbG9yOiMwMDU5MTc7YmFja2dyb3VuZDojZGVmZmRlfS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAwNTkxNztiYWNrZ3JvdW5kOiNkZWZmZGV9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmd7CiAgLyogIWtlZXAgKi9jb2xvcjojN2MyOTAwO2JhY2tncm91bmQ6I2ZmZWFjZn0ueXRCYWRnZVNoYXBlU3RhdHVzV2FybmluZy55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzdjMjkwMDtiYWNrZ3JvdW5kOiNmZmVhY2Z9Lnl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yewogIC8qICFrZWVwICovY29sb3I6Izk5MDQxMjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEJhZGdlU2hhcGVTdGF0dXNFcnJvci55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6Izk5MDQxMjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEJhZGdlU2hhcGVTdGF0dXNEZWZhdWx0ewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdHsKICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmV7CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxMaXZlLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxTcGVjaWFsewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbnsKICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbi55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKX0ueXRCYWRnZVNoYXBlQWR7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MDtmb250LXNpemU6dW5zZXQ7bGluZS1oZWlnaHQ6dW5zZXR9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZUFkc0luY2x1ZGVEb3Q6YWZ0ZXJ7Y29udGVudDoiwrciOy1tb3otcGFkZGluZy1lbmQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDo0cHg7LW1vei1wYWRkaW5nLXN0YXJ0OjRweDtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZU92ZXJsYXl7Y29sb3I6I2ZmZn0ueXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVMYXJnZUZvbnRBZEJhZGdle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJc0VtcHR5e2Rpc3BsYXk6bm9uZX0uYWNjb3VudEluZm9Ib3N0e2Rpc3BsYXk6YmxvY2t9Lmxpa2UtYnV0dG9uLXJlbmRlcmVyIFthcmlhLXByZXNzZWQ9dHJ1ZV0gYzMtaWNvbntjb2xvcjojMDY1ZmQ0fS5saWtlLWJ1dHRvbi1yZW5kZXJlciBbYXJpYS1wcmVzc2VkPXRydWVdIGMzLWljb24gcGF0aHtmaWxsOiMzZWE2ZmY7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOjFweH15dG0tbWVudS1yZW5kZXJlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSB5dG0tbWVudS1pdGVte3BhZGRpbmc6MDtoZWlnaHQ6NDhweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIC5tZW51LWl0ZW0tYnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVye21hcmdpbjo1cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPXNtYWxsXXttYXJnaW46MnB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlclt0aHVtYm5haWwtc2l6ZT1tZWRpdW1de21hcmdpbjo0cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPWxhcmdlXXttYXJnaW46OHB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPUxJVkVdLHl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPVNIT1JUU117dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWltZy5jdXN0b20tdGh1bWJuYWlsLnZpZGVvLXRodW1ibmFpbC1pbWd7b2JqZWN0LWZpdDpzY2FsZS1kb3duO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3c6aGlkZGVufS52aWRlby10aHVtYm5haWwtaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjphdXRvfS52aWRlby10aHVtYm5haWwtYmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctYm90dG9tOjU2LjI1JX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4fS5jdXN0b20tdGh1bWJuYWlsLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4MHB4O2hlaWdodDoxODBweH0uY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciAuY3VzdG9tLXRodW1ibmFpbHtvcGFjaXR5Oi43O2ZpbHRlcjpibHVyKDMwcHgpfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZHtib3JkZXItcmFkaXVzOjhweH0ub3JpZ2luYWwtYXNwZWN0LXJhdGlvIGltZ3toZWlnaHQ6MTAwJTt3aWR0aDphdXRvfS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1ib3R0b206MTI1JX0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UgaW1ne29iamVjdC1maXQ6Y292ZXI7d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW4tdG9wOjB9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2U6d2hlcmUoLm5vdC1yZW5kZXJlZC1mcm9tLXJpY2gtaXRlbSl7bWFyZ2luOi0xM3B4IC0xMnB4IDA7cGFkZGluZy10b3A6MTNweH0uc3R5bGUtcmVjb21tZW5kYXRpb25zLWluLXBvcnRyYWl0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdlLnJvdW5kZWQtdGh1bWJuYWlse2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW46MDtwYWRkaW5nLXRvcDowfX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjA7cGFkZGluZy10b3A6MH19LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UudGh1bWJuYWlsLWNvdmVyLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2Uucm91bmRlZC10aHVtYm5haWx7Ym9yZGVyLXJhZGl1czoxMnB4fX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbCxwbGF5ZXItZnVsbHNjcmVlbi1jb250cm9scyAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fS52aWRlby10aHVtYm5haWwtZmlsbC1wYXJlbnR7bWFyZ2luOjA7cGFkZGluZy10b3A6MDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZ3twYWRkaW5nLXRvcDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29ue21hcmdpbjoyNHB4IDI0cHggMH0ueXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWF7bWFyZ2luLWJvdHRvbToyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDowO2ZsZXgtc2hyaW5rOjQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW17d2lkdGg6MTAwJTtmbGV4LXNocmluazowO29iamVjdC1maXQ6Y292ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lcntwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjB9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXR7cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0RpYWxvZ0xheW91dFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0RpYWxvZ0xheW91dFRpdGxle21heC1oZWlnaHQ6NS42cmVtfS55dFNwZWNEaWFsb2dMYXlvdXRMZWFkaW5nQWN0aW9uSGVhZGVye2NvbG9yOiMwMzAzMDM7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dFRyYWlsaW5nQWN0aW9uSGVhZGVye2NvbG9yOiMwMzAzMDM7bWFyZ2luLWxlZnQ6YXV0b30ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudHtjb2xvcjojMDMwMzAzO292ZXJmbG93LXk6YXV0b30ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudElubmVye292ZXJmbG93OnZpc2libGU7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0RpYWxvZ0xheW91dEZvb3RlckNvbnRhaW5lcntwYWRkaW5nLXRvcDoxNnB4O3BhZGRpbmctbGVmdDoyNHB4O3BhZGRpbmctcmlnaHQ6MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1mbG93OnJvdyB3cmFwLXJldmVyc2U7ZmxleC1zaHJpbms6MDttYXJnaW46LThweCAwIDAgLThweH0ueXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZUVuZHstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kfS55dFNwZWNEaWFsb2dMYXlvdXRCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzo4cHggMCAwIDhweH0ueXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZVN0cmV0Y2hlZHstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbiAueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudCwueXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ24gLnl0U3BlY0RpYWxvZ0xheW91dFRpdGxle3RleHQtYWxpZ246Y2VudGVyfS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zU3RhY2tlZHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59QG1lZGlhIChtYXgtd2lkdGg6MzMwcHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDB2aH19QG1lZGlhIChtaW4td2lkdGg6MzMxcHgpIGFuZCAobWF4LXdpZHRoOjUyN3B4KXsueXRTcGVjRGlhbG9nTGF5b3V0UmVzcG9uc2l2ZXttaW4td2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21pbi13aWR0aDptaW4oMzIwcHgsMTAwdncgLSA5NnB4KTttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21heC13aWR0aDptaW4oNDAwcHgsMTAwdncgLSA5NnB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA5NnB4KX19QG1lZGlhIChtaW4td2lkdGg6NTI4cHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDozMjBweDttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21heC13aWR0aDptaW4oNTYwcHgsMTAwdncgLSA5NnB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA5NnB4KTttYXgtaGVpZ2h0Om1pbig1NjBweCwxMDB2aCAtIDk2cHgpfX0ueXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVuIC55dFNwZWNEaWFsb2dMYXlvdXRDb250YWluZXIsLnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnR7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVuIC55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50SW5uZXJ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3BhZGRpbmc6MH1AbWVkaWEgKG1pbi13aWR0aDo1MjhweCl7Lnl0U3BlY0RpYWxvZ0xheW91dEV4dGVuZGVkTWF4SGVpZ2h0e21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpfX0ueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldCAueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXR7d2lkdGg6YXV0bztwYWRkaW5nOjAgMjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SW5zZXQgLnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SXRlbXtib3JkZXItcmFkaXVzOjEycHh9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyfS55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJbWFnZXtib3JkZXItcmFkaXVzOjZweDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2Rpc3BsYXk6YmxvY2t9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEljb257Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NnB4O3BhZGRpbmc6NnB4fS55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVRIRU1FX0FUVFJJQlVURV9PVkVSTEFZX0JBQ0tHUk9VTkRfTUVESVVNXSAueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0SWNvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MTZweH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3Q+dG9nZ2xlLWJ1dHRvbi12aWV3LW1vZGVse21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGV7d2lkdGg6NTZweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbjowfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdDpmb2N1c3tiYWNrZ3JvdW5kOnVuc2V0fS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSBidXR0b246bm90KFthcmlhLXByZXNzZWQ9dHJ1ZV0pIGMzLWljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggcmdiYSgwLDAsMCwwLjMpKX0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGVBY3Rpb25CdXR0b257cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweDttYXJnaW46MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0RGVza3RvcCAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbjowfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7ZGlzcGxheTpub25lfX0ueXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXgtd2lkdGg6NDgwcHh9Lnl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW06bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6NHB4O21heC13aWR0aDoxMDAlfS55dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1ib3R0b206NHB4O21heC13aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS55dEFuaW1hdGVkQWN0aW9uTG90dGlle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZHt3aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZENvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlfS5wbGF5ZXItc2V0dGluZ3MtaGVhZGVye21hcmdpbi1ib3R0b206MjBweH0ucGxheWVyLWNhcHRpb24tc2V0dGluZ3MsLnBsYXllci1xdWFsaXR5LXNldHRpbmdzLC5wbGF5ZXItc3BlZWQtc2V0dGluZ3N7d2lkdGg6MTAwJTttYXJnaW46NHB4IDAgMTJweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mb3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7bWluLWhlaWdodDo4LjRyZW07d2lkdGg6MTAwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtwYWRkaW5nOjhweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LmNvcHlEZWJ1Z0luZm9QbGF5ZXJEZWJ1Z0luZm97aGVpZ2h0OjQwdmg7ZGlyZWN0aW9uOmx0cn0uc3RhYmxlVm9sdW1lVG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllckNvbnRyb2xzQ29udGFpbmVySG9zdHstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3BhZGRpbmctYm90dG9tOjB9Lnl0U2hvcnRzRW1iZWRzSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpIDAscmdiYSgwLDAsMCwwKSAxNjBweCksbGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsMCkgOTZweCl9Lnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zLC55dFNob3J0c0VtYmVkc1JlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXIgLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEsLnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye3otaW5kZXg6Mn0ueXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6Mjt3aWR0aDoxMDAlfS55dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjQ4cHh9Lnl0bUN1ZWRPdmVybGF5SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1DdWVkT3ZlcmxheUhpZGRlbiwueXRtQ3VlZE92ZXJsYXlIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0zNnB4O21hcmdpbi10b3A6LTM2cHg7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0ueXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uLnNob3J0cywueXRtQ3VlZE92ZXJsYXlTaG9ydHN7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDotNTBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHh9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb257d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjojZjAzfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dG1DdWVkT3ZlcmxheVBsYXlCdXR0b25JY29ue2NvbG9yOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpmaXJzdC1jaGlsZHtmaWxsOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gLmxvZ28tYXJyb3csLnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpudGgtY2hpbGQoMil7ZmlsbDpDYW52YXN9fS55dG1DdWVkT3ZlcmxheUdyYWRpZW50e3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7aGVpZ2h0OjdyZW19Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjNweH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJ7aGVpZ2h0OjNweDttYXJnaW46MCAxcHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJJc1NjcnViYmluZ3ttYXJnaW46MCAycHh9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6MH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXI6bGFzdC1vZi10eXBle21hcmdpbi1yaWdodDowfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbHtoZWlnaHQ6M3B4O3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyTG9hZGVke2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7aGVpZ2h0OjNweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcnt0cmFuc2Zvcm06c2NhbGVZKDIpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmV7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjNweDt3aWR0aDoxMDAlfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lUm91bmRlZHtib3JkZXItcmFkaXVzOjEuNXB4O292ZXJmbG93OmhpZGRlbn0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjY7d2lkdGg6MTAwJX0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO2JvdHRvbTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dEhlYXRTZWVrZXJIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lnl0SGVhdFNlZWtlckhpZ2hDb250cmFzdHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDApLDkwJSxyZ2JhKDAsMCwwLC42KSk7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3R7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTtkaXJlY3Rpb246bHRyfS55dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0SGlkZGVue29wYWNpdHk6MH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RMb3dlclBsYXllcntib3R0b206MDtsZWZ0OjMwcHg7cmlnaHQ6MzBweDtoZWlnaHQ6NDRweH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdle2hlaWdodDoyOHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTotN3B4fS55dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0e2hlaWdodDoyOHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS55dFBsYXllclByb2dyZXNzQmFySG9zdEN1c3RvbXtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNSkpO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguMiwwLC42LDEpfS55dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGV7b3BhY2l0eTowfS55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdle2hlaWdodDowO3BhZGRpbmc6MTkuNXB4IDAgOC41cHh9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxLjVweH0ueXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXJJbnNldHtib3R0b206MTQuNXB4fS55dFBsYXllclByb2dyZXNzQmFyUHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0e3BhZGRpbmc6MTZweCAwIDEycHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjp3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWR7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweCl9Lnl0UHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5le3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozcHg7d2lkdGg6MTAwJX0ueXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVke2JvcmRlci1yYWRpdXM6MS41cHg7b3ZlcmZsb3c6aGlkZGVufS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMb2FkZWR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjZ9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJIb3ZlcmVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi43fS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRQcm9ncmVzc0JhclBsYXloZWFkSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90e2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6I2YwMzt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90SGlkZXt0cmFuc2Zvcm06c2NhbGUoMCl9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b217aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtwb2ludGVyLWV2ZW50czpub25lfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2V7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUhpZGV7dHJhbnNmb3JtOnNjYWxlKDApfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZHt3aWR0aDoxMDAlO2xlZnQ6NTAlfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0c3ttYXJnaW4tYm90dG9tOjQ4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXJ7Ym90dG9tOmNhbGMoNTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3REZXNrdG9wU2hvcnRze21hcmdpbi1ib3R0b206MTZweH0ueXRQbGF5ZXJTdG9yeWJvYXJkSG9zdElzRHJhZ2dpbmd7bWFyZ2luLWJvdHRvbTo4MHB4fS55dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUlue2FuaW1hdGlvbjpmYWRlLWluIC4xcyBjdWJpYy1iZXppZXIoLjIsMCwuNiwxKX0ueXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6IzAwMH0ueXRQbGF5ZXJTdG9yeWJvYXJkQmlnYm9hcmRJbWFnZVdyYXBwZXJ7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXB7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3tmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuOHJlbTtsaW5lLWhlaWdodDozLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXBTaG9ydHN7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3twYWRkaW5nLXRvcDo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmd7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOmNhbGMoMS42cmVtKnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKTtsaW5lLWhlaWdodDpjYWxjKDIuMnJlbSp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhe3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTpjYWxjKC02cHgqdmFyKC0tc3Rvcnlib2FyZC1zY2FsZSwgMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwxMDAlKTtsZWZ0OjUwJTtjb2xvcjojZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7Zm9udC1zaXplOmNhbGMoMTJweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhQmlnYm9hcmR7d2lkdGg6YXV0bztjb2xvcjojZmZmO21heC13aWR0aDoxMDAlO2JvdHRvbTo2cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO3BhZGRpbmc6OHB4IDE2cHg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1jb2x1bW4tZ2FwOjFyZW07Y29sdW1uLWdhcDoxcmVtO21pbi13aWR0aDowfS55dFBsYXllclN0b3J5Ym9hcmRUaXRsZXttYXgtd2lkdGg6MTAwJTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7bWFyZ2luLWJvdHRvbTo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGVCaWdib2FyZHttYXJnaW4tYm90dG9tOjA7Zm9udC13ZWlnaHQ6NzAwfS55dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb25XcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb257aGVpZ2h0OjE0cHg7d2lkdGg6MTRweDttYXJnaW4tcmlnaHQ6NHB4fS55dFBsYXllclN0b3J5Ym9hcmRTdG9yeWJvYXJkSW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX1Aa2V5ZnJhbWVzIGZhZGUtaW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowO2JvdHRvbTowO2hlaWdodDozcHg7ZGlyZWN0aW9uOmx0cjt0cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCxtYXJnaW4tbGVmdCxtYXJnaW4tcmlnaHQscGFkZGluZyx2aXNpYmlsaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjI1c30ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SXNTY3J1YmJhYmxlTW9kZXttYXJnaW4tcmlnaHQ6MTZweDttYXJnaW4tbGVmdDoxNnB4O2hlaWdodDoxNnB4O3BhZGRpbmctYm90dG9tOjE2cHg7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9Lnl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdEhpZGVQcm9ncmVzc0Jhcnt2aXNpYmlsaXR5OmhpZGRlbjtoZWlnaHQ6MH0ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNHZXN0dXJlT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwdmg7d2lkdGg6MTAwdnc7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czphdXRvfS55dHdBdXRvbmF2VG9vbHRpcEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyNSU7d2lkdGg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtjb2xvcjojZmZmfS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcEhvc3R7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDhweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwV3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50O21hcmdpbi10b3A6MTZweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6Njtib3JkZXItcmFkaXVzOjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7cGFkZGluZzo3cHggMTZweDttYXgtd2lkdGg6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcFdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0Om5vdCgueXR3U3BlZWRtYXN0ZXJUb29sdGlwS2lsbHN3aXRjaCl7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7bGVmdDowO3JpZ2h0OjB9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcExhYmVse3RleHQtYWxpZ246anVzdGlmeTtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH1bZGlyPXJ0bF0gLnl0d1NwZWVkbWFzdGVyVG9vbHRpcExhYmVse2RpcmVjdGlvbjpydGx9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEljb257bWFyZ2luLWxlZnQ6NHB4fS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZU92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvfS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZUNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYXtoZWlnaHQ6MTAwJTt3aWR0aDoyNSV9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNNZW51R2VzdHVyZUFyZWF7aGVpZ2h0OjEwMCU7d2lkdGg6NTAlfS55dG1WaWRlb0NvdmVySG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1WaWRlb0NvdmVySG9zdC5lbmRlZHt6LWluZGV4OjB9Lnl0bVZpZGVvQ292ZXJIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bVZpZGVvQ292ZXJUaHVtYm5haWx7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3Zlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dGRWb2x1bWVDb250cm9sc0hvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWF4LWhlaWdodDo0OHB4fS55dGRWb2x1bWVDb250cm9sc0Rpc2FibGVTbGlkZXJ7d2lkdGg6NDhweH0ueXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTBweDtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgYXV0bzttYXgtd2lkdGg6MTY4cHh9Lnl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJWZXJ0aWNhbHttYXgtd2lkdGg6NDhweDt3aWR0aDo0OHB4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2dhcDo2MHB4O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwb2ludGVyLWV2ZW50czpub25lfS55dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVyRXhwYW5kZWR7cG9pbnRlci1ldmVudHM6YWxsfS55dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czo1MHB4fS55dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmVuZDt6LWluZGV4OjE7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO3BhZGRpbmc6MTJweDtjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphbGw7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjA7b3BhY2l0eTowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjEycyBsaW5lYXIsb3BhY2l0eSAuMTJzIGxpbmVhcix3aWR0aCAuMTJzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJFeHBhbmRlZHt2aXNpYmlsaXR5OnZpc2libGU7d2lkdGg6MTAwJTtvcGFjaXR5OjE7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC4zcyBsaW5lYXIsb3BhY2l0eSAuM3MgbGluZWFyLHdpZHRoIC4zcyBsaW5lYXI7ei1pbmRleDoxfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcldpdGhTY3JpbXtwYWRkaW5nLXJpZ2h0OjEycHh9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Ym9yZGVyLXJhZGl1czo1MHB4O2hlaWdodDo0OHB4O21pbi1oZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDttYXJnaW46MDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggMHMgbGluZWFyIC4zcyxtYXJnaW4gLjNzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbERvd257dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRXhwYW5kZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7bWFyZ2luLXRvcDo4cHg7d2lkdGg6MTMzcHg7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC4zcyBsaW5lYXIsb3BhY2l0eSAuM3MgbGluZWFyLHdpZHRoIDBzIGxpbmVhcixtYXJnaW4gLjNzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJEaXNhYmxlU2xpZGVye2Rpc3BsYXk6bm9uZX0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXJ7LS1ncmFkaWVudC1wZXJjZW50OjA7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO21hcmdpbi1ib3R0b206MXB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWluLXdpZHRoOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6OHB4IDA7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmZiAwLCNmZmYgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwwLjMpIHZhcigtLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsMC4zKSAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmZiAwLCNmZmYgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgwLDAsMCwwLjEpIHZhcigtLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMCwwLDAsMC4xKSAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtib3JkZXItcmFkaXVzOjUwJTttYXJnaW4tdG9wOi02LjVweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7aGVpZ2h0OjJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7aGVpZ2h0OjJweH0ueXRkVm9sdW1lQ29udHJvbHNNdXRlSWNvbntjb2xvcjp3aGl0ZX0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW17aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDt6LWluZGV4OjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7dHJhbnNpdGlvbjp3aWR0aCAuMjVzIGxpbmVhcjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwcHh9Lnl0ZFZvbHVtZUNvbnRyb2xzQmFja2dyb3VuZFNjcmltRXhwYW5kZWR7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZEhvdmVyU3RhdGU6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjI4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxiYWNrZ3JvdW5kLWNvbG9yfS55dHdQbGF5ZXJGdWxsc2NyZWVuQWN0aW9uTWVudUhvc3R7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVDaXJjbGVCdXR0b25ze21hcmdpbi1yaWdodDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoyNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24gYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9uIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbHtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWx7cGFkZGluZzo2cHggMTJweH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDotMXB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxTdGFja3ttYXJnaW4tbGVmdDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlse2hlaWdodDoycHg7bWFyZ2luLWJvdHRvbToxcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoycHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlse3dpZHRoOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWx7d2lkdGg6MjBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbn0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsU2luZ2xlVGh1bWJuYWlsIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXJ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtvdXRsaW5lOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWx7ZGlzcGxheTpibG9ja30ueXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0e21hcmdpbi1yaWdodDoxMnB4fXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnN7bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLXRleHR7ZGlzcGxheTpub25lfXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMgLmJ1dHRvbi1yZW5kZXJlcnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21pbi13aWR0aDphdXRvO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luOjB9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0uZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMTVweDtib3R0b206Y2FsYyh2YXIoLS1jb250cm9scy1oZWlnaHQpKi0xKTtsZWZ0OjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6dmFyKC0tY29udHJvbHMtaGVpZ2h0KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZ1bGxzY3JlZW4tY29udHJvbHMtdmlkZW8tdGl0bGV7Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi1jb250cm9scy5leHBhbmRlZHtib3R0b206MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfUBtZWRpYSAocG9pbnRlcjpmaW5lKXsuZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMjhweH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcntzY3JvbGxiYXItd2lkdGg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6YXV0bztvdmVyZmxvdy15OmF1dG99LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS5mdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5OmJsb2NrfX0uZnVsbHNjcmVlbi1idXR0b25zLXdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ0cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweH0udG9wLWZ1bGxzY3JlZW4tY29udHJvbHN7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS5mdWxsc2NyZWVuLWNsb3NlLWJ1dHRvbi13cmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2hlaWdodDo0OHB4O2xlZnQ6MjRweDtyaWdodDoyNHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ei1pbmRleDoyfS5hY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtib3JkZXItcmFkaXVzOjQ4cHg7cGFkZGluZzo0cHggMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyPjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4cHh9LmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUsLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3QsLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlcnttYXJnaW4tbGVmdDphdXRvO2hlaWdodDoxMDAlfS5mdWxsc2NyZWVuLW1vcmUtdmlkZW9zLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5zdGFja2VkLXZpZGVvcy13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDo2NHB4O2hlaWdodDoxMDAlfS5zdGFja2VkLXZpZGVvLXByZXZpZXd7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZDpibGFjaztib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6M3B4O292ZXJmbG93OmhpZGRlbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnN0YWNrZWQtdmlkZW8tcHJldmlldyAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0uc3RhY2tlZC12aWRlby1wcmV2aWV3OmZpcnN0LWNoaWxke3otaW5kZXg6M30uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgyKXt6LWluZGV4OjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoLjg3NSl9LnN0YWNrZWQtdmlkZW8tcHJldmlldzpudGgtY2hpbGQoMikgLnN0YWNrZWQtdmlkZW8tcHJldmlldy1pbWFnZXtvcGFjaXR5Oi43NX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKXt6LWluZGV4OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCkgc2NhbGUoLjc1KX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKSAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle29wYWNpdHk6LjV9Lm1vcmUtdmlkZW9zLW1lc3NhZ2V7bWFyZ2luLXJpZ2h0OjEycHg7dGV4dC1hbGlnbjpyaWdodH0ubW9yZS12aWRlb3MtbWVzc2FnZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS5tb3JlLXZpZGVvcy1tZXNzYWdlLXN1YnRpdGxle2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eTouN30ucXVpY2stYWN0aW9ucy13cmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6YXV0b30ucXVpY2stYWN0aW9ucy1iYXItYnV0dG9ucy13cmFwcGVye3BhZGRpbmctbGVmdDoxMnB4fS53YXRjaC1vbi15b3V0dWJlLWJ1dHRvbi13cmFwcGVye2RpcmVjdGlvbjpsdHJ9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsud2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweH19LndhdGNoLW9uLXlvdXR1YmUtYnV0dG9ue3BhZGRpbmctbGVmdDo0cHh9Lm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIsLm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyLmNpcmNsZS1idXR0b25zLC5uby1sYWJlbC1leHA+eXRtLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubm8tbGFiZWwtZXhwIHl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMubGlrZS1idXR0b24tbm8tbGFiZWwtZXhwe2RpcmVjdGlvbjpydGx9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51LC5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX19eXRtLWN1c3RvbS1jb250cm9sIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1jdXN0b20tY29udHJvbCAuaWNvbi1idXR0b246bm90KC5wbGF5ZXItc2V0dGluZ3MtaWNvbil7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjhweH15dG0tY3VzdG9tLWNvbnRyb2wgLmljb24tYnV0dG9uOm5vdCgucGxheWVyLXNldHRpbmdzLWljb24pPmMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH19eXRtLWN1c3RvbS1jb250cm9sIC5hdXRvbmF2LXVzZXItZWR1Y2F0aW9uLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjUlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6I2ZmZn0uaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC5wbGF5ZXItY29udHJvbHMtYm90dG9tLC5pbnRlcmNlcHQtZWxlbWVudC1jbGlja3MgLnBsYXllci1jb250cm9scy1taWRkbGUsLmludGVyY2VwdC1lbGVtZW50LWNsaWNrcyAucGxheWVyLWNvbnRyb2xzLXRvcCwuaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntwb2ludGVyLWV2ZW50czpub25lfXl0bS1jdXN0b20tY29udHJvbCAuZmluZS1zY3J1YmJpbmctb3ZlcmxheSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1ib3R0b20gLmZ1bGxzY3JlZW4taWNvbiBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uIGMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtcGIgLmljb24tYnV0dG9uPmMzLWljb24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIC5pY29uLWJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvblthcmlhLXByZXNzZWQ9ZmFsc2VdPmMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIHl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24gYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXT5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmljb24tZGlzYWJsZSBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt6LWluZGV4OjI7cmlnaHQ6MjRweH1AbWVkaWEgKG1heC1oZWlnaHQ6MjIxcHgpe3l0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtyaWdodDowfX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjM4MHB4KXt5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDoxNHB4fX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AtcmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9W2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQsW2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXJlY3Rpb246cnRsfWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHt0b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApfXl0bS1jdXN0b20tY29udHJvbCBjMy1vdmVybGF5e3Zpc2liaWxpdHk6dmlzaWJsZX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59I3BsYXllci1jb250cm9sLW92ZXJsYXkudXNlLW9wYWNpdHkgLnBsYXllci1jb250cm9scy1jb250ZW50e29wYWNpdHk6MDt2aXNpYmlsaXR5OnVuc2V0fSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjA7b3BhY2l0eTowfSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZDpub3QoLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCl7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwuNTQpIDI1JSxyZ2JhKDAsMCwwLC4zNikgNTAlLHJnYmEoMCwwLDAsLjE4KSA3NSUscmdiYSgwLDAsMCwwKSk7YmFja2dyb3VuZC1zaXplOjFweCA1MCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheSAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3A6MDt2aXNpYmlsaXR5OnZpc2libGV9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWFjdGlvbi1pdGVtc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9I3BsYXllci1jb250cm9sLW92ZXJsYXkuYW5pbWF0aW9uLWVuYWJsZWR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmFuaW1hdGlvbi1lbmFibGVkIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9I3BsYXllci1jb250cm9sLW92ZXJsYXkucG9pbnRlci1ldmVudHMtb2Zme3BvaW50ZXItZXZlbnRzOm5vbmV9I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWlue3BvaW50ZXItZXZlbnRzOmF1dG99I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWluIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt6LWluZGV4OjI7b3BhY2l0eToxfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbiAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7dmlzaWJpbGl0eTp2aXNpYmxlfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbi51c2Utb3BhY2l0eSAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dW5zZXR9I3BsYXllci1jb250cm9sLW92ZXJsYXkuaGlkZGVue2Rpc3BsYXk6bm9uZX1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXJ7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206MzBweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206NTBweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTo1MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206ODJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnV7bGVmdDoxMnB4O3JpZ2h0OjEycHh9QG1lZGlhIChtaW4td2lkdGg6MzgwcHgpey5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1hY3Rpb24tbWVudXtsZWZ0OjMwcHg7cmlnaHQ6MzBweH19QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsuZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTozMnB4O3otaW5kZXg6MztoZWlnaHQ6NDBweDtsZWZ0OjEycHg7cmlnaHQ6MTJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIC55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZW5kfS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIgLnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhcntwYWRkaW5nLWJvdHRvbToxMnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NThweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0e2xlZnQ6MDtyaWdodDo0NHB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e2xlZnQ6dW5zZXQ7cmlnaHQ6MDt6LWluZGV4OjR9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e2xlZnQ6MnB4O3JpZ2h0OjJweDtib3R0b206MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludHttYXJnaW4tdG9wOjEycHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvLXByZXZpZXcsLmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvcy13cmFwcGVye3dpZHRoOjQycHg7aGVpZ2h0OjI0cHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5wbGF5ZXItdGltZS1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6bm9uZX19LnBsYXllci1jb250cm9scy1oaWRle2Rpc3BsYXk6bm9uZX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QnJhbmRpbmdJY29ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2cHg7cmlnaHQ6MTJweDtjb2xvcjojZmZmfVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb257bGVmdDoxMnB4O3JpZ2h0OmF1dG99Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QmFja2dyb3VuZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5SGlkZUFjdGlvbk1lbnV7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTVweDtyaWdodDoxMnB4fVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXJ7bGVmdDoxMnB4O3JpZ2h0OmF1dG99QGtleWZyYW1lcyB5dG0tZXF1YWxpemVyLWFuaW1hdGlvbnswJXt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGVZKC41KX10b3t0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIgLnl0bS1lcXVhbGl6ZXItYmFyLWxlZnQsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1taWRkbGUsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDthbmltYXRpb24tbmFtZTp5dG0tZXF1YWxpemVyLWFuaW1hdGlvbjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbGVmdHthbmltYXRpb24tZHVyYXRpb246LjVzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbWlkZGxle2FuaW1hdGlvbi1kdXJhdGlvbjoxLjNzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItcmlnaHR7YW5pbWF0aW9uLWR1cmF0aW9uOi43c30ueXRTaG9ydHNUb3VjaEZlZWRiYWNrSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW57ZGlzcGxheTpub25lfS55dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNre2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlcnt3aWR0aDoyNDBweDtoZWlnaHQ6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbnt3aWR0aDo5NnB4O2hlaWdodDo5NnB4fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdHtvdmVyZmxvdy15OnNjcm9sbH19Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyU2NyaW1Db250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo1fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lcntib3JkZXItcmFkaXVzOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowIDhweCAyNHB4O21heC13aWR0aDo0MDBweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OnNjcm9sbH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXJ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTQwcHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjIwcHggMDt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTJweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDZW50cmFsSWNvbntoZWlnaHQ6NjVweDt3aWR0aDo2NXB4O2NvbG9yOiNmMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjQ1cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjI0cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZXtiYWNrZ3JvdW5kOiMwMzAzMDM7b3BhY2l0eTouMTU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjRweDttYXJnaW46MCBhdXRvO3dpZHRoOjQwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50c3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzPmRpdntwYWRkaW5nLWJvdHRvbTo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHM+eXRtLWJ1dHRvbi1yZW5kZXJlcntwYWRkaW5nLXRvcDo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7bGV0dGVyLXNwYWNpbmc6LjAwNWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZXtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjEuOHJlbX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxle2xldHRlci1zcGFjaW5nOi4wMWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3otaW5kZXg6NTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3RvcDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206NTAlfX1AbWVkaWEgKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlck92ZXJsYXlDb250YWluZXJ7Ym90dG9tOjI1JX19QG1lZGlhIChtYXgtaGVpZ2h0OjUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206MH19W2JvdHRvbS1zaGVldC1vdmVybGF5LWJvZHktb3Blbl17cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7dG9wOjA7b3ZlcmZsb3c6aGlkZGVufS55dG0tZm9yY2VkLW11dGUtbWVzc2FnZSAuYnV0dG9uLXdpdGgtaWNvbi1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjZweH0ueXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UgLmJ1dHRvbi13aXRoLWljb24taW5uZXIgYzMtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJ7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJbYmFja2dyb3VuZD1JTkZPX1BBTkVMX0NPTlRBSU5FUl9CQUNLR1JPVU5EX1NZU1RFTV06Zmlyc3QtY2hpbGR7Ym9yZGVyOm5vbmV9eXRtLWluZm8tcGFuZWwtY29udGFpbmVyLXJlbmRlcmVyW2JhY2tncm91bmQ9SU5GT19QQU5FTF9DT05UQUlORVJfQkFDS0dST1VORF9TWVNURU1de2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfR1JBWV17YmFja2dyb3VuZC1jb2xvcjojZmZmfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXJ7aGVpZ2h0OjM2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1sZWZ0LWl0ZW1ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItaWNvbnttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudT10cnVlXXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0W3l0bS1pbmZvLXBhbmVsLWNvbnRlbnQtaGFzLW1lbnU9dHJ1ZV0gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcldyYXBwZXJ7cGFkZGluZy1ib3R0b206MTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0SXNXYXRjaEluZm9QYW5lbHttYXJnaW46MTJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC10cnVuY2F0ZS1wYXJhZ3JhcGhzPXRydWVdIC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQYXJhZ3JhcGh7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjN9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbZGF0YS1iYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEVOVF9CQUNLR1JPVU5EX09WRVJMQVlfQkxBQ0tdIC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2V7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbZGF0YS1iYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEVOVF9CQUNLR1JPVU5EX0JMVUVde2JhY2tncm91bmQtY29sb3I6I2RlZjFmZn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Q2luZW1hdGljQmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcntwYWRkaW5nOjEycHggMTZweCAxNnB4IDE2cHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcldyYXBwZXJbZGF0YS1oYXMtaWNvbj10cnVlXXtwYWRkaW5nOjE0cHggMTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyQm9keXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvd30ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGV4dHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7Y29sb3I6IzA2NWZkNDttYXJnaW4tYm90dG9tOjRweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcnttYXgtaGVpZ2h0OjRyZW19Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29ue3BhZGRpbmctbGVmdDoxcHg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWV0YWRhdGF7bWFyZ2luLWJvdHRvbTo0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclB1Ymxpc2hUaW1le2Rpc3BsYXk6aW5saW5lO2NvbG9yOiM2MDYwNjA7cGFkZGluZy1sZWZ0OjNweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoe2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzA2NWZkNDtwYWRkaW5nLWxlZnQ6MnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2VUZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaHVtYm5haWx7ZmxleC1zaHJpbms6MDtoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21hcmdpbi1sZWZ0OjhweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyRW5kcG9pbnR7d2lkdGg6MTAwJX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVyUmlnaHRJdGVtc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhlYWRlckljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWVudXtkaXNwbGF5OmJsb2NrfS55dG1Mb2dvRW50aXR5SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4fS55dG1Mb2dvRW50aXR5Q29udGFpbmVye3dpZHRoOjEyMnB4O21hcmdpbi1yaWdodDoxMnB4fS55dG1Mb2dvRW50aXR5TG9nb3twYWRkaW5nOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6YXV0bztjb2xvcjp1bnNldH0ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJIb3N0e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojNjA2MDYwfS5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlclNjcmlte3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNCkgMCxyZ2JhKDAsMCwwLC42KSA3NSUscmdiYSgwLDAsMCwuNikpfS55dEJpZ2JvYXJkU3Rvcnlib2FyZEhvc3R7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW59Lnl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25Ib3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25JY29uRGlzYWJsZWRPdmVybGF5e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbll0SWNvbk92ZXJsYXl7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dG1DcmVhdG9yRW5kc2NyZWVuSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtmb250LXNpemU6MS4ycmVtO3Zpc2liaWxpdHk6aGlkZGVufS55dG1DcmVhdG9yRW5kc2NyZWVuSW5DdWVSYW5nZXt2aXNpYmlsaXR5OnZpc2libGV9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUze2ZvbnQtc2l6ZToxLjRyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MHtmb250LXNpemU6MS44cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjB7Zm9udC1zaXplOjIuNHJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRWaXNpYmxle29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS55dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6MDt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TY3JpbVZpc2libGV7b3BhY2l0eTouMjV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRIb3N0e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt0cmFuc2l0aW9uOnotaW5kZXggLjJzIHN0ZXAtZW5kO3otaW5kZXg6Njtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmV7dHJhbnNpdGlvbjp6LWluZGV4IC4ycyBzdGVwLXN0YXJ0O3otaW5kZXg6N30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbHtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2JveC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLDAuNil9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRSb3VuZHtib3JkZXItcmFkaXVzOjUwJX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuOCk7aGVpZ2h0OjEwMCU7cGFkZGluZzo4cHg7bWFyZ2luOi04cHg7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtjb2xvcjojZmZmO3Zpc2liaWxpdHk6aGlkZGVuO2FsaWduLWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5e2JvcmRlci1yYWRpdXM6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0gLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czoxMnB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0e2xlZnQ6MH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodEFjdGl2ZXtwYWRkaW5nLWxlZnQ6Y2FsYygxMDAlICsgOHB4KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0e3JpZ2h0OjB9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZXtwYWRkaW5nLXJpZ2h0OmNhbGMoMTAwJSArIDhweCl9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZSwueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodEFjdGl2ZXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO21heC13aWR0aDpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MTE1cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDcwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTA2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTcwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MTM2cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxMnB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTQyNiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMzZweDttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxNzZweDttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MjY0cHg7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjMycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjM5MnB4O21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXJpZ2h0OjI0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDoyNHB4O21hcmdpbi1yaWdodDo0OHB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWF4LWhlaWdodDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjEuMnJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yNTttYXJnaW4tYm90dG9tOjJweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjEuNnJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVRpdGxle2ZvbnQtc2l6ZToycmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjIuNHJlbX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToxLjJyZW07bWFyZ2luLXRvcDo0cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToxLjZyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuOHJlbTttYXJnaW4tdG9wOjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXtmb250LXNpemU6MnJlbTttYXJnaW4tdG9wOjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVse2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtwYWRkaW5nLXRvcDo0cHg7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjN9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNjQwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbHstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsey13ZWJraXQtbGluZS1jbGFtcDoxfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTM0NiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTUwNiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7ZGlzcGxheTpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q2FsbFRvQWN0aW9ue2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tdG9wOjRweDtmb250LXNpemU6MXJlbTt0cmFuc2l0aW9uOmFsbCAuMnN9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q2FsbFRvQWN0aW9uOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y3Vyc29yOnBvaW50ZXJ9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QnV0dG9ue21hcmdpbi10b3A6NHB4O21hcmdpbi1ib3R0b206NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTM0NiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b257ZGlzcGxheTpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW17cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazt6LWluZGV4OjY7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQ2hhbm5lbHtib3JkZXItcmFkaXVzOjUwJX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZle29wYWNpdHk6LjI1fS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkhvc3R7d2lkdGg6MTAwJX0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Db250ZW50Q29udGFpbmVye3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MThweH0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25GbGV4Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnR9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uQ2FuQW5pbWF0ZXt0cmFuc2l0aW9uOndpZHRoIC41cyBlYXNlfS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvblN0YXRpY1dpZHRoIC55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXJ7d2lkdGg6YXV0b30ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3R7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwwLjYpO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt6LWluZGV4OjV9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ1NtYWxsIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtib3JkZXItcmFkaXVzOjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nTWVkaXVtIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtib3JkZXItcmFkaXVzOjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nTGFyZ2UgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6MTJweH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmV7Ym9yZGVyLWNvbG9yOiNmZmZ9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUb3BPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDozMyV9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtjb2xvcjojZmZmO3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZToxLjJyZW07Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjo2cHggOHB4IDA7bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4zKTtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6MS40cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2ZvbnQtc2l6ZToxLjZyZW07bWFyZ2luOjEwcHggMTJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjJyZW07bWFyZ2luOjE0cHggMTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjIuNHJlbTttYXJnaW46MThweCAyMHB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlse29iamVjdC1maXQ6Y292ZXJ9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaW1lU3RhdHVze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjB9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaW1lU3RhdHVzIC55dEJhZGdlU2hhcGVIb3N0e2ZvbnQtc2l6ZTppbmhlcml0fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzoycHggNHB4O21hcmdpbi1ib3R0b206MnB4O21hcmdpbi1yaWdodDoycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzo2cHggOHB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzoxMHB4IDEycHg7bWFyZ2luLWJvdHRvbToxNnB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wR3JhZGllbnR7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouODtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMCwwLDApLHRyYW5zcGFyZW50KX0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoycHg7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwYWRkaW5nOjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3BhZGRpbmc6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXl7cGFkZGluZzoxMnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGh7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW46MCAycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDEycHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazt6LWluZGV4OjU7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yc30ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZle29wYWNpdHk6LjI1fS55dFBmcEF1dG9uYXZIb3N0e3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlzcGxheTpibG9ja30ueXRQZnBBdXRvbmF2VmlzaWJsZXtwb2ludGVyLWV2ZW50czphdXRvO2JhY2tncm91bmQ6YmxhY2t9Lnl0UGZwQXV0b25hdlNjcmlte3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp3aGl0ZTtwb2ludGVyLWV2ZW50czphdXRvfS55dFBmcEF1dG9uYXZIZWFkZXJ7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0UGZwQXV0b25hdlRpdGxle2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjRweH0ueXRQZnBBdXRvbmF2QnlsaW5le2ZvbnQtc2l6ZToxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRQZnBBdXRvbmF2QnlsaW5lLC55dFBmcEF1dG9uYXZUaXRsZXttYXgtd2lkdGg6ODAlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBBdXRvbmF2UGxheUJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo3MnB4O2hlaWdodDo3MnB4O21hcmdpbi1ib3R0b206MjRweDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyOjA7YmFja2dyb3VuZDpub25lO2NvbG9yOndoaXRlfS55dFBmcEF1dG9uYXZSaW5ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dFBmcEF1dG9uYXZQbGF5SWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2ZpbGw6d2hpdGV9Lnl0UGZwQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ueXRQZnBDb250cm9sc0hvc3QgOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggIzNlYTZmZn0ueXRQZnBDb250cm9sc092ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bzt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufS55dFBmcENvbnRyb2xzQ3JlYXRvckVuZHNjcmVlbkNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNGYWRlSW57cG9pbnRlci1ldmVudHM6YXV0b30ueXRQZnBDb250cm9sc0JpZ2JvYXJkLC55dFBmcENvbnRyb2xzQm90dG9tQmFyLC55dFBmcENvbnRyb2xzR3JhZGllbnRUb3AsLnl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lciwueXRQZnBDb250cm9sc1ZpZGVvVGl0bGV7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMsdmlzaWJpbGl0eSAuMjVzfS55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzQmlnYm9hcmQsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNCb3R0b21CYXIsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyLC55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59Lnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcHt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpLHJnYmEoMCwwLDAsMCkpO3BvaW50ZXItZXZlbnRzOm5vbmU7aGVpZ2h0OjQ5cHg7ei1pbmRleDo1fS55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZzoxMnB4O21hcmdpbjowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp3aGl0ZTtmb250LXNpemU6MThweDtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7cGFkZGluZzowO2JvcmRlcjowO2JhY2tncm91bmQtY29sb3I6dW5zZXR9Lnl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b25JY29uQmd7ZmlsbC1vcGFjaXR5Oi44O3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0UGZwQ29udHJvbHNPdmVybGF5OmhvdmVyIC55dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9uSWNvbkJne2ZpbGwtb3BhY2l0eToxO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0UGZwQ29udHJvbHNWaWRlb1dhbGxFbmRzY3JlZW57cGFkZGluZzo0OHB4IDA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6Mn0ueXRQZnBDb250cm9sc0F1dG9uYXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoyfS55dFBmcENvbnRyb2xzUHJvZ3Jlc3NCYXJDb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjQwcHg7bGVmdDowO3JpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bzt6LWluZGV4OjN9Lnl0UGZwQ29udHJvbHNCb3R0b21CYXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjQwcHg7cGFkZGluZy1sZWZ0OjNweDtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDoyfS55dFBmcENvbnRyb2xzTGVmdENvbnRyb2xzLC55dFBmcENvbnRyb2xzUmlnaHRDb250cm9sc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHN7bWF4LXdpZHRoOjExMnB4fS55dFBmcENvbnRyb2xzVGltZURpc3BsYXkueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5e2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luLWxlZnQ6OHB4Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfUBtZWRpYSAobWF4LXdpZHRoOjM0OXB4KXsueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5Lnl0UGZwQ29udHJvbHNUaW1lRGlzcGxheXtkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KXsueXRQZnBDb250cm9sc0NhcHRpb25zQnV0dG9ue2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MjQ5cHgpey55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHMueXRQZnBDb250cm9sc1ZvbHVtZUNvbnRyb2xze2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MTk5cHgpey55dFBmcENvbnRyb2xzU2V0dGluZ3NCdXR0b257ZGlzcGxheTpub25lfX0ueXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b24ueXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6IzAwMDtkaXNwbGF5OmJsb2NrfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0OmZvY3VzLXZpc2libGUgLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6Zm9jdXMtd2l0aGluIC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5LC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0OmhvdmVyIC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5e29wYWNpdHk6MX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGh1bWJuYWlse29iamVjdC1maXQ6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXlUaXRsZUJ5bGluZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6NjBweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLC44KSxyZ2JhKDAsMCwwLC42KSA2MCUscmdiYSgwLDAsMCwwKSk7cGFkZGluZzo4cHh9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlclRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxOHB4O2NvbG9yOndoaXRlfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJCeWxpbmV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDo0cHg7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxMnB4O2NvbG9yOndoaXRlfS55dFBmcE1vcmVWaWRlb3NIb3N0e2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZX1AbWVkaWEgKG1heC1oZWlnaHQ6Mjg5cHgpey55dFBmcE1vcmVWaWRlb3NIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0UGZwTW9yZVZpZGVvc092ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjQ4cHg7bGVmdDoxMnB4O3JpZ2h0OjEycHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDEyLDEyLDEyLC44KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOmF1dG87Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6OHB4IDA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dFBmcE1vcmVWaWRlb3NIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtwYWRkaW5nOjAgMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwTW9yZVZpZGVvc1RpdGxle2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b257cGFkZGluZzo0cHg7bWFyZ2luLXJpZ2h0Oi00cHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VJY29ue2NvbG9yOndoaXRlO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3BhZGRpbmc6MCAxMnB4IDRweCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVufS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3cteDphdXRvO2hlaWdodDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtzY3JvbGxiYXItd2lkdGg6bm9uZTtzY3JvbGwtYmVoYXZpb3I6c21vb3RofS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ueXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0ey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17aGVpZ2h0OjA7bWFyZ2luOjAgNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOmJsYWNrO3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0O3BhZGRpbmctYm90dG9tOjEzNXB4O3dpZHRoOjI0MHB4O21pbi13aWR0aDoyNDBweH1AbWVkaWEgKG1heC13aWR0aDoxMDQwcHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYygxNC4wNjI1JSAtIDYuNzVweCk7d2lkdGg6Y2FsYygyNSUgLSAxMnB4KTttaW4td2lkdGg6Y2FsYygyNSUgLSAxMnB4KX19QG1lZGlhIChtYXgtd2lkdGg6NzgwcHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYygxOC41NjI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoMzMlIC0gNnB4KTttaW4td2lkdGg6Y2FsYygzMyUgLSA2cHgpfX1AbWVkaWEgKG1heC13aWR0aDo1MzRweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDI4LjEyNSUgLSAzLjM3NXB4KTt3aWR0aDpjYWxjKDUwJSAtIDZweCk7bWluLXdpZHRoOmNhbGMoNTAlIC0gNnB4KX19QG1lZGlhIChtYXgtd2lkdGg6Mjg4cHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYyg1Ni4yNSUgLSAzLjM3NXB4KTt3aWR0aDpjYWxjKDEwMCUgLSA2cHgpO21pbi13aWR0aDpjYWxjKDEwMCUgLSA2cHgpfX0ueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OmF1dG99Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbTpsYXN0LWNoaWxke21hcmdpbi1yaWdodDphdXRvfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0LC55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDMzLDMzLC44KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp3aGl0ZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDoyO2JveC1zaGFkb3c6MCA0cHggNHB4IHJnYmEoMCwwLDAsLjI1KX0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlTGVmdDpob3ZlciwueXRQZnBNb3JlVmlkZW9zUGFkZGxlUmlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTAsNTAsNTApfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0e2xlZnQ6MH0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlUmlnaHR7cmlnaHQ6MH0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlSWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFBmcE1vcmVWaWRlb3NNb3JlVmlkZW9zQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1NnB4O2xlZnQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2NvbG9yOndoaXRlO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjhweCAxNnB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjU7cG9pbnRlci1ldmVudHM6YXV0bzt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0UGZwTW9yZVZpZGVvc01vcmVWaWRlb3NCdXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXNocmluazowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6IzAwMDtkaXNwbGF5OmJsb2NrfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0OmZvY3VzLXZpc2libGUgLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6Zm9jdXMtd2l0aGluIC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5LC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0OmhvdmVyIC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5e29wYWNpdHk6MX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGh1bWJuYWlse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheVRpdGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2MHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpIDYwJSxyZ2JhKDAsMCwwLDApKTtwYWRkaW5nOjhweH0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE4cHg7bWF4LWhlaWdodDozNnB4O2NvbG9yOndoaXRlO292ZXJmbG93OmhpZGRlbn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyQm90dG9tT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp3aGl0ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckljb257ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tcmlnaHQ6NHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjB9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlzaWJsZXtib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMiwxMiwxMil9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSXNPYnNjdXJlZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3RDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjB9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlTGVmdCwueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVSaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDMzLDMzLC45KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp3aGl0ZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDoyO2JveC1zaGFkb3c6MCA0cHggNHB4IHJnYmEoMCwwLDAsLjI1KX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0OmhvdmVyLC55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiKDUwLDUwLDUwKX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0e2xlZnQ6OHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0e3JpZ2h0OjhweH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9JdGVte3Bvc2l0aW9uOmFic29sdXRlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckhvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4Ojd9Lnl0UGxheWVyQ29udHJvbHNQbGF5ZXJBY3Rpb25JbmRpY2F0b3JBY3Rpb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7b3BhY2l0eTowO2FuaW1hdGlvbjphY3Rpb24tZmFkZS1vdXQgLjVzIGxpbmVhciAxIG5vcm1hbCBmb3J3YXJkc30ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtmaWxsOiNmZmZ9QGtleWZyYW1lcyBhY3Rpb24tZmFkZS1vdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMil9fS55dHdQbGF5ZXJUaW1lRGlzcGxheUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW59Lnl0d1BsYXllclRpbWVEaXNwbGF5VGltZUNodW5rc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3Q6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6NnB4O3dpZHRoOjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW4tcmlnaHQ6NHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3QueXR3UGxheWVyVGltZURpc3BsYXlMaXZlSGVhZDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIyNSwwLDQ1LDAuOSk7b3BhY2l0eToxfS55dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVEZWxpbWl0ZXJ7Y29sb3I6I2ZmZjttYXJnaW46MCA0cHg7b3BhY2l0eTouN30ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lU2Vjb25ke29wYWNpdHk6Ljd9Lnl0d1BsYXllclRpbWVEaXNwbGF5Q2hhcHRlclRleHR7bWFyZ2luLWxlZnQ6OHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheVBsYXllckJhckFjdGlvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBsYXllckJhckJ1dHRvbi55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGx7bWFyZ2luOjAgMCAwIDhweH0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b257b3ZlcmZsb3c6aGlkZGVuO21heC13aWR0aDoyNDBweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheUNoZXZyb257Y29sb3I6I2ZmZjtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O21hcmdpbi1yaWdodDotNHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGx7aGVpZ2h0OjI0cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4IDZweDtib3JkZXItcmFkaXVzOjE2cHg7Zm9udC1zaXplOjEuNHJlbTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGlsbCBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGwgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse21hcmdpbi1sZWZ0OjE2cHh9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsueXR3UGxheWVyVGltZURpc3BsYXlGdWxsc2NyZWVuQ29udHJvbHNBbHdheXNPbntkaXNwbGF5Om5vbmV9fS55dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUhvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlyZWN0aW9uOmx0cn0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNre2xlZnQ6NDhweH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJke3JpZ2h0OjQ4cHh9Lnl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb257Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMC44KTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2sgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3d7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZCAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd3ttYXJnaW4tbGVmdDoyMHB4fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93IC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3Zne2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3cgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoe2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLDAuOCkpfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNsYXRlOjAgLTUwJX0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNrIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbHtsZWZ0OjB9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZCAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd0FkZGl0aW9uYWx7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJFbmRzY3JlZW5Db250YWluZXJ7Y29sb3I6I2ZmZn0ueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVue3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuW2RhdGEtaGFzLXRpbWVyLWNvdW50ZG93bj10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cGFkZGluZzo4cHggMTZweDttYXJnaW46MCBhdXRvO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17cGFkZGluZzo4cHh9fVtkaXI9cnRsXSAueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuW2RhdGEtaGFzLXRpbWVyLWNvdW50ZG93bj10cnVlXXtkaXJlY3Rpb246cnRsfS55dHdQbGF5ZXJFbmRzY3JlZW5Ub3BQYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVse2Rpc3BsYXk6bm9uZX19Lnl0d1BsYXllckVuZHNjcmVlbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MTZweH0ueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duQ29udGFpbmVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duQ29udGFpbmVye21hcmdpbi1ib3R0b206OHB4fX0ueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duTnVtYmVye2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRWaWRlb0NvbnRhaW5lcjpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MTJweH0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXl7d2lkdGg6NTAlO2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA2cHgpO3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5e2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA0cHgpfX0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXk+Lnl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbENvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX0ueXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsT3ZlcmxheXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZve3dpZHRoOjUwJTtmbGV4LWJhc2lzOmNhbGMoNTAlIC0gNnB4KX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0luZm97ZmxleC1iYXNpczpjYWxjKDUwJSAtIDRweCl9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d1BsYXllckVuZHNjcmVlblZpZGVvVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZXttYXgtaGVpZ2h0OjRyZW07Y29sb3I6I2ZmZjttYXJnaW4tYm90dG9tOjRweH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9BdXRob3J7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dHdQbGF5ZXJFbmRzY3JlZW5CdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b257d2lkdGg6MTAwJX0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uPjpmaXJzdC1jaGlsZHt3aWR0aDoxMDAlfS55dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b246Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUN1c3RvbUNvbnRyb2xIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bUN1c3RvbUNvbnRyb2xIb3N0IDpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4ICMzZWE2ZmZ9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdHtjb2xvcjojZmZmO3BhZGRpbmc6MTJweCAwIDAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7dG9wOjUycHg7bWluLXdpZHRoOjEzMHB4O21heC13aWR0aDptaW4oNTAlIC0gNjRweCwyNzJweCl9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdEF1dG9oaWRle2FuaW1hdGlvbjpmYWRlIDNzIGVhc2UtaW4gMTBzIGZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHN9QG1lZGlhIChtYXgtYXNwZWN0LXJhdGlvOjMvNCl7Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdFRvcENvbnRyb2xzU3RhY2tlZEluUG9ydHJhaXR7dG9wOjExMnB4fX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJIaWRkZW57ZGlzcGxheTpub25lfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckJ1dHRvbnstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246bGVmdDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e2ZvbnQtc2l6ZToxLjNyZW07cGFkZGluZy1sZWZ0OjhweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlclRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e21heC1oZWlnaHQ6NHJlbX1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS55dEVtYmVkc0luZm9QYW5lbERldGFpbHNWaWV3TW9kZWxCb2R5VGV4dHtwYWRkaW5nOjAgMTJweCAxMnB4IDEycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0QXV0b2Nyb3BCdXR0b25Ib3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTttYXJnaW4tdG9wOjYwcHh9Lnl0QXV0b2Nyb3BCdXR0b25WaXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0ueXRBdXRvY3JvcEJ1dHRvbkhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbn0ueXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9ue2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjcpO2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwwLjYpO2JvcmRlci1yYWRpdXM6MThweH0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0ey1tb3otYm94LWZsZXg6MTtmbGV4OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3cteDphdXRvfUBtZWRpYSBub3QgKHBvaW50ZXI6ZmluZSl7Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdHstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9fUBtZWRpYSAocG9pbnRlcjpmaW5lKXsueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0e292ZXJmbG93LXk6YXV0b30ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDoxNnB4fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTB9fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc1JlY29tbWVuZGF0aW9ue3dpZHRoOjIwMHB4O21pbi13aWR0aDoyMDBweDttYXJnaW46MCA4cHg7Y29sb3I6I2ZmZn0ueXR3UGxheWVyRnVsbHNjcmVlbkNvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNIb3N0e3BhZGRpbmc6MTJweDtjb2xvcjojZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6Nn0ueXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNvbnRyb2xzVmlkZW9UaXRsZXttYXJnaW46MDtjb2xvcjojZmZmfS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ2xvc2VCdXR0b25XcmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS55dG1QYWlkQ29udGVudE92ZXJsYXlIb3N0e2NvbG9yOiNmZmY7YW5pbWF0aW9uOmZhZGUgM3MgZWFzZS1pbiAyMHMgZm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkcztwYWRkaW5nOjEycHggMCAxMnB4IDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0bVBhaWRDb250ZW50T3ZlcmxheUhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0bVBhaWRDb250ZW50T3ZlcmxheUxpbmt7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRtUGFpZENvbnRlbnRPdmVybGF5VGV4dHtmb250LXNpemU6MS4zcmVtO3BhZGRpbmctbGVmdDo4cHh9QGtleWZyYW1lcyBmYWRle3Rve29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfX0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MzBweDt6LWluZGV4OjI7aGVpZ2h0OjQ0cHh9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYXstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjUwJTtwYWRkaW5nOjZweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS5wbGF5ZXItY29udHJvbHMtYm90dG9tIC5wbGF5ZXItYm90dG9tLWNvbnRyb2xzLWZ1bGxzY3JlZW4taWNvbi12aXNpYmxlLWFyZWEgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLWxlZnR7bGVmdDoxMnB4O3JpZ2h0Ojc4cHh9LnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1yaWdodHtyaWdodDoyNHB4fS5wbGF5ZXItY29udHJvbHMtYm90dG9tIC5pY29uLWJ1dHRvbi5mdWxsc2NyZWVuLWljb257ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDtwYWRkaW5nOjZweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NDRweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMgLnBsYXllci1jb250cm9scy1ib3R0b217Ym90dG9tOjc0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzLmZzLXdhdGNoLXN5c3RlbSAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206OTRweH0ueXR3UGxheWVyTWlkZGxlQ29udHJvbHNIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdQbGF5ZXJNaWRkbGVDb250cm9sc0ExMXlTZWVrQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3otaW5kZXg6Nn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUucHJldmVudC1jb250cm9scy1jb2xsaXNpb257d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uPmMzLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4O2JhY2tncm91bmQ6bm9uZX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiBjMy1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYXstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwYWRkaW5nOjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC12aXNpYmxlLWFyZWEgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmVuZHNjcmVlbi1yZXBsYXktYnV0dG9ue2hlaWdodDphdXRvO3dpZHRoOmF1dG87Ym9yZGVyLXJhZGl1czo1NnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24uZW5kc2NyZWVuLXJlcGxheS1idXR0b24+YzMtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O3BhZGRpbmc6OHB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2wtcGxheS1wYXVzZS1pY29uLmljb24tYnV0dG9ue2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6NTAlfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2wtcGxheS1wYXVzZS1pY29uLmljb24tYnV0dG9uPmMzLWljb257aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwYWRkaW5nOnVuc2V0fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuZW5kc2NyZWVuLXJlcGxheS1idXR0b24uaWNvbi1idXR0b24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb257bWFyZ2luOjAgMzRweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnNjcmVlbnJlYWRlci1zYWZlLWhpZGUtbWlkZGxlLWJ1dHRvbnN7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbHMtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX1bZGlyPXJ0bF0geXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlOm5vdCgucHJldmVudC1jb250cm9scy1jb2xsaXNpb24pe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2xzLW1pZGRsZS1jb3JlLWJ1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2RpcmVjdGlvbjpsdHJ9Lnl0bVZpZGVvSW5mb0hvc3R7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjB9Lnl0bVZpZGVvSW5mb1ZpZGVvRGV0YWlsc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWxlZnQ6MTJweDttaW4taGVpZ2h0OjUuMnJlbX0ueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDB9fS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy10b3A6MTBweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfVtkaXI9cnRsXSAueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfS55dG1WaWRlb0luZm9DaGFubmVsVGl0bGV7bWF4LXdpZHRoOjEwMCU7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6MTtsaW5lLWhlaWdodDoxLjF9Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXJ7bWluLWhlaWdodDozNnB4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNmZmY7bWFyZ2luLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjB9Lnl0bVZpZGVvSW5mb0xvZ29FbmFibGVke3BhZGRpbmctbGVmdDo1MnB4fS55dG1WaWRlb0luZm9DaGFubmVsTG9nb3t3aWR0aDozNnB4O2hlaWdodDozNnB4O2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjEycHg7bWFyZ2luLXRvcDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDo3O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS55dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVye2hlaWdodDo1LjJyZW07cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO21pbi13aWR0aDo1MnB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxMnB4KTttYXJnaW46NHB4O21hcmdpbi10b3A6OHB4O292ZXJmbG93OmhpZGRlbn1bZGlyPXJ0bF0gLnl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lnl0bVZpZGVvSW5mb092ZXJsYXl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpO21hcmdpbi1sZWZ0OjRweDtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eTowO21heC13aWR0aDowO3BhZGRpbmctbGVmdDo1MnB4O3BhZGRpbmctcmlnaHQ6MTBweDt6LWluZGV4OjU7cG9zaXRpb246cmVsYXRpdmV9Lnl0bVZpZGVvSW5mb0V4cGFuZGVke29wYWNpdHk6MTttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvQ2hhbm5lbEluZm97ZGlzcGxheTpibG9jaztwYWRkaW5nLXJpZ2h0OjhweDstbW96LWJveC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToycHg7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZXtmb250LXNpemU6MS4ycmVtO2NvbG9yOiNmZmY7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS55dG1WaWRlb0luZm9TdWJzY3JpYmVCdXR0b257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuaXMtc3Vic2NyaWJlZCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVZpZGVvSW5mb0hpZGUsLnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtkaXNwbGF5Om5vbmV9Lnl0bVZpZGVvSW5mb0xpbms6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1NdXRlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRtTXV0ZUJ1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT2ZmLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25Pbnt3aWR0aDozNnB4O2hlaWdodDoxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYgc3ZnLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHh9Lnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2xlZnQ6MjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fVtkaXI9cnRsXSAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2xlZnQ6NnB4fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uUGF1c2VJY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7bGVmdDo2cHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH1bZGlyPXJ0bF0gLnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb257bGVmdDoyMnB4fS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2NvbG9yOiNmZmZ9Lnl0d1BsYXllclRvcENvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0ey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNCYWNrZ3JvdW5kQWN0aW9uSXRlbXN7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfXl0bS1ub3RpZmljYXRpb24tYWN0aW9uLXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7cGFkZGluZy1yaWdodDoxcmVtfS5ub3RpZmljYXRpb24tYWN0aW9uLWJ1dHRvbntmbGV4LXNocmluazowfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEycHg7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4fS5ib3R0b20tc2hlZXQtc2hhcmUtaXRlbSAudW5pZmllZC1zaGFyZS11cmwtaW5wdXR7aGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zaGFyZS10YXJnZXQtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTJweH0uYm90dG9tLXNoZWV0LXNoYXJlLWl0ZW0gLnNoYXJlLXRhcmdldC1saW5re3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2hlaWdodDo0OHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfWZ1bGxzY3JlZW4tb3ZlcmxheXtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvdmVyZmxvdzpzY3JvbGw7ei1pbmRleDo0fS55dENoaXBCYXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaH0ueXRDaGlwQmFyVmlld01vZGVsQ2hpcEJhclNjcm9sbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvIGhpZGRlbjtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZX0ueXRDaGlwQmFyVmlld01vZGVsQ2hpcEJhclNjcm9sbENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dENoaXBCYXJWaWV3TW9kZWxDaGlwQmFyU2Nyb2xsQ29udGFpbmVyV3JhcHBlZHtmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjhweDtvdmVyZmxvdzp2aXNpYmxlfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXIsLnl0Q2hpcEJhclZpZXdNb2RlbFJpZ2h0QXJyb3dDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXJ7bGVmdDowfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXJJc0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0Q2hpcEJhclZpZXdNb2RlbExlZnRBcnJvd0NvbnRhaW5lcjphZnRlcnt3aWR0aDo1MHB4O2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMjU1LDI1NSwyNTUsMCkgMCxyZ2JhKDI1NSwyNTUsMjU1LDAuMykgMjUlLHJnYmEoMjU1LDI1NSwyNTUsMC42KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwwLjkpIDc1JSx3aGl0ZSAxMDAlKX0ueXRDaGlwQmFyVmlld01vZGVsUmlnaHRBcnJvd0NvbnRhaW5lcntyaWdodDowfS55dENoaXBCYXJWaWV3TW9kZWxSaWdodEFycm93Q29udGFpbmVySXNIaWRkZW57ZGlzcGxheTpub25lfS55dENoaXBCYXJWaWV3TW9kZWxSaWdodEFycm93Q29udGFpbmVyOmJlZm9yZXt3aWR0aDo1MHB4O2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDI1NSwyNTUsMjU1LDApIDAscmdiYSgyNTUsMjU1LDI1NSwwLjMpIDI1JSxyZ2JhKDI1NSwyNTUsMjU1LDAuNikgNTAlLHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsd2hpdGUgMTAwJSl9Lnl0Q2hpcEJhclZpZXdNb2RlbExlZnRBcnJvdywueXRDaGlwQmFyVmlld01vZGVsUmlnaHRBcnJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDojZmZmfS55dENoaXBCYXJWaWV3TW9kZWxDaGlwV3JhcHBlcnttYXJnaW4tcmlnaHQ6OHB4fS55dENoaXBCYXJWaWV3TW9kZWxDaGlwV3JhcHBlcldpdGhOYXZpZ2F0aW9uQnV0dG9uc3ttYXJnaW4tdG9wOjRweDttYXJnaW4tYm90dG9tOjRweH0ueXRDaGlwU2hhcGVCdXR0b25SZXNldHtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O2NvbG9yOmluaGVyaXQ7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZS13aWR0aDowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOm5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ueXRDaGlwU2hhcGVIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0Q2hpcFNoYXBlQ2hpcHtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6OHB4O2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaGlwU2hhcGVDaGlwe291dGxpbmU6MXB4IHNvbGlkO291dGxpbmUtb2Zmc2V0Oi0xcHh9fS55dENoaXBTaGFwZUVsZXZhdGVkQ29udGVudHt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRDaGlwU2hhcGVPbmx5VGV4dFBhZGRpbmd7cGFkZGluZzowIDEycHh9Lnl0Q2hpcFNoYXBlT25seUljb25QYWRkaW5ne3BhZGRpbmc6MH0ueXRDaGlwU2hhcGVTdGFydEljb25QYWRkaW5ney1tb3otcGFkZGluZy1lbmQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6MTJweH0ueXRDaGlwU2hhcGVFbmRJY29uUGFkZGluZ3stbW96LXBhZGRpbmctc3RhcnQ6MTJweDtwYWRkaW5nLWlubGluZS1zdGFydDoxMnB4fS55dENoaXBTaGFwZUFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Y29sb3I6I2ZmZn1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaGlwU2hhcGVBY3RpdmV7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6U2VsZWN0ZWRJdGVtO2NvbG9yOlNlbGVjdGVkSXRlbVRleHR9fS55dENoaXBTaGFwZUFjdGl2ZVJlZGVzaWdue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO2NvbG9yOiMwMzAzMDN9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0Q2hpcFNoYXBlQWN0aXZlUmVkZXNpZ257Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6U2VsZWN0ZWRJdGVtO2NvbG9yOlNlbGVjdGVkSXRlbVRleHR9fS55dENoaXBTaGFwZURpc2FibGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjojOTA5MDkwfS55dENoaXBTaGFwZUluYWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjojMDMwMzAzfS55dENoaXBTaGFwZUluYWN0aXZlUmVkZXNpZ257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojNjA2MDYwO2JvcmRlcjouNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX0ueXRDaGlwU2hhcGVGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkICMwMzAzMDM7b3V0bGluZS1vZmZzZXQ6LTJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAzMDMwM30ueXRDaGlwU2hhcGVJY29uU3RhcnR7Y29sb3I6aW5oZXJpdDttYXJnaW46MCA0cHggMCA4cHg7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRDaGlwU2hhcGVJY29uT25seXtjb2xvcjppbmhlcml0O21hcmdpbjowIDhweDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dENoaXBTaGFwZUljb25FbmR7Y29sb3I6aW5oZXJpdDttYXJnaW46MCA2cHggMCA0cHg7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRDaGlwU2hhcGVBSUN1c3RvbWl6ZWRDaGlwQm9yZGVyRGFya01vZGV7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMGYwZjBmLCMwZjBmMGYpIHBhZGRpbmctYm94LGxpbmVhci1ncmFkaWVudCh0byByaWdodCwjN2YwZTdmLCMwMDdhNjUpIGJvcmRlci1ib3h9Lnl0Q2hpcFNoYXBlQUlDdXN0b21pemVkQ2hpcEJhY2tncm91bmRMaWdodE1vZGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjN2YwZTdmLCMwMDdhNjUpfS55dENoaXBTaGFwZUFJQ3VzdG9taXplZENoaXBJY29uRGFya01vZGV7Y29sb3I6IzdmMGU3Zn0ueXRDaGlwU2hhcGVNaWRkbGVncm91bmRBc3NldHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTt3aWR0aDpyb3VuZCh1cCwxMDAlLDFweCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0Q2hpcFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttaW4taGVpZ2h0OjU2cHg7cGFkZGluZzoyNHB4IDEycHggOHB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lck91dGxpbmV7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZTpmb2N1cy13aXRoaW57Ym9yZGVyOjJweCBzb2xpZCAjMDMwMzAzO3BhZGRpbmc6MjNweCAxMXB4IDdweH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWFDb250YWluZXJPdXRsaW5lRGlzYWJsZWR7Ym9yZGVyOjA7Y29sb3I6IzkwOTA5MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZUVycm9ye2JvcmRlci1jb2xvcjojYzMwMDI3fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lck91dGxpbmVFcnJvcjpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOiNjMzAwMjd9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyTGFiZWxIaWRkZW57bWluLWhlaWdodDozNnB4O3BhZGRpbmc6OXB4IDEycHggNnB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lckxhYmVsSGlkZGVuLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZTpmb2N1cy13aXRoaW57cGFkZGluZzo5cHggMTFweCA2cHh9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe21pbi1oZWlnaHQ6MDtjb2xvcjojMDMwMzAzO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtyZXNpemU6bm9uZTtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7cGFkZGluZzowO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntvcGFjaXR5OjB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjB9fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTpkaXNhYmxlZHtjb2xvcjojOTA5MDkwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OHB4O2xlZnQ6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbEZvY3VzZWR7dG9wOjdweDtsZWZ0OjExcHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUxhYmVsRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlTGFiZWxFcnJvcntjb2xvcjojYzMwMDI3fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVye2Rpc3BsYXk6bm9uZTtjb2xvcjojNjA2MDYwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNnB4O2xlZnQ6MTJweDtyaWdodDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVQbGFjZWhvbGRlclZpc2libGV7ZGlzcGxheTpibG9ja30ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWFDb250YWluZXJMYWJlbEhpZGRlbiAueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlUGxhY2Vob2xkZXJ7dG9wOjhweH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3IsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjRweDtjb2xvcjojYzMwMDI3O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVFcnJvckljb24sLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnRJY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUVycm9yTWVzc2FnZSwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSGludE1lc3NhZ2V7bWFyZ2luLWxlZnQ6NHB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVFcnJvckRpc2FibGVkLC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVIaW50RGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3JDaGFyYWN0ZXJDb3VudCwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSGludENoYXJhY3RlckNvdW50e21hcmdpbi1sZWZ0OmF1dG99Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUVycm9ySGludE1lc3NhZ2UsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnRIaW50TWVzc2FnZXttYXJnaW4tbGVmdDo0cHg7Y29sb3I6IzYwNjA2MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3JJY29ue2NvbG9yOmluaGVyaXR9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzowfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUaW1lUGlja2VyIC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVQbGFjZWhvbGRlciwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGltZVBpY2tlciAueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWF7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmU6YXV0bzttYXgtd2lkdGg6ODBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjZyZW07bGluZS1oZWlnaHQ6NXJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVyLC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUaW1lUGlja2VyIC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjJyZW07bGluZS1oZWlnaHQ6NC40cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVye2luc2V0OjB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe2hlaWdodDoxMDAlO3BhZGRpbmc6OXB4IDB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUZpbGxQYXJlbnQsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUZpbGxQYXJlbnQgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe2hlaWdodDoxMDAlfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVGaWxsUGFyZW50IC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdHtvdXRsaW5lOjJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdENvbnRlbnRSZXNlYXJjaHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfS55dFNlYXJjaElucHV0Vmlld01vZGVsTGVhZGluZ0ljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NHB4O2NvbG9yOiM2MDYwNjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWFyY2hJbnB1dFZpZXdNb2RlbEZvcm17LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHh9Lnl0U2VhcmNoSW5wdXRWaWV3TW9kZWxDbGVhckJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4fS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7c2Nyb2xsYmFyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3Njcm9sbGJhci13aWR0aDp0aGlufS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6MTZweH0ueXR3Q2hhbm5lbEJsb2Nrc1ZpZXdNb2RlbExpc3RXcmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntoZWlnaHQ6NTZweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXI6aG92ZXJ7c2Nyb2xsYmFyLWNvbG9yOiM5MDkwOTAgdHJhbnNwYXJlbnR9Lnl0d0NoYW5uZWxCbG9ja3NWaWV3TW9kZWxMaXN0V3JhcHBlcjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7b3ZlcmZsb3cteTphdXRvO21heC1oZWlnaHQ6bWluKDM2MHB4LDEwMHZoIC0gMzAwcHgpO21pbi13aWR0aDptaW4oNDQ4cHgsMTAwdncgLSAxNDRweCl9QG1lZGlhIChtYXgtd2lkdGg6MzMwcHgpey55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gMjAwcHgpfX0ueXR3Q2hhbm5lbEJsb2Nrc1ZpZXdNb2RlbFNlYXJjaENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0d0NoYW5uZWxCbG9ja3NWaWV3TW9kZWxEcm9wZG93blBhbmVse3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjI1KTtib3JkZXItcmFkaXVzOjRweDt6LWluZGV4OjIwMTA7d2lkdGg6MTAwJTttYXgtaGVpZ2h0Om1pbigzMDBweCwxMDB2aCAtIDMwMHB4KTtvdmVyZmxvdy15OmF1dG87dG9wOjEwMCU7bGVmdDowfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsU3VnZ2VzdGlvbnNMaXN0Ym94e3BhZGRpbmc6OHB4IDB9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllck92ZXJsYXlJbnRlcmFjdGlvbkludGVyYWN0aW9uc1N2Z3twb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSW50ZXJhY3Rpb25zU3ZnSG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSW50ZXJhY3Rpb25zU3ZnSGlkZU91dGxpbmV7b3V0bGluZTpub25lfS55dERpc21pc3NpYmxlSXRlbVJlcGxhY2VkQ29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dERpc21pc3NpYmxlSXRlbUFzcGVjdFJhdGlvQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8xNkJ5OXtwYWRkaW5nLXRvcDo1Ni4yNSV9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8yQnkze3BhZGRpbmctdG9wOjE1MCV9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8zQnk0e3BhZGRpbmctdG9wOjEzMy4zMyV9Lnl0RGlzbWlzc2libGVJdGVtU2hvcnRzQXNwZWN0UmF0aW85QnkxNntwYWRkaW5nLXRvcDoxNzglfS55dERpc21pc3NpYmxlSXRlbUFzcGVjdFJhdGlvMUJ5MXtwYWRkaW5nLXRvcDoxMDAlfS55dE5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXJIb3N0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MjBweCAxMnB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVySG9zdExlZ2FjeVNoZWxmU3R5bGV7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtib3JkZXI6bm9uZX0ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyVGV4dENvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjEycHh9Lnl0Tm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlclRleHRDb250YWluZXJMZWdhY3lTaGVsZlN0eWxley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7bWFyZ2luLWJvdHRvbTowO21hcmdpbi1yaWdodDoxMnB4fS55dE5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXJCdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCV9Lnl0Tm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlckJ1dHRvbkNvbnRhaW5lckxlZ2FjeVNoZWxmU3R5bGV7d2lkdGg6YXV0b30ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyQnV0dG9ue3BhZGRpbmc6NnB4IDA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXROb3RpZmljYXRpb25UZXh0UmVuZGVyZXJIb3N0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dHdBZEF2YXRhclZpZXdNb2RlbEhvc3QsLnl0d0FkQXZhdGFyVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7ZGlzcGxheTpibG9ja30ueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3QsLnl0d0FkQmFkZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5OmlubGluZX0ueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50U3R5bGVTdGFuZGFyZCwueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3RTdHlsZVN0YW5kYXJke2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dHdBZEJhZGdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRTdHlsZVN0YW5kYXJkQnJvd3NlLC55dHdBZEJhZGdlVmlld01vZGVsSG9zdFN0eWxlU3RhbmRhcmRCcm93c2V7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dHdBZEJhZGdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7Y3Vyc29yOnBvaW50ZXJ9Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0LC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7ZGlzcGxheTpibG9ja30ueXR3QWREZXRhaWxzTGluZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dFN0eWxlU3RhbmRhcmQsLnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0VGV4dFN0eWxlU3RhbmRhcmR7Y29sb3I6IzYwNjA2MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRTdHlsZVN0YW5kYXJkLC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdFRleHRTdHlsZVN0YW5kYXJkey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRTdHlsZVN0YW5kYXJkLC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdFRleHRTdHlsZVN0YW5kYXJke21heC1oZWlnaHQ6MS44cmVtO3dvcmQtYnJlYWs6YnJlYWstYWxsfS55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0U3R5bGVTdGFuZGFyZEJyb3dzZSwueXR3QWREZXRhaWxzTGluZVZpZXdNb2RlbEhvc3RUZXh0U3R5bGVTdGFuZGFyZEJyb3dzZXt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyOy0tZmVlZC1hZC1tZXRhZGF0YS10b3AtcGFkZGluZzoxMnB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50TWV0YWRhdGEsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXJpZ2h0OjI0cHg7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LS1mZWVkLWFkLW1ldGFkYXRhLWJvdHRvbS1tYXJnaW46MTJweH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhTm9Cb3R0b21NYXJnaW4sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1ldGFkYXRhTm9Cb3R0b21NYXJnaW57LS1mZWVkLWFkLW1ldGFkYXRhLWJvdHRvbS1tYXJnaW46MH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZXRhZGF0YUFkQmFkZ2VEZXRhaWxzTGluZUNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcn0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyU3R5bGVDb21wYWN0U2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZXRhZGF0YUFkQmFkZ2VEZXRhaWxzTGluZUNvbnRhaW5lclN0eWxlQ29tcGFjdFNlYXJjaHtwYWRkaW5nLXRvcDo4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7Y3Vyc29yOnBvaW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyU3R5bGVTdGFuZGFyZCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0TWV0YWRhdGFBZEJhZGdlRGV0YWlsc0xpbmVDb250YWluZXJTdHlsZVN0YW5kYXJke2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2N1cnNvcjpwb2ludGVyO3BhZGRpbmctYm90dG9tOnZhcigtLWZlZWQtYWQtbWV0YWRhdGEtYm90dG9tLW1hcmdpbil9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnROb1RvcFBhZGRpbmcsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE5vVG9wUGFkZGluZ3stLWZlZWQtYWQtbWV0YWRhdGEtdG9wLXBhZGRpbmc6MH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1lbnVCdXR0b24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1lbnVCdXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOi02cHg7cmlnaHQ6LTEwcHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRNZW51QnV0dG9uTWVudVBvc0FkanVzdGVkLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZW51QnV0dG9uTWVudVBvc0FkanVzdGVke3JpZ2h0Oi03cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRNZW51U3R5bGVTdGFuZGFyZCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0TWVudVN0eWxlU3RhbmRhcmR7cGFkZGluZy10b3A6dmFyKC0tZmVlZC1hZC1tZXRhZGF0YS10b3AtcGFkZGluZyk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNnB4O3JpZ2h0Oi0xMHB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50TWVudVN0eWxlU3RhbmRhcmRNZW51UG9zQWRqdXN0ZWQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1lbnVTdHlsZVN0YW5kYXJkTWVudVBvc0FkanVzdGVke3JpZ2h0Oi03cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdEF2YXRhclN0eWxlU3RhbmRhcmQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRBdmF0YXJTdHlsZVN0YW5kYXJke2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoxMnB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RBdmF0YXJTdHlsZUNvbXBhY3QsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRBdmF0YXJTdHlsZUNvbXBhY3R7bWFyZ2luLXJpZ2h0OjhweH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmUsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZXttYXgtaGVpZ2h0OjRyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZVR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjQuNHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7bWF4LWhlaWdodDo1LjJyZW07bWFyZ2luLWJvdHRvbTo0cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9ue2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9ue21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3REZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXB7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3REZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjZyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9ue2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9ue21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RTZWNvbmRhcnlEZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXB7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0U2Vjb25kYXJ5RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RTZWNvbmRhcnlEZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0U2Vjb25kYXJ5RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjZyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoe2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoe21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmUsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5le3BhZGRpbmctdG9wOnZhcigtLWZlZWQtYWQtbWV0YWRhdGEtdG9wLXBhZGRpbmcpO21hcmdpbi1ib3R0b206NHB4O2NvbG9yOiMwMzAzMDM7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG87Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lV2F0Y2hOZXh0LC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVdhdGNoTmV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVXYXRjaE5leHQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lV2F0Y2hOZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVdhdGNoTmV4dCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVXYXRjaE5leHR7bWF4LWhlaWdodDo0cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXB7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXB7bWF4LWhlaWdodDo1LjJyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo5MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo5MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMiwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYye21heC1oZWlnaHQ6NS42cmVtfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjJ7bWF4LWhlaWdodDo1LjJyZW19fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkRGVzY3JpcHRpb24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9ue21hcmdpbi1ib3R0b206NHB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmREZXNjcmlwdGlvbnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkRGVzY3JpcHRpb24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9ue21heC1oZWlnaHQ6NHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbiwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkU2Vjb25kYXJ5RGVzY3JpcHRpb257LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbnttYXgtaGVpZ2h0OjRyZW19Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbEhvc3R7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXR3QWREaXNjbG9zdXJlQmFubmVyVmlld01vZGVsSG9zdEhhc0FjY2VudHstbW96LWJvcmRlci1zdGFydDo0cHggc29saWQgdmFyKC0tYWQtZGlzY2xvc3VyZS1hY2NlbnQtY29sb3IpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NHB4IHNvbGlkIHZhcigtLWFkLWRpc2Nsb3N1cmUtYWNjZW50LWNvbG9yKX0ueXR3QWREaXNjbG9zdXJlQmFubmVyVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7Y3Vyc29yOnBvaW50ZXJ9Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgI2ZmZjtvdXRsaW5lLW9mZnNldDoycHh9Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbFRleHR7YmFja2dyb3VuZDpub25lO2NvbG9yOiNmZmY7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvblJvdzpub3QoOmxhc3QtY2hpbGQpe3BhZGRpbmctYm90dG9tOjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb246bm90KDpsYXN0LWNoaWxkKTpub3QoOmVtcHR5KXtwYWRkaW5nLXJpZ2h0OjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3dBY3Rpb257bWluLXdpZHRoOjA7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZsZXgtYmFzaXM6MH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3dBY3Rpb246ZW1wdHl7LW1vei1ib3gtZmxleDowO2ZsZXgtZ3JvdzowfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbkludHJpbnNpY1dpZHRoey1tb3otYm94LWZsZXg6MDtmbGV4LWdyb3c6MDtmbGV4LWJhc2lzOmF1dG99Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsQWN0aW9uUm93QWN0aW9uRmVhdHVyZVBob25le2ZsZXgtYmFzaXM6dW5zZXQ7bWluLXdpZHRoOnVuc2V0fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbkljb25Pbmx5QnV0dG9uey1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsSW5saW5ley1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbFNjcm9sbGFibGV7b3ZlcmZsb3c6YXV0byBoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsU2Nyb2xsYWJsZTo6LXdlYmtpdC1zY3JvbGxiYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo4cHh9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsU2Nyb2xsYWJsZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxTY3JvbGxhYmxlOmhvdmVye3Njcm9sbGJhci1jb2xvcjojOTA5MDkwIHRyYW5zcGFyZW50fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbFNjcm9sbGFibGU6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6IzkwOTA5MH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxGbGV4V3JhcHtmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFN0YXJ0ey1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsSnVzdGlmeUNvbnRlbnRFbmR7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbENlbnRlcmVkIC55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbiwueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxDZW50ZXJlZCAueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3d7ZmxleC1iYXNpczowOy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTttaW4td2lkdGg6MH0ueXRFbmdhZ2VtZW50QmFyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEVuZ2FnZW1lbnRCYXJWaWV3TW9kZWxFbmdhZ2VtZW50QmFyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6NDhweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dExvY2t1cEF0dGFjaG1lbnRzVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMb2NrdXBBdHRhY2htZW50c1ZpZXdNb2RlbEF0dGFjaG1lbnR7bWFyZ2luLXRvcDoxMnB4O21pbi13aWR0aDowfS55dExvY2t1cEF0dGFjaG1lbnRzVmlld01vZGVsRXhwYW5kYWJsZU1ldGFkYXRhe3BhZGRpbmctdG9wOjRweH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsRnVsbEhlaWdodEJ1dHRvbntoZWlnaHQ6MTAwJX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsRnVsbEhlaWdodEJ1dHRvbj4ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjEycHh9Lnl0d0Nhcm91c2VsQWRDYXJkQ29sbGVjdGlvblZpZXdNb2RlbE1ldGFkYXRhQXR0YWNobWVudENhcm91c2Vse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2dhcDoxMnB4O292ZXJmbG93LXg6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWw6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWxJdGVte3dpZHRoOjk2cHg7ZmxleC1zaHJpbms6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWxXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsUGFkZGxle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMjUpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsUGFkZGxlTGVmdHtsZWZ0Oi0xNnB4fS55dHdDYXJvdXNlbEFkQ2FyZENvbGxlY3Rpb25WaWV3TW9kZWxQYWRkbGVSaWdodHtyaWdodDotMTZweH0ueXR3Q2Fyb3VzZWxBZENhcmRJbWFnZVZpZXdNb2RlbEhvc3QsLnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHthc3BlY3QtcmF0aW86MTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTthbGlnbi1zZWxmOnN0cmV0Y2g7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0OmFmdGVyLC55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnQ6YWZ0ZXJ7Y29udGVudDoiIjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7d2lsbC1jaGFuZ2U6b3BhY2l0eTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdDpob3ZlcjphZnRlciwueXR3Q2Fyb3VzZWxBZENhcmRJbWFnZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50OmhvdmVyOmFmdGVye29wYWNpdHk6LjF9Lnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0Q2FyZEJhZGdlLC55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRDYXJkQmFkZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdBZENhcmRCYWRnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtwYWRkaW5nOjRweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MCAwIDRweH0ueXR3QWRJbWFnZVZpZXdNb2RlbEhvc3QsLnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEltYWdlQ29udGFpbmVyLC55dHdBZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRJbWFnZUNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEltYWdlLC55dHdBZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRJbWFnZXt2aXNpYmlsaXR5OmluaGVyaXR9Lnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0SW5HcmlkVmlld3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEluR3JpZFZpZXdJbWFnZUNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEluR3JpZFZpZXdJbWFnZXt2aXNpYmlsaXR5OmluaGVyaXR9Lnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0QWREaXNjbG9zdXJlQmFubmVyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo4cHg7ei1pbmRleDoxfS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ueXR3SG9yaXpvbnRhbENhcm91c2VsQ2Fyb3VzZWxXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxDYXJvdXNlbElubmVyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7d2lkdGg6MTAwJX0ueXR3SG9yaXpvbnRhbENhcm91c2VsQW5pbWF0aW5ne3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0d0hvcml6b250YWxDYXJvdXNlbENhcm91c2VsSXRlbXtmbGV4LXNocmluazowfS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxOZXh0QnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHdBZEJ1dHRvbkdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWJhc2lzOjEwMCU7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3QWRCdXR0b25Hcm91cFZpZXdNb2RlbEhvc3RQcmltYXJ5QnV0dG9uey1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0d0FkQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0U2Vjb25kYXJ5QnV0dG9ue21hcmdpbi1yaWdodDo0cHg7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXR3QWRCdXR0b25Hcm91cFZpZXdNb2RlbEhvc3RDb21wYWN0V2lkdGh7ZmxleC1iYXNpczowO21pbi13aWR0aDoyMDBweDt3aWR0aDo1MCU7Z2FwOjEycHh9Lnl0d0FkQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0Q29tcGFjdFdpZHRoU2Vjb25kYXJ5QnV0dG9ue21hcmdpbi1yaWdodDowfS55dHdBZEJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6LW1vei1tYXgtY29udGVudDtoZWlnaHQ6bWF4LWNvbnRlbnR9Lnl0d0FkQnV0dG9uVmlld01vZGVsSG9zdEhhc0FuaW1hdGlvbnt0cmFuc2l0aW9uOm9wYWNpdHksaGVpZ2h0O3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS55dHdBZEJ1dHRvblZpZXdNb2RlbEhvc3RDb21wYWN0V2lkdGh7ZmxleC1iYXNpczowO3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7bWluLXdpZHRoOjI1JX0ueXR3QWRCdXR0b25WaWV3TW9kZWxIb3N0Q29udGVudFdpZHRoe3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0d0FkQnV0dG9uVmlld01vZGVsU2hvd3tvcGFjaXR5OjF9Lnl0d0FkQnV0dG9uVmlld01vZGVsSGlkZXtvcGFjaXR5OjB9Lnl0d0FkQnV0dG9uVmlld01vZGVsRnVsbEhlaWdodHtoZWlnaHQ6YXV0b30ueXR3QWRCdXR0b25WaWV3TW9kZWxOb0hlaWdodHtoZWlnaHQ6MH0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbEhvc3R7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjI1KTttYXJnaW4tdG9wOjI0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MzAwcHg7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zcyxtYXJnaW4gLjNzLG9wYWNpdHkgLjNzfS55dFNsaW1saW5lU3VydmV5Vmlld01vZGVsSG9zdDpiZWZvcmV7Y29udGVudDoiIjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsMC4yNSk7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6LTEycHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDt0b3A6LTEycHg7bGVmdDo1MCU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxDb2xsYXBzZWR7bWF4LWhlaWdodDowO21hcmdpbi10b3A6MDtvcGFjaXR5OjB9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxDb2xsYXBzZWQ6YmVmb3Jle29wYWNpdHk6MH0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzo4cHggMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbX0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbEFuc3dlcnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxJY29ue2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxBbnN3ZXJzVGV4dHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUYWJsZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS55dFRhYmxlVmlld01vZGVsUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206OHB4fS55dFRhYmxlVmlld01vZGVsUm93Qm90dG9tQm9yZGVye3BhZGRpbmctYm90dG9tOjhweH0ueXRUYWJsZVZpZXdNb2RlbFJvd0JvdHRvbUJvcmRlcjpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX0ueXRUYWJsZVZpZXdNb2RlbENlbGx7Y29sb3I6IzYwNjA2MDt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUYWJsZVZpZXdNb2RlbFJvd0xhYmVse2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERpc2NsYWltZXJJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFJlc3BvbnNlQWN0aW9uc1ZpZXdNb2RlbEhvc3R7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZXNwb25zZUFjdGlvbnNWaWV3TW9kZWxUZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0UmVzcG9uc2VBY3Rpb25zVmlld01vZGVsVGV4dExlZnR7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0UmVzcG9uc2VBY3Rpb25zVmlld01vZGVsVGV4dFJpZ2h0e21hcmdpbi1sZWZ0OjE2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbEhvc3RIaWRkZW57ZGlzcGxheTpub25lfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0TWVkaWFDYXJke2JvcmRlci1yYWRpdXM6MzJweDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nOjI0cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZHstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTZweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0e21heC13aWR0aDo5MCU7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6NHB4IDE2cHggNHB4IDRweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0U21hbGxMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtoZWlnaHQ6MzJweDt3aWR0aDozMnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFBpbGwueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRTbWFsbExheW91dC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHRPbmx5e3BhZGRpbmc6OHB4IDE2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdERlZmF1bHRMYXlvdXR7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoyNHB4O21heC13aWR0aDo1MDBweDtwYWRkaW5nOjZweCAxNnB4IDZweCA2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdERlZmF1bHRMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFBpbGwueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHREZWZhdWx0TGF5b3V0Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0VGV4dE9ubHl7cGFkZGluZzoxNnB4IDI0cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC1zaHJpbms6MH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsIC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3Nvcnl7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO21hcmdpbi1yaWdodDo4cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nQWNjZXNzb3J5e21hcmdpbi1yaWdodDoxMnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3NvcnlSb3RhdGVMZWZ0e3RyYW5zZm9ybTpyb3RhdGUoLTNkZWcpfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3NvcnlSb3RhdGVSaWdodHt0cmFuc2Zvcm06cm90YXRlKDNkZWcpfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbEVuYWJsZVpvb206aG92ZXIgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0ltYWdle3RyYW5zZm9ybTpzY2FsZSgxLjA4KX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsRW5hYmxlWm9vbSAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nSW1hZ2V7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfX0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2NvbG9yOiMwMzAzMDM7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjB9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0U21hbGxMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0VGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFNlY29uZGFyeUxhYmVse3BhZGRpbmctYm90dG9tOjRweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdE1lZGlhQ2FyZCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nQWNjZXNzb3J5e21hcmdpbi1yaWdodDowO2JvcmRlci1yYWRpdXM6MTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0TWVkaWFDYXJkIC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHRXcmFwcGVye3BhZGRpbmctdG9wOjEycHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDo1NnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdENhcmQueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRTbWFsbExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0IC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRDYXJkLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dHt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6NjhweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRDYXJkLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdENhcmQueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHREZWZhdWx0TGF5b3V0IC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7bWluLXdpZHRoOjA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS55dExvY2t1cFZpZXdNb2RlbEZsZXhOb25ley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0TG9ja3VwVmlld01vZGVsV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TG9ja3VwVmlld01vZGVsRW5kb3JzZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0yMHB4O2NvbG9yOiM2MDYwNjB9Lnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWluLXdpZHRoOjA7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dExvY2t1cFZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TG9ja3VwVmlld01vZGVsQWRkTWFyZ2luc3ttYXJnaW4tcmlnaHQ6MTJweDttYXJnaW4tbGVmdDoxMnB4fS55dExvY2t1cFZpZXdNb2RlbEZ1bGxibGVlZCAueXRMb2NrdXBWaWV3TW9kZWxNZXRhZGF0YXttYXJnaW4tbGVmdDoxMnB4O21hcmdpbi1yaWdodDoxMnB4fS55dExvY2t1cFZpZXdNb2RlbENvbnRlbnRJbWFnZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aW5oZXJpdDstbW96LWJveC1kaXJlY3Rpb246aW5oZXJpdDtmbGV4LWRpcmVjdGlvbjppbmhlcml0fS55dExvY2t1cFZpZXdNb2RlbENpbmVtYXRpY3tib3JkZXItcmFkaXVzOjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dExvY2t1cFZpZXdNb2RlbFZlcnRpY2Fsey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMb2NrdXBWaWV3TW9kZWxWZXJ0aWNhbCAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7cGFkZGluZy1ib3R0b206OHB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBWaWV3TW9kZWxSaWNoR3JpZExlZ2FjeU1hcmdpbiAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7cGFkZGluZy1ib3R0b206MTJweH0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2hlaWdodDppbmhlcml0fS55dExvY2t1cFZpZXdNb2RlbEhvcml6b250YWwgLnl0TG9ja3VwVmlld01vZGVsQ29udGVudEltYWdle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7cGFkZGluZy1yaWdodDoxNnB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjUwMHB4fS55dExvY2t1cFZpZXdNb2RlbEhvcml6b250YWwgLnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwVmlld01vZGVsQ29sbGVjdGlvblN0YWNrMXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjZweH0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwVmlld01vZGVsQ29sbGVjdGlvblN0YWNrMntwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjEwcHh9Lnl0TG9ja3VwVmlld01vZGVsSG9yaXpvbnRhbC55dExvY2t1cFZpZXdNb2RlbENvbXBhY3QgLnl0TG9ja3VwVmlld01vZGVsQ29udGVudEltYWdle3BhZGRpbmctcmlnaHQ6OHB4fS55dExvY2t1cFZpZXdNb2RlbFNpbmdsZUNvbHVtbkdyaWQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sxe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS55dExvY2t1cFZpZXdNb2RlbFNpbmdsZUNvbHVtbkdyaWQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sye3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MTBweH0ueXRMb2NrdXBWaWV3TW9kZWxJbkNhcmQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sxe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS55dExvY2t1cFZpZXdNb2RlbEluQ2FyZC55dExvY2t1cFZpZXdNb2RlbENvbGxlY3Rpb25TdGFjazJ7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxMHB4fS55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhT25UaHVtYm5haWx7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOnJlbGF0aXZlfS55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhT25UaHVtYm5haWwgLnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3RvcDo1MCU7cGFkZGluZzo4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsMC44KSAwLHJnYmEoMCwwLDAsMCkgMTAwJSl9Lnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGFPblRodW1ibmFpbC55dExvY2t1cFZpZXdNb2RlbENpbmVtYXRpYyAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7aGVpZ2h0OjU1JX0ueXRMb2NrdXBWaWV3TW9kZWxNZXRhZGF0YU9uVGh1bWJuYWlsLnl0TG9ja3VwVmlld01vZGVsQ2luZW1hdGljIC55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhe2hlaWdodDo3NSU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHRyYW5zcGFyZW50IDAsIzMzMyA1MCUpO3RvcDphdXRvfS55dExvY2t1cFZpZXdNb2RlbENhcmR7Ym9yZGVyLXJhZGl1czoxMnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0TG9ja3VwVmlld01vZGVsUHJvdGVjdEJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJX0ueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxIb3N0Q2FuQW5pbWF0ZVdpZHRoe3RyYW5zaXRpb246d2lkdGggLjVzIGVhc2V9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSG9zdEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSW52aXNpYmxle3Bvc2l0aW9uOmFic29sdXRlO3Zpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dFN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbEFuaW1hdGVkQWN0aW9uV3JhcHBlcnttYXgtd2lkdGg6MTAwJX0ueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxBbmltYXRlZEFjdGlvbldyYXBwZXJJc0FuaW1hdGluZywueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxTdGF0aWNXaWR0aHt3aWR0aDoxMDAlfS55dENvbGxlY3Rpb25zU3RhY2tSZWxhdGl2ZVN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlfS55dENvbGxlY3Rpb25zU3RhY2tTcGFjZXJ7aGVpZ2h0OjVweH0ueXRDb2xsZWN0aW9uc1N0YWNrU3BhY2VyRG91YmxlU3RhY2t7aGVpZ2h0OjlweH0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMntiYWNrZ3JvdW5kLWNvbG9yOiM2MDYwNjA7b3BhY2l0eTo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi04cHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7bGVmdDoxMnB4O3JpZ2h0OjEycHg7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2syUmVzcG9uc2l2ZU1vZGV7ZGlzcGxheTpub25lfX0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMk1hc2t7bWFyZ2luLXRvcDotMXB4O21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDFweCxibGFjayAwLGJsYWNrIDRweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDZweCxibGFjayAwLGJsYWNrIDhweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDEwcHgsYmxhY2sgMCl9Lnl0Q29sbGVjdGlvbnNTdGFja0NvbGxlY3Rpb25TdGFjazF7YmFja2dyb3VuZC1jb2xvcjojNjA2MDYwO21hcmdpbi10b3A6LTFweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2sxU21hbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlIC0gMTZweCk7aGVpZ2h0OjEwMCU7bGVmdDo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NHB4fS55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2sxTWVkaXVte3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSAtIDE2cHgpO2hlaWdodDoxMDAlO2xlZnQ6OHB4O3JpZ2h0OjhweDtib3JkZXItcmFkaXVzOjhweH0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMUxhcmdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSAtIDE2cHgpO2hlaWdodDoxMDAlO2xlZnQ6OHB4O3JpZ2h0OjhweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0Q29sbGVjdGlvbnNTdGFja0NvbGxlY3Rpb25TdGFjazFNYXNre21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDFweCxibGFjayAwLGJsYWNrIDRweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDZweCxibGFjayAwKTtib3JkZXItdG9wOm5vbmV9Lnl0UHJvZmlsZUljb25Ib3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpfS55dFByb2ZpbGVJY29uSG9zdDpoYXMoLnl0UHJvZmlsZUljb25JbWFnZSl7YmFja2dyb3VuZC1jb2xvcjp1bnNldH0ueXRQcm9maWxlSWNvbkltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0TWV0YWRhdGFCYWRnZVJlbmRlcmVySG9zdCsueXRNZXRhZGF0YUJhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0ueXR3U3RhbmRhbG9uZVlwY0JhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0ueXR3U3RhbmRhbG9uZVlwY0JhZGdlUmVuZGVyZXJTdGFuZGFsb25lWXBjTW9kZXJuQmFkZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0d1N0YW5kYWxvbmVZcGNCYWRnZVJlbmRlcmVyU3RhbmRhbG9uZVlwY0Rpc2NvdW50VGV4dEJhZGdle21hcmdpbi1yaWdodDo0cHg7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0ueXR3VGV4dEJhZGdlUmVuZGVyZXJIb3N0Ky55dHdUZXh0QmFkZ2VSZW5kZXJlckhvc3R7bWFyZ2luLWxlZnQ6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0OjNlbTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdHtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzp2aXNpYmxlfX0uWXRtQmFkZ2VBbmRCeWxpbmVSZW5kZXJlckhvc3RbZGF0YS1pcy1hbGwtYmFkZ2VzPXRydWVde21hcmdpbi10b3A6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdCB5dG0tYmFkZ2Utc3VwcG9ydGVkLXJlbmRlcmVye3Bvc2l0aW9uOnJlbGF0aXZlfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXB7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXBEaXZ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJIb3N0IC5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXBTcGFue2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS4yNTttYXgtaGVpZ2h0OjEuMjVlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJhZGdlLC5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJ5bGluZSwuWXRtQmFkZ2VBbmRCeWxpbmVSZW5kZXJlclNlcGFyYXRvcnttYXJnaW4tcmlnaHQ6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJ5bGluZXtmb250LXNpemU6MS4ycmVtO2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6LjZ9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJJdGVtQmFkZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJTZXBhcmF0b3J7Zm9udC1zaXplOjEuMnJlbTtvcGFjaXR5Oi42fS5ZdG1CYWRnZVN1cHBvcnRlZFJlbmRlcmVySG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQmFkZ2VTdXBwb3J0ZWRSZW5kZXJlckhvc3Q+eXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7bWluLXdpZHRoOjA7ZmxleC1zaHJpbms6MTAwMDB9Lll0bUJhZGdlU3VwcG9ydGVkUmVuZGVyZXJIb3N0Pnl0LW1ldGFkYXRhLWJhZGdlLXJlbmRlcmVyOmZpcnN0LWNoaWxke2ZsZXgtc2hyaW5rOjF9Lll0bUJhZGdlU3VwcG9ydGVkUmVuZGVyZXJIb3N0IHl0bS1iYWRnZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uWXRtUHJpdmFjeUJhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0uWXRtQ2hhbm5lbFRodW1ibmFpbFdpdGhMaW5rUmVuZGVyZXJIb3N0e2Rpc3BsYXk6YmxvY2t9Lll0bUNoYW5uZWxUaHVtYm5haWxXaXRoTGlua1JlbmRlcmVySWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MDttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cGFkZGluZzowIDEycHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLWRldGFpbHN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDowO21hcmdpbi10b3A6NHB4fXl0bS1tZWRpYS1pdGVtIC51cHBlci1kZXRhaWxzey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW4tYm90dG9tOjhweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDo4cHh9eXRtLW1lZGlhLWl0ZW0gLnVwcGVyLWRldGFpbHMgLm1lZGlhLWNoYW5uZWwseXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLnVwcGVyLWRldGFpbHMgLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDowfXl0bS1tZWRpYS1pdGVtIC51cHBlci1kZXRhaWxzIHl0bS1wcm9maWxlLWljb257ZGlzcGxheTpibG9jaztoZWlnaHQ6MzZweDt3aWR0aDozNnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjhweH1sYXp5LWxpc3QgLml0ZW0geXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MTJweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjAgLTEycHh9QGtleWZyYW1lcyBtZXRhZGF0YS1ib3VuY2V7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MjAlLDgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTIwcHgpfX15dG0tbWVkaWEtaXRlbSAubWV0YWRhdGEtc2Nyb2xsLWNvbnRhaW5lcntvdmVyZmxvdzphdXRvO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1ldGFkYXRhLWNvbnRlbnQtY29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjIwMCV9eXRtLW1lZGlhLWl0ZW0gLm1ldGFkYXRhLWNvbnRlbnQtY29udGFpbmVyLmJvdW5jZXthbmltYXRpb24tbmFtZTptZXRhZGF0YS1ib3VuY2U7YW5pbWF0aW9uLWR1cmF0aW9uOjNzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX15dG0tbWVkaWEtaXRlbSAuc2Nyb2xsLXZpZXd7d2lkdGg6NTAlO3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0fXl0bS1tZWRpYS1pdGVtIC5zY3JvbGwtZG90cy1jb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfXl0bS1tZWRpYS1pdGVtIC5zY3JvbGwtZG90e2hlaWdodDo0cHg7d2lkdGg6NHB4O2JvcmRlcjoxcHggc29saWQgIzAzMDMwMztib3JkZXItcmFkaXVzOjUwJTttYXJnaW46MCAzcHh9eXRtLW1lZGlhLWl0ZW0gLnNjcm9sbC1kb3QuYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzAzMDMwM315dG0tbWVkaWEtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MCAxMnB4O21pbi13aWR0aDowfXl0bS1tZWRpYS1pdGVtW3VzZS12ZXJ0aWNhbC1sYXlvdXRde3BhZGRpbmc6MH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjhweH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAudXBwZXItZGV0YWlscyAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjA7YWxpZ24tc2VsZjpjZW50ZXJ9eXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDo4cHh9eXRtLW1lZGlhLWl0ZW0+YXtkaXNwbGF5OmJsb2NrfS5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9Lm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lci5zdGFja2VkOm5vdCgubXVsdGktY29sdW1uLWZlZWQpe21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjEycHg7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxMHB4fS5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXIubXVsdGktY29sdW1uLWZlZWR7bWFyZ2luLXRvcDotMnB4fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXIuc3RhY2tlZDpub3QoLm11bHRpLWNvbHVtbi1mZWVkKXttYXJnaW4tbGVmdDp1bnNldDttYXJnaW4tcmlnaHQ6dW5zZXR9Lm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lci5zdGFja2VkOm5vdCgubXVsdGktY29sdW1uLWZlZWQpe21hcmdpbi10b3A6NHB4fXl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLWxhbmRzY2FwZS1zdGFja3tkaXNwbGF5Om5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5zdGFja2Vke21hcmdpbi10b3A6NHB4fX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5zdGFja2VkLXBsYXlsaXN0e21hcmdpbi1sZWZ0OjRweH19Lm1lZGlhLWl0ZW0tYW5pbWF0ZWQtdGh1bWJuYWlsLC5tZWRpYS1pdGVtLXRodW1ibmFpbC1zbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCV9LmlubGluZS1ieWxpbmUtY2hhbm5lbC1uYW1le21hcmdpbi1ib3R0b206M3B4fS5tZWRpYS1pdGVtLW1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjB9Lm1lZGlhLWl0ZW0taGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS40cmVtfS5tZWRpYS1pdGVtLXRvcC1iYWRnZXMgeXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7ZGlzcGxheTpibG9ja30ubWVkaWEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS5tZWRpYS1jaGFubmVse2ZsZXgtc2hyaW5rOjB9Lm1lZGlhLWl0ZW0taW5mbyx5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxzey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTttaW4td2lkdGg6MH0ubWVkaWEtaXRlbS1pbmZve2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXJnaW4tbGVmdDoxMnB4fS5tZWRpYS1pdGVtLWRldGFpbHMuc21hbGwtbG9ja3VwLC5tZWRpYS1pdGVtLWluZm9bbm8tY2hhbm5lbC1hdmF0YXI9dHJ1ZV17bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0ubWVkaWEtaXRlbS1kZXRhaWxzLmZlYXR1cmUtcGhvbmUtbWluaW1hbC1sb2NrdXBzIC5tZWRpYS1pdGVtLWluZm97bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDo4cHh9Lm1lZGlhLWl0ZW0tZGV0YWlscyAubWVkaWEtaXRlbS1pbmZvW25vLWNoYW5uZWwtYXZhdGFyPXRydWVdW3VzZS1tb2Rlcm4tY29sbGVjdGlvbnM9dHJ1ZV17bWFyZ2luLWxlZnQ6NHB4fS5tZWRpYS1pdGVtLWhlYWRsaW5lLXBsYWNlaG9sZGVye2hlaWdodDoxNnB4O21heC13aWR0aDozMDBweDttYXJnaW4tYm90dG9tOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0ubWVkaWEtaXRlbS1oZWFkbGluZS1wbGFjZWhvbGRlcjpudGgtY2hpbGQoMil7d2lkdGg6MTIwcHg7bWFyZ2luLWJvdHRvbTo4cHh9Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVye2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS42cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVye2xldHRlci1zcGFjaW5nOi4wMmVtfX0ubWVkaWEtaXRlbS1lbmRvcnNlbWVudC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbTotNHB4O2NvbG9yOiMwMzAzMDM7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5tZWRpYS1pdGVtLWVuZG9yc2VtZW50LWNvbnRhaW5lcj4ubWVkaWEtaXRlbS1zZWNvbmRhcnktaGVhZGxpbmV7cGFkZGluZy10b3A6OHB4fS5tZWRpYS1pdGVtLWVuZG9yc2VtZW50LWNvbnRhaW5lcj4ubWVkaWEtaXRlbS1zZWNvbmRhcnktaGVhZGxpbmU+c3Bhbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtaGVpZ2h0OjMuMnJlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjJ9Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVyPi5tZWRpYS1pdGVtLXNlY29uZGFyeS1oZWFkbGluZT5zcGFuPnN0cm9uZ3tmb250LXdlaWdodDo3MDB9Lm1lZGlhLWl0ZW0tc3ViaGVhZC1wbGFjZWhvbGRlcntoZWlnaHQ6MTZweDt3aWR0aDoxMjBweDttYXJnaW4tYm90dG9tOjNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0ubWVkaWEtaXRlbS1tZW51e2ZsZXgtc2hyaW5rOjB9Lm1lZGlhLWl0ZW0tYnlsaW5le3VuaWNvZGUtYmlkaTotbW96LWlzb2xhdGU7dW5pY29kZS1iaWRpOmlzb2xhdGV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5mZWF0dXJlLXBob25lLW1pbmltYWwtbG9ja3VwcyAubWVkaWEtY2hhbm5lbHtkaXNwbGF5Om5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjEycHh9eXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tdG9wOjRweH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luOjB9eXRtLWJyb3dzZSB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luOi0xMnB4IDAgMH15dG0tbWVkaWEtaXRlbSAudmlkZW8tdGh1bWJuYWlsLW92ZXJsYXktc2lkZXt3aWR0aDozMyV9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe2xhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxze3BhZGRpbmctbGVmdDoxMnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbS5iaWctc2hvcnRzLXNpbmdsZXRvbiAubWVkaWEtaXRlbS10aHVtYm5haWwtY29udGFpbmVye3BhZGRpbmc6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXt5dG0tYnJvd3NlIHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tcHJvbW90ZWQtdmlkZW8tcmVuZGVyZXIgeXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDowfWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtwYWRkaW5nOjAgMTJweH1sYXp5LWxpc3QgLml0ZW0geXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDoxMnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS10aHVtYm5haWwtY29udGFpbmVye3BhZGRpbmc6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfXl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7ZmxleC1zaHJpbms6MH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXt3aWR0aDoyMDBweDtoZWlnaHQ6MTEycHg7cGFkZGluZy1ib3R0b206MH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1kZXRhaWxzey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MCAxMnB4O21pbi13aWR0aDowO3dpZHRoOjEwMCV9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0taW5mb3stbW96LWJveC1mbGV4OjA7ZmxleC1ncm93OjB9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0tbWV0YWRhdGF7bWFyZ2luLWJvdHRvbToycHg7bWF4LWhlaWdodDo3MHB4O292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAubWVkaWEtaXRlbS1oZWFkbGluZXttYXJnaW4tYm90dG9tOjhweH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtY2hhbm5lbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LW1vei1ib3gtb3JkaW5hbC1ncm91cDoyO29yZGVyOjE7d2lkdGg6MTAwJX15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1leHRyYS1lbmRwb2ludHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCAxMnB4fWxhenktbGlzdCAuaXRlbSB5dG0tbWVkaWEtaXRlbXttYXJnaW4tdG9wOjEycHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cGFkZGluZzowfWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtY2hhbm5lbHttYXJnaW4tdG9wOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLW1ldGFkYXRhe21hcmdpbi10b3A6MH15dG0tYnJvd3NlIHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKXttYXJnaW4tdG9wOjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6MTJweH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLXByb21vdGVkLXZpZGVvLXJlbmRlcmVyIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0taW5mb3ttYXJnaW4tbGVmdDowfXl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pIC5tZWRpYS1pdGVtLWRldGFpbHMuc3RhY2tlZC1wbGF5bGlzdHttYXJnaW4tdG9wOjRweH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1kZXRhaWxzLnN0YWNrZWR7bWFyZ2luLXRvcDo0cHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCAxMnB4fWxhenktbGlzdCAuaXRlbSB5dG0tbWVkaWEtaXRlbXttYXJnaW4tdG9wOjEycHh9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1wcm9tb3RlZC12aWRlby1yZW5kZXJlciB5dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKXttYXJnaW4tdG9wOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLW1lZGlhLWl0ZW17cGFkZGluZzowIDhweH15dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxze21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHh9eXRtLWJyb3dzZSB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDo4cHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCA4cHh9bGF6eS1saXN0IC5pdGVtIHl0bS1tZWRpYS1pdGVte21hcmdpbi1ib3R0b206MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lcntwYWRkaW5nOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLW1ldGFkYXRhe21hcmdpbi10b3A6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWJvdHRvbTo0cHg7cGFkZGluZy1sZWZ0OjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tYm90dG9tOjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1tZWRpYS1pdGVte21hcmdpbi10b3A6OHB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW46MH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLXByb21vdGVkLXZpZGVvLXJlbmRlcmVyIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6OHB4fX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7bGF6eS1saXN0IC5pdGVtIHl0bS1tZWRpYS1pdGVte21hcmdpbi10b3A6OHB4fX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChtYXgtd2lkdGg6MzMwcHgpe2xhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtwYWRkaW5nOjAgMTJweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lcntwYWRkaW5nOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle21hcmdpbjowfXl0bS1icm93c2UgbGF6eS1saXN0IHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tcHJvbW90ZWQtdmlkZW8tcmVuZGVyZXIgeXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSl7bWFyZ2luLXRvcDowfX15dG0tbWVkaWEtaXRlbS5zbWFsbC1sb2NrdXB7bWFyZ2luLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7d2lkdGg6MTYwcHh9eXRtLW1lZGlhLWl0ZW0uc21hbGwtbG9ja3VwIC5tZWRpYS1pdGVtLWhlYWRsaW5le2ZvbnQtd2VpZ2h0OjQwMH15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcnstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcjpub3QoW2ljb24tcG9zaXRpb249VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1BPU0lUSU9OX0JPVFRPTV9MRUZUX0NPUk5FUl0pey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfXl0bS10aHVtYm5haWwtb3ZlcmxheS1pY29uLXJlbmRlcmVyW2ljb24tcG9zaXRpb249VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1BPU0lUSU9OX0JPVFRPTV9MRUZUX0NPUk5FUl17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO21hcmdpbjo1cHg7cGFkZGluZzoxcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NTAlfVtpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdIGMzLWljb257ZGlzcGxheTpibG9jaztwYWRkaW5nOjFweDt3aWR0aDoxLjJyZW07aGVpZ2h0OjEuMnJlbX15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcjpub3QoW2ljb24tc3R5bGU9VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1NUWUxFX0ZJTExFRF0pIGMzLWljb257d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcltpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdIGMzLWljb24gcGF0aHtmaWxsOiMwMDB9eXRtLXRodW1ibmFpbC1vdmVybGF5LWljb24tcmVuZGVyZXI6bm90KFtpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdKSBjMy1pY29uIHBhdGh7ZmlsbDojZmZmfS5ZdG1UaHVtYm5haWxPdmVybGF5UmVzdW1lUGxheWJhY2tSZW5kZXJlckhvc3R7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDo0cHg7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowfS5ZdG1UaHVtYm5haWxPdmVybGF5UmVzdW1lUGxheWJhY2tSZW5kZXJlclRodW1ibmFpbE92ZXJsYXlSZXN1bWVQbGF5YmFja1Byb2dyZXNze2hlaWdodDo0cHg7bGVmdDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfXl0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXJ7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXIuZmVlZC1pdGVte21hcmdpbi1ib3R0b206MTZweH19QG1lZGlhIChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXt5dG0tdmlkZW8td2l0aC1jb250ZXh0LXJlbmRlcmVyLmZlZWQtaXRlbXttYXJnaW4tYm90dG9tOjI0cHh9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5hZGFwdGl2ZS1mZWVkLWl0ZW17bWFyZ2luLWJvdHRvbToxNnB4fX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXIuYWRhcHRpdmUtZmVlZC1pdGVte21hcmdpbi1ib3R0b206MjRweH19QG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOjEzLzkpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5hZGFwdGl2ZS1mZWVkLWl0ZW17bWFyZ2luLWJvdHRvbToxMnB4fX1sYXp5LWxpc3QgeXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH0udmlkZW9UaHVtYm5haWxHcm91cE92ZXJsYXlCb3R0b21MZWZ0UmlnaHRHcm91cHt3aWR0aDoxMDAlO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0udmlkZW9UaHVtYm5haWxHcm91cFJlc3VtZVBsYXliYWNrey1tb3otYm94LW9yZGluYWwtZ3JvdXA6MjtvcmRlcjoxfS52aWRlb1RodW1ibmFpbEdyb3VwVGltZVN0YXR1c3tyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlfS52aWRlb1RodW1ibmFpbEdyb3VwT3ZlcmxheUxlZnRSaWdodEdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7Ym90dG9tOjA7aGVpZ2h0OjEwMCV9LnZpZGVvVGh1bWJuYWlsR3JvdXBPdmVybGF5Q2VudGVye3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dERpYWxvZ1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXREaWFsb2dWaWV3TW9kZWxSZXNldFNwYWNpbmdbZGlhbG9nXVtkaWFsb2dde3BhZGRpbmc6MDttYXJnaW46MH0ueXR3QWNjb3VudExpbmtCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d0FjY291bnRMaW5rQnV0dG9uVmlld01vZGVsSG9zdE1pbldpZHRoIC55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e21pbi13aWR0aDoxMjBweH0ueXRUZXh0RmllbGRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0Q3JlYXRlUGxheWxpc3REaWFsb2dGb3JtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTJweH0ueXRDcmVhdGVQbGF5bGlzdERpYWxvZ0Zvcm1WaWV3TW9kZWxUaXRsZUZpZWxkLC55dENyZWF0ZVBsYXlsaXN0RGlhbG9nRm9ybVZpZXdNb2RlbFZpc2liaWxpdHlGaWVsZHttYXJnaW4tYm90dG9tOjEycHh9Lnl0RHJvcGRvd25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0RHJvcGRvd25WaWV3TW9kZWxEcm9wZG93bkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjU2cHg7cGFkZGluZzo4cHggMTJweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtjdXJzb3I6cG9pbnRlcn0ueXREcm9wZG93blZpZXdNb2RlbERyb3Bkb3duQ29udGFpbmVyRXJyb3JCb3JkZXJ7Ym9yZGVyLWNvbG9yOiNjMzAwMjd9Lnl0RHJvcGRvd25WaWV3TW9kZWxEcm9wZG93bkNvbnRhaW5lckRpc2FibGVke2JvcmRlcjowO2NvbG9yOiM5MDkwOTA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2N1cnNvcjpkZWZhdWx0fS55dERyb3Bkb3duVmlld01vZGVsVGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0RHJvcGRvd25WaWV3TW9kZWxMYWJlbHtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERyb3Bkb3duVmlld01vZGVsTGFiZWxFcnJvcntjb2xvcjojYzMwMDI3fS55dERyb3Bkb3duVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREcm9wZG93blZpZXdNb2RlbFRpdGxlUGxhY2Vob2xkZXJ7Y29sb3I6IzkwOTA5MH0ueXREcm9wZG93blZpZXdNb2RlbENoZXZyb25Eb3due2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAzMDMwM30ueXREcm9wZG93blZpZXdNb2RlbENoZXZyb25Eb3duRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnR7bWFyZ2luLXRvcDo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnRIaW50e2NvbG9yOiM2MDYwNjB9Lnl0RHJvcGRvd25WaWV3TW9kZWxTdXBwb3J0RXJyb3J7Y29sb3I6I2MzMDAyN30ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnRJY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0RHJvcGRvd25WaWV3TW9kZWxTdXBwb3J0VGV4dHttYXJnaW4tbGVmdDo0cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcntjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6aGlkZGVuOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXIgLmNoaXAtY29udGFpbmVye2hlaWdodDozMnB4O21pbi13aWR0aDo0OHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjB9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlciAuY2hpcC1jb250YWluZXIuY2hpcC1uby12ZXJ0aWNhbC1wYWRkaW5ne3BhZGRpbmc6MH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLWNvbnRhaW5lcjpoYXMoYzMtaWNvbil7cGFkZGluZy1sZWZ0OjhweH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLWNvbnRhaW5lci5saWdodC1lZmZlY3R7cG9zaXRpb246cmVsYXRpdmV9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0RFRkFVTFRdIC5jaGlwLWNvbnRhaW5lcix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdIC5jaGlwLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Y29sb3I6IzAzMDMwMzt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjVzIGN1YmljLWJlemllciguMDUsMCwwLDEpfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9ERUZBVUxUXSAuY2hpcC1jb250YWluZXI+YzMtaWNvbix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdIC5jaGlwLWNvbnRhaW5lcj5jMy1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7cGFkZGluZy1yaWdodDo0cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0RFRkFVTFRdLnNlbGVjdGVkIC5jaGlwLWNvbnRhaW5lcix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdLnNlbGVjdGVkIC5jaGlwLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiMwMzAzMDM7Y29sb3I6I2ZmZn15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLXRleHR7bWF4LXdpZHRoOjIwcmVtO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc315dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLXRleHQubW9kZXJue2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfRVhQTE9SRV9MQVVOQ0hFUl9DSElQXSAuY2hpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlcjowO3BhZGRpbmc6MCAxMnB4IDAgNnB4fXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9FWFBMT1JFX0xBVU5DSEVSX0NISVBdIC5jaGlwLWNvbnRhaW5lcj5jMy1pY29ue3BhZGRpbmctcmlnaHQ6NHB4fXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9FWFBMT1JFX0xBVU5DSEVSX0NISVBdLm1vcmUtZHJhd2VyIC5jaGlwLWNvbnRhaW5lcntwYWRkaW5nOjA7bWluLXdpZHRoOjQ4cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0VYUExPUkVfTEFVTkNIRVJfQ0hJUF0ubW9yZS1kcmF3ZXIgLmNoaXAtY29udGFpbmVyPmMzLWljb257cGFkZGluZy1yaWdodDowfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXIgLmVsZXZhdGVkLWNvbnRlbnR7ei1pbmRleDoxfS55dG1DaGlwc1NoZWxmVmlld01vZGVsSG9zdHstLWNoaXBzLXNoZWxmLXNpZGUtbWFyZ2luOjhweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWJvdHRvbToyNHB4fS55dG1DaGlwc1NoZWxmVmlld01vZGVsQ2hpcHNTaGVsZkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46OHB4IDRweCA4cHggdmFyKC0tY2hpcHMtc2hlbGYtc2lkZS1tYXJnaW4pfS55dG1DaGlwc1NoZWxmVmlld01vZGVsQ2hpcHNTaGVsZkNvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tY2hpcHMtc2hlbGYtc2lkZS1tYXJnaW4pIC0gNHB4KTtwYWRkaW5nLXJpZ2h0OjEycHg7bWFyZ2luLWJvdHRvbToxNnB4O21heC1oZWlnaHQ6ODBweDtvdmVyZmxvdzpoaWRkZW59Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxDaGlwc1NoZWxmVGl0bGV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuNHJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yNTttYXJnaW46MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbENoaXBzU2hlbGZJdGVte21hcmdpbjowIDRweCA4cHh9Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxNZW51QnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbElzSW5uZXJDaGlwc1NoZWxme21hcmdpbi1ib3R0b206MH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbEVuYWJsZUFuaW1hdGlvbnstLWNoaXBzLXNoZWxmLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjA7aGVpZ2h0OnZhcigtLWNoaXBzLXNoZWxmLWhlaWdodCk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyxoZWlnaHQgLjNzfS55dG1DaGlwc1NoZWxmVmlld01vZGVsRW5hYmxlQW5pbWF0aW9uLmV4cGFuZGVke29wYWNpdHk6MX0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbElzSW5uZXJDaGlwc1NoZWxmQ29udGVudHttYXJnaW4tYm90dG9tOjB9Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxJc0hvcml6b250YWxseVNjcm9sbGFibGV7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93LXg6YXV0bztmbGV4LXdyYXA6bm93cmFwO3Njcm9sbGJhci13aWR0aDpub25lfS55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1ib3R0b206MTZweH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxIZWFkZXJ7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbToyNHB4fS55dENvbW11bml0eUVkdVZpZXdNb2RlbFRpdGxlSW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxBdmF0YXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxUaXRsZXtkaXNwbGF5OmJsb2NrO21hcmdpbjowIDI0cHggMTZweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS55dENvbW11bml0eUVkdVZpZXdNb2RlbFRpdGxle3RleHQtYWxpZ246Y2VudGVyfS55dENvbW11bml0eUVkdVZpZXdNb2RlbENvbnRlbnR7cGFkZGluZy1sZWZ0Ojc4cHh9Lnl0Q29tbXVuaXR5RWR1Vmlld01vZGVsTGVhcm5Nb3Jle2NvbG9yOiMwNjVmZDQ7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxFZHVjYXRpb25hbFRleHRTZXR7dGV4dC1hbGlnbjpzdGFydH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxQcmltYXJ5VGV4dHtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbW11bml0eUVkdVZpZXdNb2RlbFNlY29uZGFyeVRleHR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjI0cHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhcnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOnJldmVyc2U7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplVGlueTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplRXh0cmFTbWFsbDpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplU21hbGw6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZU1lZGl1bTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplNDg6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZUxhcmdlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVFeHRyYUxhcmdlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVFeHRyYUV4dHJhTGFyZ2U6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZUdpYW50Om5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVSZXNwb25zaXZlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbFRleHRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTttYXJnaW46MnB4IDA7bWFyZ2luLWxlZnQ6LThweDtib3JkZXI6MnB4IHNvbGlkICNmZmZ9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxUZXh0Q29udGFpbmVyVGhpbkJvcmRlcnttYXJnaW4tdG9wOjNweDttYXJnaW4tYm90dG9tOjNweDtib3JkZXItd2lkdGg6MXB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsVGV4dENvbnRhaW5lclRoaW5Cb3JkZXJPdmVybGF5e2JvcmRlcjoxcHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhckRlY29yYXRlZFRleHR7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHR7bWFyZ2luLWxlZnQ6OHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MS44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU3RhY2tUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHR7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHQ6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyQnV0dG9ue21hcmdpbjo0cHggMH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbElzT3ZlcmxheXtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHttYXgtaGVpZ2h0OjJyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDoycHg7b3ZlcmZsb3c6aGlkZGVuO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhUm93OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0OjJweDtib3JkZXItcmFkaXVzOjRweH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxBdmF0YXJTdGFja3ttaW4td2lkdGg6MDttYXgtd2lkdGg6MTAwJX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVJvd01ldGFkYXRhUm93SW5saW5le2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFSb3dNZXRhZGF0YVJvd1BhZGRpbmd7cGFkZGluZzo4cHggMH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVJvd01ldGFkYXRhUm93V3JhcHtmbGV4LXdyYXA6d3JhcH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxCYWRnZXttYXJnaW4tcmlnaHQ6NHB4fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbEljb257bWFyZ2luLWxlZnQ6NHB4Oy1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTGVhZGluZ0ljb257bWFyZ2luLXJpZ2h0OjRweDstbW96LWJveC1mbGV4OjA7ZmxleDpub25lfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbFNwYWNlcntoZWlnaHQ6NnB4fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRMYXN0UGFydHtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjB9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMwe2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjMuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7bWF4LWhlaWdodDozLjZyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMze2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NS40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3std2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0Om5vbmV9fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3ttYXgtaGVpZ2h0OjUuNHJlbX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo3LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0ey13ZWJraXQtbGluZS1jbGFtcDo0O21heC1oZWlnaHQ6bm9uZX19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0e21heC1oZWlnaHQ6Ny4ycmVtfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbERlbGltaXRlcnttYXJnaW46MCA0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbERlbGltaXRlclN0YW5kYWxvbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDoycHh9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsSW5saW5le3doaXRlLXNwYWNlOm5vcm1hbH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxJbmxpbmUgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFSb3d7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMye21heC1oZWlnaHQ6NHJlbX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3tmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo2cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMzey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczN7bWF4LWhlaWdodDo2cmVtfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczR7LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDpub25lfX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzNHttYXgtaGVpZ2h0OjhyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxEZWxpbWl0ZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbENlbnRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRDb250ZW50TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbENvbnRlbnRMaXN0SXRlbVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tbGVmdDoxNnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye21hcmdpbi10b3A6OHB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1yaWdodDoxMnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbGltYWdlQ2xhc3NOYW1le2JvcmRlci1yYWRpdXM6OHB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlTWV0YWRhdGFXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDb250ZW50TGlzdEl0ZW1WaWV3TW9kZWxNZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFByb21pbmVudFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuNHJlbTtsaW5lLWhlaWdodDozLjJyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFByb21pbmVudFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0Q29udGVudExpc3RJdGVtVmlld01vZGVsQWN0aW9uQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1yaWdodDoxNnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dERlY29yYXRlZEF2YXRhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFJlZWxDaGFubmVsQmFyVmlld01vZGVsQ2hhbm5lbE5hbWV7cGFkZGluZzowIDhweDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbENoYW5uZWxOYW1ley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXttYXgtaGVpZ2h0OjJyZW19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjMuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbENoYW5uZWxOYW1ley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXttYXgtaGVpZ2h0OjMuNnJlbX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxSZWVsU3Vic2NyaWJlQnV0dG9ue2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxSZWVsU3BvbnNvckJ1dHRvbntkaXNwbGF5Om5vbmV9fS55dFByZWZlcnJlZExhbmd1YWdlU2V0dGluZ3NQYW5lbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRBbmltYXRlZEFzc2V0Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEFuaW1hdGVkQXNzZXRWaWV3TW9kZWxGaWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiMwMzAzMDM7Ym9yZGVyLXJhZGl1czoxMnB4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxIb3N0e2JvcmRlcjoxcHggc29saWQgQnV0dG9uQm9yZGVyfX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE5hcnJvd3stbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpzdGFydH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE5hcnJvdyAueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVyey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpub3JtYWw7YWxpZ24taXRlbXM6bm9ybWFsfS55dEFsZXJ0QmFubmVyVmlld01vZGVsTmFycm93IC55dEFsZXJ0QmFubmVyVmlld01vZGVsQWN0aW9uQnV0dG9ue21hcmdpbjowIDAgMTJweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEZ1bGxibGVlZHtib3JkZXItcmFkaXVzOjB9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxJbmZvcm1hdGlvbmFse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbFRpbWVTZW5zaXRpdmV7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmfS55dEFsZXJ0QmFubmVyVmlld01vZGVsV2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEFsZXJ0QmFubmVyVmlld01vZGVsRGlzbWlzc2Vke2Rpc3BsYXk6bm9uZX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVyOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDoxMnB4fS55dEFsZXJ0QmFubmVyVmlld01vZGVsT3V0ZXJDb250YWluZXI6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjEycHh9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7cGFkZGluZzoxMnB4IDA7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dEFsZXJ0QmFubmVyVmlld01vZGVsSWNvbntwYWRkaW5nOjEycHh9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxDb250ZW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEhlYWRpbmd7cGFkZGluZzowO21hcmdpbjowO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEJvZHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dEFsZXJ0QmFubmVyVmlld01vZGVsQWN0aW9uQnV0dG9ue21hcmdpbjo2cHggMCA2cHggMTJweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbERpc21pc3NCdXR0b257bWFyZ2luOjZweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbElzSW5SaWNoR3JpZHttYXJnaW4tYm90dG9tOjE2cHh9LmRpdmlkZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5kaXZpZGVyVmlld01vZGVsSW5zZXRUaGluUGFkZGluZ3twYWRkaW5nOjE2cHh9LmRpdmlkZXJWaWV3TW9kZWxCYXNlRGl2aWRlcntoZWlnaHQ6MXB4O3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LmRpdmlkZXJWaWV3TW9kZWxCYXNlRGl2aWRlckZ1bGxCbGVlZDRweHtoZWlnaHQ6NHB4fS5kaXZpZGVyVmlld01vZGVsQmFzZURpdmlkZXJGdWxsQmxlZWQ4cHh7aGVpZ2h0OjhweH0uZGl2aWRlclZpZXdNb2RlbEJhc2VEaXZpZGVyRnVsbEJsZWVkMTJweHtoZWlnaHQ6MTJweH0uZGl2aWRlclZpZXdNb2RlbEJhc2VEaXZpZGVyRnVsbEJsZWVkVGhpY2t7aGVpZ2h0OjZweH0ueXRUaHVtYm5haWxCYWRnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRUaHVtYm5haWxWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjB9Lnl0VGh1bWJuYWlsVmlld01vZGVsQ2luZW1hdGlje2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRUaHVtYm5haWxWaWV3TW9kZWxBc3BlY3RSYXRpbzE2Qnk5e3BhZGRpbmctdG9wOjU2LjI1JX0ueXRUaHVtYm5haWxWaWV3TW9kZWxBc3BlY3RSYXRpbzJCeTN7cGFkZGluZy10b3A6MTUwJX0ueXRUaHVtYm5haWxWaWV3TW9kZWxTaG9ydHNBc3BlY3RSYXRpbzlCeTE2e3BhZGRpbmctdG9wOjE3OCV9Lnl0VGh1bWJuYWlsVmlld01vZGVsQXNwZWN0UmF0aW8xQnkxe3BhZGRpbmctdG9wOjEwMCV9Lnl0VGh1bWJuYWlsVmlld01vZGVsU21hbGx7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0VGh1bWJuYWlsVmlld01vZGVsTWVkaXVte2JvcmRlci1yYWRpdXM6OHB4fS55dFRodW1ibmFpbFZpZXdNb2RlbExhcmdle2JvcmRlci1yYWRpdXM6MTJweH0ueXRUaHVtYm5haWxWaWV3TW9kZWxJbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0b3A6NTAlO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dFRodW1ibmFpbFZpZXdNb2RlbEJsdXJyZWRJbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2hlaWdodDoyMDAlO2ZpbHRlcjpibHVyKDMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNSUpfS55dFRodW1ibmFpbFZpZXdNb2RlbEhpZ2hsaWdodEVmZmVjdHtib3gtc2hhZG93OjAgMCA3cHggMnB4ICMwZjBmMGY7b3V0bGluZTpzb2xpZCAxcHggI2ZmZn0ueXRUaHVtYm5haWxWaWV3TW9kZWxIb3N0QWREaXNjbG9zdXJlQmFubmVyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo4cHg7ei1pbmRleDoxfS55dFBpbmtpbmdOc0hvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9Lnl0UGlua2luZ05zUGlua2luZ0xlZnR7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3dpZHRoOjRweDtoZWlnaHQ6MTAwJX0ueXRQaW5raW5nTnNQaW5raW5nUmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0UGlua2luZ05zUGlua2luZ3tmaWxsOiNmZmZ9Lnl0VGh1bWJuYWlsT3ZlcmxheUJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRUaHVtYm5haWxPdmVybGF5QnV0dG9uVmlld01vZGVsQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlfS55dFRodW1ibmFpbE92ZXJsYXlCdXR0b25WaWV3TW9kZWxCdXR0b25Cb3R0b21FbmRQb3NpdGlvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRUaHVtYm5haWxPdmVybGF5QnV0dG9uVmlld01vZGVsQnV0dG9uVG9wRW5kUG9zaXRpb257dG9wOjhweDtyaWdodDo4cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJ1dHRvblZpZXdNb2RlbEJ1dHRvbkxlZ2FjeUljb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtyaWdodDo4cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RTbWFsbHttYXJnaW4tYm90dG9tOjJweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0TWVkaXVte21hcmdpbi1ib3R0b206NHB4fS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RMYXJnZXttYXJnaW4tYm90dG9tOjhweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW46MCA4cHggNHB4IDEycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyU2VnbWVudHtmbGV4LXNocmluazowfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RQcm9ncmVzc0JhckFjdGl2ZVNlZ21lbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2hlaWdodDo2cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFySW5hY3RpdmVTZWdtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoycHggMCAwIDJweDttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0OjJweDttYXJnaW4tdG9wOjJweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJGaXhlZFRvQm90dG9te3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjF9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyRml4ZWRUb0JvdHRvbUFjdGl2ZVNlZ21lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7aGVpZ2h0OjZweDttYXJnaW4tdG9wOjB9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyRml4ZWRUb0JvdHRvbUluYWN0aXZlU2VnbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTA7Ym9yZGVyLXJhZGl1czowfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RQcm9ncmVzc0JhckxlZnRTZWdtZW50e2JvcmRlci1yYWRpdXM6MnB4IDAgMCAycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyUmlnaHRTZWdtZW50e2JvcmRlci1yYWRpdXM6MCAycHggMnB4IDA7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFdhdGNoZWRQcm9ncmVzc0JhcntoZWlnaHQ6NHB4O21hcmdpbjowIDRweCA0cHggOHB4O2JhY2tncm91bmQtY29sb3I6IzkwOTA5MDt3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93OmhpZGRlbn0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0V2F0Y2hlZFByb2dyZXNzQmFyU2VnbWVudHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0VXNlTGVnYWN5QmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO21hcmdpbjowO2JvcmRlci1yYWRpdXM6MH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0TGFiZWx7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cGFkZGluZzowIDRweDtib3R0b206MTZweDtsZWZ0Oi0xMHB4O2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RMYWJlbFRyaWFuZ2xle3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2xlZnQ6LTVweDtoZWlnaHQ6MDt3aWR0aDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkICNmZmZ9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjEycHggMTJweCAxNnB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsTGVhZGluZ0NvbnRlbnR7bWFyZ2luLXJpZ2h0OjhweH0ueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxQb3NpdGlvblRvcHt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDAuNiksdHJhbnNwYXJlbnQpfS55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFBvc2l0aW9uQm90dG9te2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsMC42KSl9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsVGl0bGVNYXhMaW5lczJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxUaXRsZU1heExpbmVzMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFN1YnRpdGxle2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFZvdGluZ1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0Vm90aW5nVmlld01vZGVsVm90ZUNvdW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjAgOHB4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFZvdGluZ1ZpZXdNb2RlbFZvdGVDb3VudERpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0ZEZlZWRGaWx0ZXJDaGlwUmVuYW1lRm9ybVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjE2cHggMjRweH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dExpbmVhckxheW91dFZpZXdNb2RlbFZlcnRpY2Fsey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxIb3Jpem9udGFsey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Db2x1bW57LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Db2x1bW5SZXZlcnNley1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246cmV2ZXJzZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxGbGV4RGlyZWN0aW9uUm93ey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Sb3dSZXZlcnNley1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS55dExpbmVhckxheW91dFZpZXdNb2RlbEp1c3RpZnlDb250ZW50Q2VudGVyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRGbGV4RW5key1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFNwYWNlQXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRCZXR3ZWVuey1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFNwYWNlRXZlbmx5ey1tb3otYm94LXBhY2s6c3BhY2UtZXZlbmx5O2p1c3RpZnktY29udGVudDpzcGFjZS1ldmVubHl9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRGbGV4U3RhcnR7LW1vei1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zU3RhcnR7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zRW5key1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zQ2VudGVyey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc0Jhc2VsaW5lRmlyc3R7LW1vei1ib3gtYWxpZ246Zmlyc3QgYmFzZWxpbmU7YWxpZ24taXRlbXM6Zmlyc3QgYmFzZWxpbmV9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc0Jhc2VsaW5lTGFzdHstbW96LWJveC1hbGlnbjpsYXN0IGJhc2VsaW5lO2FsaWduLWl0ZW1zOmxhc3QgYmFzZWxpbmV9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc1N0cmV0Y2h7LW1vei1ib3gtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNofS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhXcmFwV3JhcHtmbGV4LXdyYXA6d3JhcH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxGbGV4V3JhcFdyYXBSZXZlcnNle2ZsZXgtd3JhcDp3cmFwLXJldmVyc2V9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsVGh1bWJuYWlsSXRlbXt3aWR0aDoxMDAlfS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbFRpdGxle21hcmdpbjowO21heC1oZWlnaHQ6dW5zZXR9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1zaHJpbms6MDtwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsSG9zdERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIb3N0Q2VudGVyZWR7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxCYW5uZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsQmFubmVyRnVsbEJsZWVke21hcmdpbi1sZWZ0Oi0yNHB4O21hcmdpbi1yaWdodDotMjRweDttYXJnaW4tdG9wOi0yNHB4fS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbEJhbm5lckltYWdley1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsQ3VzdG9tQXNzZXRDb250YWluZXJ7bWFyZ2luOjJweCAwIDEycHggNnB4fS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbEN1c3RvbUFzc2V0Q29udGFpbmVyQ2VudGVyZWR7bWFyZ2luLWxlZnQ6MH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIZWFkZXJCbG9ja3stbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLXNlbGY6c3RyZXRjaDtjb2xvcjojMDMwMzAzO21hcmdpbi1ib3R0b206MTZweH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIZWFkZXJCbG9ja0NlbnRlcmVke2FsaWduLXNlbGY6Y2VudGVyfS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbFRleHR7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsVGV4dHttYXgtaGVpZ2h0OjUuNnJlbX0ueXRPdmVybGF5UG9sbFN0aWNrZXJIb3N0ey0tcHJpbWFyeS1zdXJmYWNlOiNmYWNhZGU7LS1yYWlzZWQtc3VyZmFjZTojZGUxZTdlOy0tc2Vjb25kYXJ5LXN1cmZhY2U6I2RlMWU3ZTstLXByaW1hcnktdGV4dDojMTAxY2E3Oy0tc2Vjb25kYXJ5LXRleHQ6IzAwNzstLW9yaWdpbmFsLXdpZHRoOjIyMDstLW9yaWdpbmFsLWhlaWdodDoyMDU7LS1zY2FsZWQtd2lkdGg6MjIwO2ZvbnQtc2l6ZTpjYWxjKHZhcigtLXN0aWNrZXItd2lkdGgpL3ZhcigtLW9yaWdpbmFsLXdpZHRoKSoxOHB4KTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6MTAlO3BhZGRpbmc6MWVtIGNhbGModmFyKC0tb3JpZ2luYWwtaGVpZ2h0KS92YXIoLS1vcmlnaW5hbC13aWR0aCkqMWVtKTtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktc3VyZmFjZSk7Y29sb3I6dmFyKC0tcHJpbWFyeS10ZXh0KX0ueXRPdmVybGF5UG9sbFN0aWNrZXJRdWVzdGlvblRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbTtsaW5lLWhlaWdodDoxLjIyMjIyMjIyMjJlbTtmb250LXdlaWdodDo3MDB9Lnl0T3ZlcmxheVBvbGxTdGlja2VyUG9sbENob2ljZXt3aWR0aDoxMDAlfS55dE92ZXJsYXlQb2xsU3RpY2tlclZvdGVDb3VudHtmb250LWZhbWlseTpSb2JvdG8sc2Fucy1zZXJpZjtmb250LXNpemU6LjU1NTU1NTU1NTZlbTtsaW5lLWhlaWdodDoxZW07Zm9udC13ZWlnaHQ6NDAwfS55dE92ZXJsYXlQb2xsU3RpY2tlckRlYnVnU3R5bGV7b3BhY2l0eTouNztib3JkZXI6MXB4IHNvbGlkIHJlZH1AcHJvcGVydHkgLS1wb2xsLWNob2ljZS1wZXJjZW50YWdle3N5bnRheDoiPG51bWJlcj4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VIb3N0e2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOmNhbGModmFyKC0tc3RpY2tlci13aWR0aCkvdmFyKC0tb3JpZ2luYWwtd2lkdGgpKjE4cHgpOy0tZGlzcGxheWVkLXBlcmNlbnRhZ2U6MH0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VVbnN0eWxlUmFkaW9CdXR0b257LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO29wYWNpdHk6MDttYXJnaW46MDtwb2ludGVyLWV2ZW50czpub25lfS55dE92ZXJsYXlQb2xsU3RpY2tlckNob2ljZVBvbGxDaG9pY2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO2JvcmRlcjouMTExMTExMTExMWVtIHNvbGlkIHZhcigtLXJhaXNlZC1zdXJmYWNlKTtwYWRkaW5nOjAgLjMzMzMzMzMzMzNlbTtoZWlnaHQ6M2VtO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcmFpc2VkLXN1cmZhY2UpO2JvcmRlci1yYWRpdXM6LjVlbTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LXRleHQpO2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouNzc3Nzc3Nzc3OGVtO2ZvbnQtd2VpZ2h0OjUwMDtwb2ludGVyLWV2ZW50czphdXRvO3RyYW5zaXRpb246LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlIC4yNXMgZWFzZS1pbi1vdXR9Lnl0T3ZlcmxheVBvbGxTdGlja2VyQ2hvaWNlU2hvd1ZvdGVQZXJjZW50YWdle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLXJhaXNlZC1zdXJmYWNlKSBjYWxjKHZhcigtLXBvbGwtY2hvaWNlLXBlcmNlbnRhZ2UsIDEwMCkqMSUpLHZhcigtLXByaW1hcnktc3VyZmFjZSkgY2FsYyh2YXIoLS1wb2xsLWNob2ljZS1wZXJjZW50YWdlLCAxMDApKjElKSk7LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlOnZhcigtLWRpc3BsYXllZC1wZXJjZW50YWdlKX0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VQb2xsQ2hvaWNlU2VsZWN0ZWR7LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlOnZhcigtLWRpc3BsYXllZC1wZXJjZW50YWdlKTtib3JkZXI6LjExMTExMTExMTFlbSBzb2xpZCB2YXIoLS1wcmltYXJ5LXRleHQpfS55dE92ZXJsYXlQb2xsU3RpY2tlckNob2ljZVBvbGxDaG9pY2VUZXh0ey1tb3otYm94LWZsZXg6NDtmbGV4OjQ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDozZW07d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93OmhpZGRlbn0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VWb3RlUGVyY2VudGFnZXstbW96LWJveC1mbGV4OjE7ZmxleDoxO3RleHQtYWxpZ246cmlnaHR9Lnl0Y2lDb252ZXJzYXRpb25WaWRlb0lkZWFDYXJkVmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstLWljb24tY29sb3I6Y3VycmVudGNvbG9yfS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbENhcmR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTZweH0ueXRjaUNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLXRvcDoyNHB4fS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbElkZWFBdHRyaWJ1dGlvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjA2MDYwO3BhZGRpbmctYm90dG9tOjMycHg7Zm9udC13ZWlnaHQ6NzAwfS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbElkZWFOYW1le2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmctYm90dG9tOjhweH0ueXRjaUNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWxJZGVhU3VtbWFyeXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjA2MDYwO2ZvbnQtc2l6ZToxLjNyZW19Lnl0SW5zdGFsbG1lbnRBZ3JlZW1lbnRzVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoxMHB4IDEycHh9Lnl0SW5zdGFsbG1lbnRBZ3JlZW1lbnRzVmlld01vZGVsQWdyZWVtZW50Um93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEluc3RhbGxtZW50QWdyZWVtZW50c1ZpZXdNb2RlbEFncmVlbWVudExhYmVse2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtYmFzaXM6MTAwJX0ueXRJbnN0YWxsbWVudEFncmVlbWVudHNWaWV3TW9kZWxBZ3JlZW1lbnRCdXR0b257LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRUaGVtZWRJbWFnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjojMDMwMzAzfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjJweDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxWaXN1YWxseUhpZGRlbkFjY2Vzc2liaWxpdHl7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsU3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsSW5mb1RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi10b3A6LTRweH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbEZlYXR1cmVEZXNjcmlwdGlvbnttYXgtd2lkdGg6bm9uZTt0ZXh0LWFsaWduOmxlZnQ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi1sZWZ0OjhweH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbEljb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojMDMwMzAzfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsTm90ZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS42cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVye2hlaWdodDoxMDAlOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW46YXV0b30ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVySGVhZGVyQ2VsbHstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpzdGFydDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsVmlld01vZGVsQ2VsbFdyYXBwZXJDb250ZW50Q2VsbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVySGVhZGVyUm93Q2VsbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjEwcHggMWZyO2dyaWQtZ2FwOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxIb3N0Rmlyc3RSb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoyMTBweCAxZnI7Z3JpZC1nYXA6MH1AbWVkaWEgKG1heC13aWR0aDo1NzBweCl7Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbEhvc3RGaXJzdFJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlUm93SGVhZGVyQ2VsbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6c3RhcnQ7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0hlYWRlckNlbGx7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6bm9uZX19Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVGaXJzdFJvd0NlbGx7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjRweH0ueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0NvbnRlbnRDZWxse2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0NvbnRlbnRDZWxse2JvcmRlci10b3A6bm9uZX19Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVSb3dDb250ZW50Q2VsbHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDk1cHgsMWZyKSk7Z3JpZC1nYXA6MH0ueXRVcHNlbGxPZmZlclRhYmxlVmlld01vZGVsSG9zdHt0ZXh0LWFsaWduOmNlbnRlcn0ueXRVcHNlbGxPZmZlclRhYmxlVmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd3N7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjUxMnB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjI0cHg7bWF4LXdpZHRoOjM3NXB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3ROb1BhZGRpbmd7cGFkZGluZzowO3BhZGRpbmctdG9wOjI0cHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFdpZGV7bWF4LXdpZHRoOjUxMnB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMb2dve3dpZHRoOjEyNHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMb2dve2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzo2cHg7Ym9yZGVyLXJhZGl1czo0cHh9fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxUaXRsZXtwYWRkaW5nLXRvcDoyNHB4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsVGl0bGU6Zm9jdXMsLnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbFRpdGxlOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxTdWJ0aXRsZVNlY3Rpb257cGFkZGluZzowfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxTdWJ0aXRsZVNlY3Rpb25TdWJ0aXRsZXtwYWRkaW5nLXRvcDo4cHg7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsU3VidGl0bGVTZWN0aW9uU3VidGl0bGVTZWNvbmRhcnl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxCZW5lZml0SW5mb1NlY3Rpb257cGFkZGluZy10b3A6NHB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxCZW5lZml0SW5mb1NlY3Rpb25JY29ue2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbEJlbmVmaXRJbmZvU2VjdGlvbkJlbmVmaXRJbmZve2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctdG9wOjEycHg7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsT2ZmZXJUYWJsZVNlY3Rpb257cGFkZGluZy10b3A6NHB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMZWdhbEluZm9TZWN0aW9ue3BhZGRpbmctdG9wOjEycHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbExlZ2FsSW5mb1NlY3Rpb25MZWdhbEluZm97cGFkZGluZy10b3A6NHB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMZWdhbEluZm9TZWN0aW9uTGVnYWxJbmZvU21hbGxlcntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNnJlbTtmb250LXdlaWdodDo0MDB9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsSG9zdHtwYWRkaW5nOjI0cHggMjRweCA4cHg7d2lkdGg6YXV0bztkaXNwbGF5OmJsb2NrfS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbFNjb3JlUmFkaWFse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxNDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTY29yZVJhZGlhbDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtib3JkZXItcmFkaXVzOjMxcHg7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQocmdiKDAsMCwwKSAyMCUsdHJhbnNwYXJlbnQgNjAlKTtmaWx0ZXI6Ymx1cigycHgpO2JhY2tncm91bmQ6cmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KGZyb20gMGRlZywjZjdkN2M1IDBkZWcgMTBkZWcsdHJhbnNwYXJlbnQgMTBkZWcgMjBkZWcpfS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbERhcmtTY29yZVJhZGlhbDpiZWZvcmV7YmFja2dyb3VuZDpyZXBlYXRpbmctY29uaWMtZ3JhZGllbnQoZnJvbSAwZGVnLCM0MjRmNWQgMGRlZyAxMGRlZyx0cmFuc3BhcmVudCAxMGRlZyAyMGRlZyl9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMzt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjUuNnJlbX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO3BhZGRpbmc6OHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbFN1YnRpdGxle21heC1oZWlnaHQ6MnJlbX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTY29yZXtjb2xvcjojMDMwMzAzO21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MCAxNnB4O2hlaWdodDo2MnB4O2JvcmRlci1yYWRpdXM6MzFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpncmlkOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6My4ycmVtO2xpbmUtaGVpZ2h0OjQuNHJlbTtmb250LXdlaWdodDo5MDB9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsUHJvbXB0e2NvbG9yOiM2MDYwNjA7cGFkZGluZy10b3A6OHB4O3RleHQtd3JhcDp3cmFwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUcnVuY2F0ZWRUZXh0SG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmF1dG87Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUcnVuY2F0ZWRUZXh0VHJ1bmNhdGVkVGV4dENvbnRlbnR7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ueXRUcnVuY2F0ZWRUZXh0VHJ1bmNhdGVkVGV4dENvbnRlbnQueXRUcnVuY2F0ZWRUZXh0SGlkZGVuVGV4dENvbnRlbnR7dmlzaWJpbGl0eTpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0VHJ1bmNhdGVkVGV4dElubGluZUJ1dHRvbnt2aXNpYmlsaXR5OmhpZGRlbjtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRBYnNvbHV0ZUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0VHJ1bmNhdGVkVGV4dEJvdHRvbUJ1dHRvbntmbG9hdDpyaWdodDtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRPdmVybGF5e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRUcnVuY2F0ZWRUZXh0T3ZlcmxheSAueXRUcnVuY2F0ZWRUZXh0QWJzb2x1dGVCdXR0b24sLnl0VHJ1bmNhdGVkVGV4dE92ZXJsYXkgLnl0VHJ1bmNhdGVkVGV4dEJvdHRvbUJ1dHRvbiwueXRUcnVuY2F0ZWRUZXh0T3ZlcmxheSAueXRUcnVuY2F0ZWRUZXh0SW5saW5lQnV0dG9ue2NvbG9yOiNmZmZ9Lnl0VHJ1bmNhdGVkVGV4dEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0VHJ1bmNhdGVkVGV4dE1lZGl1bVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFRydW5jYXRlZFRleHRNZWRpdW1UZXh0IC55dFRydW5jYXRlZFRleHRBYnNvbHV0ZUJ1dHRvbiwueXRUcnVuY2F0ZWRUZXh0TWVkaXVtVGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRNZWRpdW1UZXh0IC55dFRydW5jYXRlZFRleHRJbmxpbmVCdXR0b257Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRMYXJnZVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9Lnl0VHJ1bmNhdGVkVGV4dExhcmdlVGV4dCAueXRUcnVuY2F0ZWRUZXh0QWJzb2x1dGVCdXR0b24sLnl0VHJ1bmNhdGVkVGV4dExhcmdlVGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRMYXJnZVRleHQgLnl0VHJ1bmNhdGVkVGV4dElubGluZUJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRUcnVuY2F0ZWRUZXh0UHJpbWFyeVRleHR7Y29sb3I6IzAzMDMwM30ueXRUcnVuY2F0ZWRUZXh0UHJpbWFyeVRleHQgLnl0VHJ1bmNhdGVkVGV4dEFic29sdXRlQnV0dG9uLC55dFRydW5jYXRlZFRleHRQcmltYXJ5VGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRQcmltYXJ5VGV4dCAueXRUcnVuY2F0ZWRUZXh0SW5saW5lQnV0dG9ue2NvbG9yOiM2MDYwNjB9Lnl0RGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dERlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbENsaWNrYWJsZXtjdXJzb3I6cG9pbnRlcn0ueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmF1dG87Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbk1lZGl1bVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbElzT3ZlcmxheSAueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOnByZS1saW5lO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxIZWFkbGluZXtjb2xvcjojMDMwMzAzO21hcmdpbi1ib3R0b206MTJweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsSGVhZGxpbmV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxIZWFkbGluZXttYXgtaGVpZ2h0OjUuNnJlbX0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhIZWFkbGluZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhIZWFkbGluZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaEhlYWRsaW5le21heC1oZWlnaHQ6NS4ycmVtO2NvbG9yOiMwMzAzMDM7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsUGFyYWdyYXBoOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWJvdHRvbToxMnB4fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaENvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhBc3NldHtkaXNwbGF5OmJsb2NrO21hcmdpbi1yaWdodDoxMnB4fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaFRleHR7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhUZXh0UHJpbWFyeXtjb2xvcjojMDMwMzAzfS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaFRleHRCb2xke2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxIb3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtib3R0b206MDtyaWdodDowO292ZXJmbG93OmhpZGRlbn0ueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxCYWNrZ3JvdW5kSW1hZ2V7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjAwJTttYXgtd2lkdGg6MjAwJTtoZWlnaHQ6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjUlKSB0cmFuc2xhdGVZKC0yNSUpO29wYWNpdHk6Ljc7ZmlsdGVyOmJsdXIoMzBweCl9Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsQmFja2dyb3VuZEdyYWRpZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVDb250YWluZXJ7aGVpZ2h0OjEwMCV9QG1lZGlhIChtaW4td2lkdGg6ODQwcHgpey55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVJbWFnZXtvcGFjaXR5Oi44O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxGYWRlVG9UaGVtZUltYWdle2Rpc3BsYXk6bm9uZX19Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVJbWFnZUNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtyaWdodDphdXRvO2hlaWdodDoxMDAlO21pbi13aWR0aDo1MCV9QG1lZGlhIChtaW4td2lkdGg6ODQwcHgpey55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lSW1hZ2VDb250YWluZXJ7cmlnaHQ6LTgwcHh9fS55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lSW1hZ2VHcmFkdWFsQmx1cntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czpub25lfS55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lR3JhZGllbnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS55dENvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWxIb3N0SGFzU3RhY2tze2JvcmRlci10b3A6MXB4IHNvbGlkICNmZmY7bWFyZ2luLXRvcDotMXB4fS55dENvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWxTbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd0hvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDb2xsZWN0aW9uVGh1bWJuYWlsU2xpZGVzaG93U2xpZGVzaG93VGh1bWJuYWlse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjhzIGVhc2V9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd1NsaWRlc2hvd1RodW1ibmFpbEZpcnN0U2xpZGV7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd1NsaWRlc2hvd1RodW1ibmFpbFNob3dTbGlkZXtvcGFjaXR5OjF9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxIb3N0IHBhdGgub2ZmbGluZS1kb3dubG9hZGluZy1wcm9ncmVzc3tzdHJva2U6IzNlYTZmZn0ueXREb3dubG9hZEJ1dHRvblZpZXdNb2RlbEhvc3QgcGF0aC5vZmZsaW5lLWRvd25sb2FkaW5nLWJhY2tncm91bmR7c3Ryb2tlOiMwNjVmZDR9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxJc0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0Rm9ybUZvb3RlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxIb3N0e3dpZHRoOjEwMCV9Lnl0UmFkaW9CdXR0b25JdGVtVmlld01vZGVsTGFiZWx7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dFJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbERpc2FibGVkIC55dFJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbExhYmVse2NvbG9yOiM2MDYwNjB9Lnl0UmFkaW9CdXR0b25JdGVtVmlld01vZGVsU3ViVGV4dCwueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7ZGlzcGxheTpibG9jaztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxTdWJUaXRsZXttYXJnaW4tYm90dG9tOjhweH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxUcmFpbGluZ0FjY2Vzc29yeXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxUcmFpbGluZ0NvbnRhaW5lcnstbW96LW1hcmdpbi1zdGFydDo4cHg7bWFyZ2luLWlubGluZS1zdGFydDo4cHg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRTZWxlY3Rpb25MaXN0SXRlbUZvcm1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U2VsZWN0aW9uTGlzdEl0ZW1Gb3JtVmlld01vZGVsUGFyYWdyYXBoe21hcmdpbi1ib3R0b206MTJweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0U3VibWl0QnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEF0dHJpYnV0aW9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDowfS55dEF0dHJpYnV0aW9uVmlld01vZGVsQXR0cmlidXRpb25UZXh0e2JhY2tncm91bmQtY29sb3I6dW5zZXQ7Ym9yZGVyLXN0eWxlOnVuc2V0O2ZsZXgtc2hyaW5rOjE7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxTdWZmaXh7bWFyZ2luLWxlZnQ6NHB4O2JhY2tncm91bmQtY29sb3I6dW5zZXQ7Ym9yZGVyLXN0eWxlOnVuc2V0O2ZsZXgtc2hyaW5rOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvbkltYWdle21hcmdpbi1yaWdodDo4cHg7LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZX0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbEJhZGdle21hcmdpbi1yaWdodDo0cHg7LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZX0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbFRhcHBhYmxle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmU7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2NvbG9yOmluaGVyaXQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MH0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbE1lZGl1bVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvblRleHQsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxNZWRpdW1UZXh0IC55dEF0dHJpYnV0aW9uVmlld01vZGVsQmFkZ2UsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxNZWRpdW1UZXh0IC55dEF0dHJpYnV0aW9uVmlld01vZGVsU3VmZml4e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtaGVpZ2h0OjJyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxIZWF2eVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvblRleHQsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxIZWF2eVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxCYWRnZSwueXRBdHRyaWJ1dGlvblZpZXdNb2RlbEhlYXZ5VGV4dCAueXRBdHRyaWJ1dGlvblZpZXdNb2RlbFN1ZmZpeHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7bWluLXdpZHRoOjA7LS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yOiMwMzAzMDN9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3N0Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodHtwb3NpdGlvbjpzdGF0aWN9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIZWFkaW5nUmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO21heC1oZWlnaHQ6dW5zZXR9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcnttYXJnaW4tcmlnaHQ6MTJweDtkaXNwbGF5Om5vbmV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxVcGRhdGVkQXZhdGFyTWFyZ2lue21hcmdpbi1yaWdodDo4cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXt0ZXh0LWRlY29yYXRpb246bm9uZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Y29sb3I6IzAzMDMwM30ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhhc01lbnVCdXR0b24gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtwYWRkaW5nLXJpZ2h0OjI0cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YXtjb2xvcjojNjA2MDYwfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDtyaWdodDotMTBweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF0dHJpYnV0aW9ue21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjB9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcntkaXNwbGF5OmJsb2NrfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbi55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQm90dG9tUmlnaHR7dG9wOnVuc2V0O3JpZ2h0OjA7Ym90dG9tOjA7dHJhbnNmb3JtOm5vbmU7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b24ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEJvdHRvbVJpZ2h0e3RyYW5zaXRpb246b3BhY2l0eSAuMnN9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbi55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmlzaWJsZXtvcGFjaXR5OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZW51QnV0dG9uOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDYXJke21hcmdpbjo0cHggMH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFZlcnRpY2FsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZHstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7cGFkZGluZy1yaWdodDowfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGV4dENvbnRhaW5lcnstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQXR0cmlidXRpb257bWFyZ2luLXRvcDoxMnB4fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENhcmR7bWFyZ2luOjAgOHB4IDhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE92ZXJsYXl7LS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yOiNmZmZ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxPdmVybGF5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGEsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxPdmVybGF5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZn0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXl7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENhcmR7bWFyZ2luOjRweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxBdmF0YXJ7bWFyZ2luLXJpZ2h0OjhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YSwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtwYWRkaW5nLXJpZ2h0OjhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZW51QnV0dG9ue3Bvc2l0aW9uOnVuc2V0fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsSG9yaXpvbnRhbCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcntkaXNwbGF5Om5vbmV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRleHRDb250YWluZXJ7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLXJpZ2h0OjI4cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle3BhZGRpbmctcmlnaHQ6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhvcml6b250YWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbnt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUeXBvZ3JhcGh5QnVtcCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjUuMnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NS4ycmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsUmljaEdyaWRMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczEgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczEgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuMnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMyAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Ni42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxlTWF4TGluZXMzIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMyAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6Ni42cmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDb21wYWN0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDb21wYWN0Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUeXBvZ3JhcGh5QnVtcCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsUmljaEdyaWRMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NC40cmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo2cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0Om5vbmV9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjZyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaW55IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDozLjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaW55IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpbnkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjMuNnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkQ29sdW1uey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZENvbHVtbiAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcnttYXJnaW4tcmlnaHQ6MDtkaXNwbGF5OmJsb2NrfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ2VudGVyZWRDb2x1bW4gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YSwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkQ29sdW1uIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7cGFkZGluZy1yaWdodDowfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ2VudGVyZWRDb2x1bW4gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZENvbHVtbiAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRleHRDb250YWluZXIsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle3BhZGRpbmctcmlnaHQ6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1vdmVMb2NrdXBPdmVyZmxvd01lbnVUb0JvdHRvbVJpZ2h0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbnt6LWluZGV4OjE7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YWZ0ZXIsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LTE1JTtib3JkZXItcmFkaXVzOjUwJX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1vdmVMb2NrdXBPdmVyZmxvd01lbnVUb0JvdHRvbVJpZ2h0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbjpiZWZvcmV7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgNjAlLHRyYW5zcGFyZW50IDEwMCUpO3otaW5kZXg6LTJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHZhcigtLXl0LWxvY2t1cC1tZXRhZGF0YS10aGVtZWQtbWVudS1idXR0b24tYWRkaXRpdmUtYmFja2dyb3VuZCx0cmFuc3BhcmVudCkgNjAlLHRyYW5zcGFyZW50IDEwMCUpO3otaW5kZXg6LTF9Lnl0Rm9ybVBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dERpYWxvZ0ltYWdlQ29udGVudFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dERpYWxvZ0ltYWdlQ29udGVudFZpZXdNb2RlbEltYWdle21hcmdpbi1pbmxpbmU6YXV0bzstbW96LWJveC1mbGV4OjA7ZmxleC1ncm93OjA7ZmxleC1zaHJpbms6MX0ueXREaWFsb2dJbWFnZUNvbnRlbnRWaWV3TW9kZWxEZXNjcmlwdGlvbnttYXJnaW4tdG9wOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC13cmFwOmJhbGFuY2U7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dEFuaW1hdGVkVGh1bWJuYWlsT3ZlcmxheVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MH0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxIb3N0QmFja2dyb3VuZHstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZsZXgtYmFzaXM6MC4wMDAwMDAwMDFweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7aGVpZ2h0OjY4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQscmdiYSgwLDAsMCwwLjYpKX0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsQmFkZ2VDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0VGh1bWJuYWlsQm90dG9tT3ZlcmxheVZpZXdNb2RlbEJhZGdlQ29udGFpbmVyU21hbGx7cGFkZGluZzowIDJweCAycHggMH0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsQmFkZ2VDb250YWluZXJTbWFsbExlZ2FjeXtwYWRkaW5nOjAgMnB4IDRweCAwfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZUNvbnRhaW5lck1lZGl1bXtwYWRkaW5nOjAgNHB4IDRweCAwfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZUNvbnRhaW5lckxhcmdle3BhZGRpbmc6MCA4cHggOHB4IDB9Lnl0VGh1bWJuYWlsQm90dG9tT3ZlcmxheVZpZXdNb2RlbEJhZGdlQ29udGFpbmVyQ2xpcHttYXJnaW4tcmlnaHQ6NHB4fS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZXttYXJnaW4tbGVmdDo0cHh9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsSG9zdHtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcn0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxIb3N0OmZvY3VzLC55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3Q6Zm9jdXMtd2l0aGluLC55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3Q6aG92ZXJ7b3BhY2l0eToxfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3RGb3JjZUhvdmVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm5vbmV9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsU2NyaW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJX0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxTdHlsZUNvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbFN0eWxlQnV0dG9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxNnB4O3JpZ2h0OjE2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjAgMTZweH0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxUZXh0e21hcmdpbjo0cHg7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsSWNvbnttYXJnaW46NHB4O2NvbG9yOiNmZmY7ZmlsbDojZmZmO2hlaWdodDoyNHB4fS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RvcDowO3JpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowIDAgNHB4IDRweDtwb2ludGVyLWV2ZW50czpub25lfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxIaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5VG9nZ2xlQWN0aW9uc1ZpZXdNb2RlbEhpZGRlbkdhdGVke29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxCdXR0b257cGFkZGluZzo0cHggNHB4IDAgMDtwb2ludGVyLWV2ZW50czphdXRvfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxPdmVybGF5QmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlUb2dnbGVBY3Rpb25zVmlld01vZGVsVG9wRW5kVmVydGljYWx7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmZsZXgtZW5kfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxCb3R0b21FbmRWZXJ0aWNhbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kOy1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlUb2dnbGVBY3Rpb25zVmlld01vZGVsVG9wRW5kSG9yaXpvbnRhbHstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3Bvc2l0aW9uOmFic29sdXRlfS55dFRodW1ibmFpbE92ZXJsYXlCYWRnZVZpZXdNb2RlbFNtYWxse21hcmdpbjoycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsTWVkaXVte21hcmdpbjo0cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsTGFyZ2V7bWFyZ2luOjhweH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxUb3BTdGFydHt0b3A6MDtsZWZ0OjB9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsVG9wU3RhcnQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2V7bWFyZ2luLXJpZ2h0OjRweH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmR7Ym90dG9tOjA7cmlnaHQ6MH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2V7bWFyZ2luLWxlZnQ6NHB4fS55dFRodW1ibmFpbE92ZXJsYXlCYWRnZVZpZXdNb2RlbENsaXAueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2U6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6NHB4fS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsVGV4dHttYXJnaW46NHB4O2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsSWNvbnttYXJnaW46NHB4O2NvbG9yOiNmZmY7ZmlsbDojZmZmO2hlaWdodDoyNHB4fS55dENvbnRlbnRQcmV2aWV3SW1hZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDb250ZW50UHJldmlld0ltYWdlVmlld01vZGVsQ2lyY2xlSW1hZ2V7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0Q29udGVudFByZXZpZXdJbWFnZVZpZXdNb2RlbEV4dHJhU21hbGxSb3VuZGVkSW1hZ2V7Ym9yZGVyLXJhZGl1czoycHh9Lnl0Q29udGVudFByZXZpZXdJbWFnZVZpZXdNb2RlbFNtYWxsUm91bmRlZEltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dENvbnRlbnRQcmV2aWV3SW1hZ2VWaWV3TW9kZWxMYXJnZVJvdW5kZWRJbWFnZXtib3JkZXItcmFkaXVzOjhweH0ueXRDb250ZW50UHJldmlld0ltYWdlVmlld01vZGVsVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxCdXR0b257dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJ1dHRvbkV4cGFuZGVke3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJ1dHRvbkNvbnRyb2xsZWR7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJvZHl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtcm93czowZnI7dHJhbnNpdGlvbjpncmlkLXRlbXBsYXRlLXJvd3MgLjM1cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJvZHlFeHBhbmRlZHtncmlkLXRlbXBsYXRlLXJvd3M6MWZyfS55dElubGluZUV4cGFuZGVyVmlld01vZGVsQm9keUNvbnRlbnR7b3ZlcmZsb3c6aGlkZGVufS55dFNoZWxmSGVhZGVyTGF5b3V0SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0U2hlbGZIZWFkZXJMYXlvdXRPcHRpb25hbE1lZGl1bUxheW91dFBhZGRpbmd7cGFkZGluZzowIDAgMTZweCA4cHh9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRPcHRpb25hbE1lZGl1bUxheW91dFBhZGRpbmd7cGFkZGluZzo4cHggMTJweH19Lnl0U2hlbGZIZWFkZXJMYXlvdXRIZWFkZXJSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNoZWxmSGVhZGVyTGF5b3V0UmVzcG9uc2l2ZXttaW4taGVpZ2h0OjU2cHh9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRSZXNwb25zaXZle21pbi1oZWlnaHQ6NDhweH19Lnl0U2hlbGZIZWFkZXJMYXlvdXROYXJyb3d7bWluLWhlaWdodDo0OHB4fS55dFNoZWxmSGVhZGVyTGF5b3V0RGlzYWJsZUhvcml6b250YWxQYWRkaW5ne3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0ueXRTaGVsZkhlYWRlckxheW91dERpc2FibGVWZXJ0aWNhbFBhZGRpbmd7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowfS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ljb257bWFyZ2luLXJpZ2h0OjI0cHg7Y29sb3I6IzAzMDMwMztoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ltYWdle21hcmdpbi1yaWdodDoxMnB4O21heC1oZWlnaHQ6MzZweDttYXgtd2lkdGg6MzZweDtjb2xvcjojMDMwMzAzfS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ltYWdlQ2lyY3VsYXJJbWFnZXtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lnl0U2hlbGZIZWFkZXJMYXlvdXRMYWJlbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRTaGVsZkhlYWRlckxheW91dFRpdGxlUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmJhc2VsaW5lO2FsaWduLWl0ZW1zOmJhc2VsaW5lfS55dFNoZWxmSGVhZGVyTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMztwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NS42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0VGl0bGVUeXBvZ3JhcGh5ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX19Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7bWF4LWhlaWdodDo1LjZyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7bWF4LWhlaWdodDo1LjJyZW19fS55dFNoZWxmSGVhZGVyTGF5b3V0U21hbGxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTaGVsZkhlYWRlckxheW91dFNtYWxsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTaGVsZkhlYWRlckxheW91dFNtYWxsVGl0bGV7bWF4LWhlaWdodDo1LjJyZW19Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7bWFyZ2luLWxlZnQ6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0RGV0YWlsey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7bWF4LWhlaWdodDoyLjJyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7ZGlzcGxheTpub25lfX0ueXRTaGVsZkhlYWRlckxheW91dFN1YmxhYmVse2NvbG9yOiM2MDYwNjA7cGFkZGluZy10b3A6MnB4fS55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWxUeXBvZ3JhcGh5e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6My42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWxUeXBvZ3JhcGh5ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hlbGZIZWFkZXJMYXlvdXRTdWJsYWJlbFR5cG9ncmFwaHl7bWF4LWhlaWdodDozLjZyZW19Lnl0U2hlbGZIZWFkZXJMYXlvdXRTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7cGFkZGluZy1ib3R0b206MnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6My42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0U3VwZXJsYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dFNoZWxmSGVhZGVyTGF5b3V0U3VwZXJsYWJlbHttYXgtaGVpZ2h0OjMuNnJlbX0ueXRTaGVsZkhlYWRlckxheW91dFRyYWlsaW5nQWN0aW9uc3ttYXJnaW4tbGVmdDoxMnB4fS55dFNoZWxmSGVhZGVyTGF5b3V0SXNPdmVybGF5e2NvbG9yOmluaGVyaXR9Lnl0U2hlbGZIZWFkZXJMYXlvdXRJc092ZXJsYXkgLnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZXtjb2xvcjojZmZmfS55dFNoZWxmSGVhZGVyTGF5b3V0SXNPdmVybGF5IC55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dFNoZWxmSGVhZGVyTGF5b3V0VGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U2hlbGZIZWFkZXJMYXlvdXRIb3ZlcmFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dFNoZWxmSGVhZGVyTGF5b3V0Qm90dG9tQWNjZXNzb3J5e21hcmdpbi10b3A6OHB4fS55dE1hcnF1ZWVTY3JvbGx7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dE1hcnF1ZWVTY3JvbGxIb3N0e2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS55dE1hcnF1ZWVTY3JvbGxBbmltYXRpb25FbmFibGVke2FuaW1hdGlvbjpzY3JvbGxpbmctcGFyZW50IDE2cyBsaW5lYXIgM3MgaW5maW5pdGU7YW5pbWF0aW9uLWZpbGwtbW9kZTpiYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6c2Nyb2xsaW5nLXBhcmVudH0ueXRNYXJxdWVlU2Nyb2xsSW5uZXJDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleH1Aa2V5ZnJhbWVzIHNjcm9sbGluZy1wYXJlbnR7dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tbWFycXVlZS10cmFuc2xhdGUsMCkpfX0ueXRNYXJxdWVlU2Nyb2xsRHVwbGljYXRlU3RyaW5nLC55dE1hcnF1ZWVTY3JvbGxQcmltYXJ5U3RyaW5ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRNYXJxdWVlU2Nyb2xsSG9zdExhcmdlIC55dE1hcnF1ZWVTY3JvbGxEdXBsaWNhdGVTdHJpbmcsLnl0TWFycXVlZVNjcm9sbEhvc3RMYXJnZSAueXRNYXJxdWVlU2Nyb2xsUHJpbWFyeVN0cmluZ3tmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpub25lfX0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0UmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWxJY29ue21hcmdpbi1yaWdodDo0cHg7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjZmZmKTtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsTWFycXVlZUNvbnRhaW5lcntjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpO292ZXJmbG93OmhpZGRlbjstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3RMYXJnZXtkaXNwbGF5OmJsb2NrfS55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsSWNvbnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0U21hcnRJbWF0aW9uc0NvbnRlbnR7ZGlzcGxheTpibG9ja30ueXRTbWFydEltYXRpb25zRXhwZXJpbWVudEVuYWJsZWR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ueXRTbWFydEltYXRpb25zRXhwZXJpbWVudEVuYWJsZWQgLnl0U21hcnRJbWF0aW9uc0NvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2JvcmRlci1yYWRpdXM6MThweH0ueXRTbWFydEltYXRpb25zQm9yZGVye3otaW5kZXg6MTtib3JkZXItcmFkaXVzOjIycHg7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO3RvcDotM3B4O2xlZnQ6LTNweDtib3R0b206LTNweDtyaWdodDotM3B4fS55dFNtYXJ0SW1hdGlvbnNCb3JkZXJHcmFkaWVudHtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dFNtYXJ0SW1hdGlvbnNBY3RpdmVCb3JkZXIgLnl0U21hcnRJbWF0aW9uc0JvcmRlckdyYWRpZW50e29wYWNpdHk6MX0ueXRTbWFydEltYXRpb25zQWN0aXZlQmFja2dyb3VuZCAueXRTbWFydEltYXRpb25zQ29udGVudHtiYWNrZ3JvdW5kOiNmZmZ9Lnl0U21hcnRJbWF0aW9uc0VuYWJsZU1hc2tpbmcgLnl0U21hcnRJbWF0aW9uc0JvcmRlcntwYWRkaW5nOjNweDstd2Via2l0LW1hc2s6bGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCxsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApO21hc2stY29tcG9zaXRlOmV4Y2x1ZGV9Lnl0U21hcnRJbWF0aW9uc0VuYWJsZU1hc2tpbmcgLnl0U21hcnRJbWF0aW9uc0JvcmRlckdyYWRpZW50e3dpZHRoOmNhbGMoMTAwJSArIDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTNweCwtM3B4KX0ueXRTbWFydEltYXRpb25zRW5hYmxlTWFza2luZyAueXRTbWFydEltYXRpb25zQ29udGVudHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dFNtYXJ0SW1hdGlvbnNJbnZpc2libGUgLnl0U21hcnRJbWF0aW9uc0JvcmRlciwueXRTbWFydEltYXRpb25zSW52aXNpYmxlIC55dFNtYXJ0SW1hdGlvbnNCb3JkZXJHcmFkaWVudHtvcGFjaXR5Oi4wMDF9Lnl0RGlzbGlrZUJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRMaWtlQnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFN3aXRjaEJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTd2l0Y2hCdXR0b25WaWV3TW9kZWxCdXR0b257cGFkZGluZzowO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0U3dpdGNoQnV0dG9uVmlld01vZGVsVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U3dpdGNoU2hhcGVIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQwcHg7aGVpZ2h0OjI0cHg7ZmxleC1zaHJpbms6MH0ueXRTd2l0Y2hTaGFwZVRyYWNre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjQwcHg7aGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6IzkwOTA5MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1c30ueXRTd2l0Y2hTaGFwZVRyYWNrQWN0aXZle2JhY2tncm91bmQtY29sb3I6IzBmMGYwZjt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1c30ueXRTd2l0Y2hTaGFwZVRyYWNrRGlzYWJsZWR7b3BhY2l0eTouM30ueXRTd2l0Y2hTaGFwZUtub2J7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7dG9wOjJweDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXN9Lnl0U3dpdGNoU2hhcGVLbm9iQWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE4cHgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXN9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3dpdGNoU2hhcGVUcmFja3tvdXRsaW5lOjFweCBzb2xpZCAjOTA5MDkwfS55dFN3aXRjaFNoYXBlVHJhY2tBY3RpdmV7b3V0bGluZToycHggc29saWQgIzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOkJ1dHRvblRleHR9Lnl0U3dpdGNoU2hhcGVLbm9ie291dGxpbmU6MXB4IHNvbGlkICMwMzAzMDN9fS55dFNwZWNBdmF0YXJTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmV9Lnl0U3BlY0F2YXRhclNoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uVGlueXt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbkV4dHJhU21hbGx7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25TbWFsbHt3aWR0aDozMnB4O2hlaWdodDozMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbk1lZGl1bXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbjQ4e3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uTGFyZ2V7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25FeHRyYUxhcmdle3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uRXh0cmFFeHRyYUxhcmdle3dpZHRoOjEyMHB4O2hlaWdodDoxMjBweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25HaWFudHt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uUmVzcG9uc2l2ZXt3aWR0aDoxMjhweDtoZWlnaHQ6MTI4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTE4e3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTIwe3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTIye3dpZHRoOjIycHg7aGVpZ2h0OjIycHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTI0e3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0F2YXRhclNoYXBlSW1hZ2V7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlQWRzQXBwe2JvcmRlci1yYWRpdXM6MjAlfS55dFNwZWNBdmF0YXJTaGFwZUluc2NyaWJlZFNxdWFyZXt0cmFuc2Zvcm06c2NhbGUoMS40MTQyMTM1NjI0KX0ueXRTcGVjQXZhdGFyU2hhcGVJbWFnZU92ZXJsYXlze292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjQXZhdGFyU2hhcGVTdG9yaWVzV2F0Y2hlZHtib3JkZXI6MnB4IHNvbGlkICM5MDkwOTA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNBdmF0YXJTaGFwZVN0b3JpZXNVbndhdGNoZWR7Ym9yZGVyOjJweCBzb2xpZCAjZTEwMDJkO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRTcGVjQXZhdGFyU2hhcGVMaXZlUmluZ3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZVJpbmc6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzoycHg7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtpbnNldDotNHB4O21hc2s6bGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCxsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApOy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsI2UxMDAyZCA2MCUsI2UwMTM3OCA4NSUpfS55dFNwZWNBdmF0YXJTaGFwZU9uU2VsZWN0Qm9yZGVye2JvcmRlcjoxcHggc29saWQgIzBmMGYwZjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlQmFja2dyb3VuZEJvcmRlcntib3JkZXI6MnB4IHNvbGlkICNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNBdmF0YXJTaGFwZUJhY2tncm91bmRCb3JkZXJUaGlue2JvcmRlcjoxcHggc29saWQgI2ZmZjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlV2hpdGVCb3JkZXJ7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRTcGVjQXZhdGFyU2hhcGVXaGl0ZUJvcmRlclRoaW57Ym9yZGVyLXdpZHRoOjFweH0ueXRTcGVjQXZhdGFyU2hhcGVJc092ZXJsYXkueXRTcGVjQXZhdGFyU2hhcGVCYWNrZ3JvdW5kQm9yZGVyLC55dFNwZWNBdmF0YXJTaGFwZUlzT3ZlcmxheS55dFNwZWNBdmF0YXJTaGFwZUJhY2tncm91bmRCb3JkZXJUaGlue2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZVRleHR7cGFkZGluZzowIDJweDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dmlzaWJpbGl0eTpoaWRkZW47Y29sb3I6I2ZmZjt6LWluZGV4OjE7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NTAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VJY29ue21heC13aWR0aDoxNnB4O3BhZGRpbmc6MCAycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmZ9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdle2JvcmRlci1yYWRpdXM6NHB4O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2UxMDAyZDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi00cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlU21hbGx7bWF4LXdpZHRoOjMycHg7aGVpZ2h0OjEzcHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlTWVkaXVte21heC13aWR0aDozNnB4O2hlaWdodDoxNHB4fS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZUxhcmdle21heC13aWR0aDo1MnB4O2hlaWdodDoxNHB4fS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZUV4dHJhTGFyZ2V7Ym9yZGVyLXJhZGl1czo0cHg7bWF4LXdpZHRoOjY4cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VJY29ue21heC13aWR0aDoyNHB4O3BhZGRpbmc6MCA0cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VUZXh0e3BhZGRpbmc6MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwNjVmZDR9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdHtiYWNrZ3JvdW5kLWNvbG9yOiNlMTAwMmR9Lnl0U3BlY0F2YXRhclNoYXBlU3F1YXJle2JvcmRlci1yYWRpdXM6MTJweDtvdmVyZmxvdzpoaWRkZW59Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAzMDMwM30ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJUaW55e3JpZ2h0Oi04cHg7dG9wOjA7Ym90dG9tOjA7bWFyZ2luOmF1dG87d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJUaW55IC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhU21hbGx7cmlnaHQ6LThweDt0b3A6MDtib3R0b206MDttYXJnaW46YXV0bzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhU21hbGwgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyU21hbGx7Ym90dG9tOi0ycHg7cmlnaHQ6LTJweDt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lclNtYWxsIC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lck1lZGl1bXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyTWVkaXVtIC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lcjQ4e2JvdHRvbTotMnB4O3JpZ2h0Oi0ycHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXI0OCAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJMYXJnZXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyRXh0cmFMYXJnZXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJFeHRyYUV4dHJhTGFyZ2V7Ym90dG9tOi00cHg7cmlnaHQ6LTRweDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJHaWFudHtib3R0b206LTRweDtyaWdodDotNHB4O3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyR2lhbnQgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnl7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnkgLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplVGlueSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LTEuNjY0cHg7cmlnaHQ6LTEuNjY0cHg7d2lkdGg6OHB4O2hlaWdodDo4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnkueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFTbWFsbHttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYVNtYWxsIC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTotMS40OTZweDtyaWdodDotMS40OTZweDt3aWR0aDoxMHB4O2hlaWdodDoxMHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYVNtYWxsLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVNtYWxse21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozMnB4O2hlaWdodDozMnB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LS44MjhweDtyaWdodDotLjgyOHB4O3dpZHRoOjExcHg7aGVpZ2h0OjExcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVNtYWxsLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bXttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplTWVkaXVtIC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LS43NDRweDtyaWdodDotLjc0NHB4O3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bS55dFNwZWNBdmF0YXJTaGFwZU5vTWFyZ2lue21hcmdpbjowfS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemU0OHttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDggLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDggLnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOi41MDhweDtyaWdodDouNTA4cHg7d2lkdGg6MTNweDtoZWlnaHQ6MTNweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDgueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplTGFyZ2V7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlIC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlIC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTouNjc2cHg7cmlnaHQ6LjY3NnB4O3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2V7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206MS41MTJweDtyaWdodDoxLjUxMnB4O3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2UueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFFeHRyYUxhcmdle21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMjBweDtoZWlnaHQ6MTIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYUV4dHJhTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOjguNTJweDtyaWdodDo4LjUycHg7d2lkdGg6MThweDtoZWlnaHQ6MThweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFFeHRyYUxhcmdlLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50e21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50IC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50IC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbToxNC4zNnB4O3JpZ2h0OjE0LjM2cHg7d2lkdGg6MThweDtoZWlnaHQ6MThweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplR2lhbnQueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplUmVzcG9uc2l2ZXttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTI4cHg7aGVpZ2h0OjEyOHB4O21heC13aWR0aDoxNDRweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplUmVzcG9uc2l2ZS55dFNwZWNBdmF0YXJTaGFwZU5vTWFyZ2lue21hcmdpbjowfS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUxOHt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyMHt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyMnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyNHt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0ey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzoxMnB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzoxMnB4IDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdle2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwfS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRmY1lvdXRoQmFzaWNTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2xpY2thYmxlRGVzY3JpcHRpb257Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbERldGFpbHN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjo0cHh9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbEltYWdle2hlaWdodDo3MnB4O3dpZHRoOjcycHh9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbExlYWRpbmd7ZmxleC1zaHJpbms6MDttYXJnaW46OHB4IDEycHggOHB4IDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbE1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS42cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRmY1lvdXRoQmFzaWNTZWN0aW9uSGVhZGVyVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMzttYXJnaW46MDtwYWRkaW5nOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NS4ycmVtfS55dGZjWW91dGhTZWN0aW9uQm9keVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dGZjWW91dGhTZWN0aW9uQm9keVZpZXdNb2RlbEF2YXRhclN0YWNre21hcmdpbjowIGF1dG99Lnl0ZmNZb3V0aFNlY3Rpb25Cb2R5Vmlld01vZGVsSXRlbXtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjEycHh9Lnl0ZmNZb3V0aFNlY3Rpb25Cb2R5Vmlld01vZGVsRGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtwYWRkaW5nOjEycHggMTJweCAxNnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb250aW51YXRpb25JdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjojZmZmO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7cGFkZGluZzoxNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbFVwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0Q2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsQ2hhbm5lbFRpdGxley1tb3otcGFkZGluZy1zdGFydDoxMnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9Lnl0Q2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsQm90dG9te3BhZGRpbmctdG9wOjE2cHh9Lnl0SW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0SW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWxIb3N0V2Vie2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEhvc3RFeHRyYWN0T3ZlcmxheXttYXgtd2lkdGg6NDgwcHg7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjZmZmKTtiYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbjowIDhweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEhvc3RCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6MTZweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEZvcndhcmRBY3Rpb25JY29ue21hcmdpbi1sZWZ0OmF1dG99Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvcml6b250YWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZDt3aWR0aDoxMDAlfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO3dpZHRoOjEwMCU7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpLHRyYW5zcGFyZW50KTt6LWluZGV4OjE7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDRweCByZ2JhKDAsMCwwLDAuMykpfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJSb3VuZGVke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbE1ldGFkYXRhQ29udGFpbmVyTWV0YXBhbmVse21pbi13aWR0aDowO3BhZGRpbmc6MCAwIDE2cHggMTZweH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEFjdGlvbnNDb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEycHggOHB4O2ZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCA0cHggcmdiYSgwLDAsMCwwLjMpKX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RNd2ViIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsQWN0aW9uc0NvbnRhaW5lcntwYWRkaW5nOjAgNHB4IDE2cHggNHB4O2ZpbHRlcjp1bnNldH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RNd2ViIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7YmFja2dyb3VuZDpub25lfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdEhpZGV7dmlzaWJpbGl0eTpoaWRkZW59Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxNZXRhZGF0YUNvbnRhaW5lcnt3aWR0aDpjYWxjKCgxMDAlIC0gbWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwgMzE1cHgpKS8yKTttYXJnaW4tcmlnaHQ6bWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwzMTVweCk7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjp1bnNldDtib3JkZXItcmFkaXVzOjB9Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RFeHRyYWN0QWN0aW9uQmFyIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJNZXRhcGFuZWx7cGFkZGluZy1yaWdodDoxNnB4fS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdEV4dHJhY3RBY3Rpb25CYXIgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVye3BhZGRpbmctYm90dG9tOjA7ZmlsdGVyOnVuc2V0fS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdDpub3QoLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkpW3Nob3ctc2NydWJiZXJdIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuNXN9Lnl0ZnpGYW56b25lU2NoZWR1bGVkSW5mb1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzozMnB4IDEycHggMjBweH0ueXRmekZhbnpvbmVTY2hlZHVsZWRJbmZvVmlld01vZGVsQXZhdGFye21hcmdpbi1ib3R0b206OHB4fS55dGZ6RmFuem9uZVNjaGVkdWxlZEluZm9WaWV3TW9kZWxUaXRsZXt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfS55dGZ6RmFuem9uZVNjaGVkdWxlZEluZm9WaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JvcmRlci1yYWRpdXM6aW5oZXJpdH0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkRpc2FibGVke3BhZGRpbmc6MTZweH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkRpc2FibGVke292ZXJmbG93LXk6c2Nyb2xsfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkVuYWJsZWR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb250YWluZXItdHlwZTpzaXplfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMGYwZjBmOy1tb3otcGFkZGluZy1zdGFydDoxMiU7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTIlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLXJhZGl1czppbmhlcml0fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1jb2xvcjojMGYwZjBmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQgMzUlLHJnYmEoMTcwLDksMTcwLC4yKSAwLHJnYmEoMTY5LDAsMjU1LC4yKSA4NCUscmdiYSgyNTQsNzAsMTYwLC4yKSk7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoMjclIDU4JSBhdCA3NyUgNTAlLCMwZjBmMGYgMCx0cmFuc3BhcmVudCAxMDAlKX1bZGlyPXJ0bF0gLmludGVyc3RpdGlhbFZpZXdNb2RlbE1vZGVsQ29udGFpbmVyOmJlZm9yZXttYXNrLWltYWdlOnJhZGlhbC1ncmFkaWVudCgyNyUgNTglIGF0IDIzJSA1MCUsIzBmMGYwZiAwLHRyYW5zcGFyZW50IDEwMCUpfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcjpiZWZvcmV7bWFzay1yZXBlYXQ6bm8tcmVwZWF0fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxGbGV4SXRlbXt3aWR0aDoxMDAlO21hcmdpbjo4cHggMH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0NvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxNSU7bWluLXdpZHRoOjk2cHh9LmludGVyc3RpdGlhbFZpZXdNb2RlbExvZ29Db250YWluZXI6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDoyMi43MjclfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMb2dvSW1hZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzp2aXNpYmxlfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMb2dvSW1hZ2V7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lOy1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0ltYWdle2ZpbHRlcjppbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uQ29udGFpbmVye21heC13aWR0aDo0MyU7bWFyZ2luLXRvcDo4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXB9LmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkl0ZW17d2lkdGg6YXV0b30uaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uSXRlbTpub3QoOmxhc3QtY2hpbGQpey1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4O21hcmdpbi1ib3R0b206OHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5pbnRlcnN0aXRpYWxWaWV3TW9kZWxCdXR0b25JdGVtIC55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsUHJpbWFyeUJ1dHRvbkl0ZW0sLmludGVyc3RpdGlhbFZpZXdNb2RlbFNlY29uZGFyeUJ1dHRvbkl0ZW17bWF4LXdpZHRoOjEwMCV9LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtjb2xvcjojZmZmO21heC13aWR0aDo0MyU7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi44cmVtO2xpbmUtaGVpZ2h0OjMuOHJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHREZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO21heC13aWR0aDo0MyU7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbEludGVyc3RpdGlhbEljb257dGV4dC1hbGlnbjpjZW50ZXJ9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbEljb25JbWFnZXt3aWR0aDoyNSU7b2JqZWN0LWZpdDpjb250YWlufX0uaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsVGl0bGV7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsRGVzY3JpcHRpb257Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2luc2V0LWlubGluZS1lbmQ6MTIlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjMwJTttYXgtd2lkdGg6NDAwcHh9LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG99QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTstbXMtaGlnaC1jb250cmFzdC1hZGp1c3Q6bm9uZX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle2ZpbHRlcjppbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JDb2RlQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6NHB4IDEycHg7Ym90dG9tOjhweDtpbnNldC1pbmxpbmUtZW5kOjhweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dFBvcnRyYWl0IC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZy1ib3R0b206bWF4KDEyJSw0MnB4KTtwYWRkaW5nLWlubGluZToxNnB4fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0NvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJTtmbGV4LXdyYXA6d3JhcH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkl0ZW06bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6MDttYXJnaW4taW5saW5lLWVuZDowO21hcmdpbi1ibG9jay1lbmQ6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbFByaW1hcnlCdXR0b25JdGVtLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsU2Vjb25kYXJ5QnV0dG9uSXRlbXt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dERlc2NyaXB0aW9uLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle21heC13aWR0aDoxMDAlfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVye2Rpc3BsYXk6bm9uZX0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbE1vZGVsQ29udGFpbmVye3BhZGRpbmc6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJX0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXttYXgtd2lkdGg6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JDb2RlQ29udGFpbmVyLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVyLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsU2Vjb25kYXJ5QnV0dG9uSXRlbSwuaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHREZXNjcmlwdGlvbntkaXNwbGF5Om5vbmV9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uQ29udGFpbmVye21heC13aWR0aDo3NiV9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle21heC13aWR0aDo3NiU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi40cmVtO2xpbmUtaGVpZ2h0OjMuMnJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dERlc2NyaXB0aW9ue21heC13aWR0aDo3NiU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxIaWRlRXJyb3JDb2RlIC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxFcnJvckNvZGVDb250YWluZXIsLmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXR3UGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxFbmRwb2ludHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21heC13aWR0aDo1MTZweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO3BhZGRpbmc6NnB4IDAgNnB4IDZweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXR3UGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbEltYWdley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7bWFyZ2luOjRweDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsRXh0cmFjdE92ZXJsYXkgLnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxFbmRwb2ludHtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yKTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUaXRsZXttYXJnaW46MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsVGV4dHttYXJnaW46MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDozLjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUZXh0e21heC1oZWlnaHQ6My42cmVtfS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsRGl2aWRlcnttYXJnaW46MnB4IDRweDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0Q29sbGFib3JhdGl2ZVBsYXlsaXN0SW52aXRlTWVzc2FnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRDb2xsYWJvcmF0aXZlUGxheWxpc3RJbnZpdGVNZXNzYWdlVmlld01vZGVsQWNjb3VudFNlY3Rpb25IZWFkZXJUZXh0e2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxBY2NvdW50V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjhweCAwOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEycHg7YWxpZ24tc2VsZjpzdHJldGNofS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxBY2NvdW50VGV4dHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAwIDA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxIYW5kbGV7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb2xsYWJvcmF0aXZlUGxheWxpc3RJbnZpdGVNZXNzYWdlVmlld01vZGVsSW52aXRlTWVzc2FnZVdyYXBwZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tYm90dG9tOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxUZXJtc09mU2VydmljZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOjRweH0ueXRSZWVsQ2Fyb3VzZWxWaWV3TW9kZWxIb3N0QnV0dG9ue21pbi13aWR0aDowfS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3RCdXR0b24gYzMtaWNvbnt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0fS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3RCdXR0b25NYXhXaWR0aHttYXgtd2lkdGg6NTAlfS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjMwcHh9Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEhvc3RUYWxse2hlaWdodDozNnB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OS45cHgpey55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEVuZHBvaW50e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MDtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxMaW5re21hcmdpbi1yaWdodDo0OHB4O21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO21heC1oZWlnaHQ6MnJlbX0ueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSWNvbnttYXJnaW4tcmlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxUaXRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEhvc3RMYXJnZSwueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxUYWxse2hlaWdodDp1bnNldH0ueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxJY29ue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRTaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbFNob3J0c0Rpc2Nsb3N1cmVzVGV4dHtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbFN0YXRpY0hvc3R7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MThweH1AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmU7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgMTZweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjE4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcn0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0VGV4dFNlY3Rpb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dGV4dC1hbGlnbjpsZWZ0O2ZsZXgtc2hyaW5rOjE7LW1vei1wYWRkaW5nLXN0YXJ0OjhweDtwYWRkaW5nLWlubGluZS1zdGFydDo4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0e21heC1oZWlnaHQ6NHJlbX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0TGVhZGluZ1NlY3Rpb257bWF4LXdpZHRoOjEwMCU7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0TGVhZGluZ0ltYWdle21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTstbW96LXBhZGRpbmctc3RhcnQ6NHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbFN0YXRpY0hvc3RMZWFkaW5nSWNvbnttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7LW1vei1wYWRkaW5nLXN0YXJ0OjhweDtwYWRkaW5nLWlubGluZS1zdGFydDo4cHg7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdHtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3R7ZGlzcGxheTpub25lfX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEZpeGVkSGVpZ2h0QXV0b3toZWlnaHQ6YXV0b30ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEhpZGRlbntvcGFjaXR5OjB9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RTaG93bnthbmltYXRpb246ZmFkZUluIC41cyBlYXNlLWluLW91dDtvcGFjaXR5OjF9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RVc2VSb3VuZEJvcmRlcntib3JkZXItcmFkaXVzOjI4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RSb3VuZEFsbENvcm5lcnN7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RPbmx5Um91bmRMZWFkaW5nQ29ybmVyc3tib3JkZXItdG9wLWxlZnQtcmFkaXVzOjhweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjhweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbnRhaW5lcntkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOm5vbmU7bWF4LWhlaWdodDo1MnB4O3BhZGRpbmc6OHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwwLjYpO2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsI2ZmZik7Y3Vyc29yOnBvaW50ZXJ9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb250YWluZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0Q29sbGFwc2VkTGVhZGluZ1NlY3Rpb257Ym9yZGVyLXJhZGl1czo0cHg7ZmxleC1zaHJpbms6MDttYXJnaW4tcmlnaHQ6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkTGVhZGluZ1NlY3Rpb257bWFyZ2luLXJpZ2h0OjB9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb2xsYXBzZWRMZWFkaW5nSW1hZ2V7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NHB4Oy1tb3otcGFkZGluZy1zdGFydDo0cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6NHB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZExlYWRpbmdJbWFnZXttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czo0cHg7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDstbW96LXBhZGRpbmctc3RhcnQ6OHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbGxhcHNlZExlYWRpbmdJY29uey1tb3otcGFkZGluZy1zdGFydDo4cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZExlYWRpbmdJY29ue3BhZGRpbmc6NHB4O2JvcmRlci1yYWRpdXM6NHB4Oy1tb3otcGFkZGluZy1zdGFydDo4cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb2xsYXBzZWRTZWNvbmRhcnl7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkU2Vjb25kYXJ5e2FuaW1hdGlvbjpmYWRlSW4gLjI1cyBlYXNlLWluLW91dDtvcGFjaXR5OjE7bWFyZ2luLXRvcDotMnB4O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjEuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkU2Vjb25kYXJ5ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZFNlY29uZGFyeXttYXgtaGVpZ2h0OjEuOHJlbX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbntjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItcmFkaXVzOjAgOHB4IDhweCAwO2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI0cHg7aGVpZ2h0OjQwcHg7cGFkZGluZzowfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0Q29sbGFwc2VkVHJhaWxpbmdTZWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0RXhwYW5kZWRUcmFpbGluZ1NlY3Rpb257Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLXJhZGl1czowIDhweCA4cHggMDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6NDBweDt3aWR0aDoyNHB4O3BhZGRpbmc6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkVHJhaWxpbmdTZWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0VHJhaWxpbmdJY29ue2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsI2ZmZik7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheXtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4dHJhY3RPdmVybGF5Q29udGFpbmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbnRhaW5lcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjMDMwMzAzKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUV4cGFuZGVkVHJhaWxpbmdTZWN0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCMwMzAzMDMpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4dHJhY3RPdmVybGF5RXhwYW5kZWRUcmFpbGluZ1NlY3Rpb246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVye2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsIzAzMDMwMyk7bWF4LXdpZHRoOjQ4MHB4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4cGFuc2l2ZUNvbnRhaW5lclByaW1hcnlUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyUHJpbWFyeVRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHBhbnNpdmVDb250YWluZXJQcmltYXJ5VGV4dHttYXgtaGVpZ2h0OjJyZW19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyRXhwYW5kZWRTZWNvbmRhcnl7Y29sb3I6cmdiYShmcm9tIHZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsIzAzMDMwMykgciBnIGIvLjcpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MS44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4cGFuc2l2ZUNvbnRhaW5lckV4cGFuZGVkU2Vjb25kYXJ5ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyRXhwYW5kZWRTZWNvbmRhcnl7bWF4LWhlaWdodDoxLjhyZW19QGtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxIb3N0Q2xpY2thYmxle2N1cnNvcjpwb2ludGVyfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxle21hcmdpbjowO3BvaW50ZXItZXZlbnRzOmF1dG87d29yZC1icmVhazpicmVhay13b3JkO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbFNob3J0c1ZpZGVvVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZXttYXgtaGVpZ2h0OjJyZW07bWF4LWhlaWdodDpub25lOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS15dC1zaG9ydHMtdmlkZW8tdGl0bGUtbWF4LWxpbmVzLDEpfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7bWFyZ2luOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX19Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbFNob3J0c1ZpZGVvVGl0bGVMYXJnZXttYXgtaGVpZ2h0OjIuOHJlbX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle21heC1oZWlnaHQ6Mi42cmVtfX0ueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle21heC1oZWlnaHQ6bm9uZTstd2Via2l0LWxpbmUtY2xhbXA6dmFyKC0teXQtc2hvcnRzLXZpZGVvLXRpdGxlLW1heC1saW5lcywxKX0ueXRBY2Nlc3NDb25maXJtYXRpb25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0QWNjZXNzQ29uZmlybWF0aW9uVmlld01vZGVsQ29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjI0cHggMTJweCAwfS55dEFjY2Vzc0NvbmZpcm1hdGlvblZpZXdNb2RlbEF2YXRhcnttYXJnaW4tYm90dG9tOjE2cHh9Lnl0QWNjZXNzQ29uZmlybWF0aW9uVmlld01vZGVsVGl0bGV7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbTo4cHg7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjJyZW07bGluZS1oZWlnaHQ6NC40cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRBY2Nlc3NDb25maXJtYXRpb25WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dER1YWxBdmF0YXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXREdWFsQXZhdGFyVmlld01vZGVsQXZhdGFyc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWZsZXg6MDtmbGV4LWdyb3c6MDtmbGV4LXNocmluazowO2dhcDp2YXIoLS15dC1kdWFsLWF2YXRhci12aWV3LW1vZGVsLWJhZGdlLWN1dG91dC1yYWRpdXMpO21hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSB2YXIoLS15dC1kdWFsLWF2YXRhci12aWV3LW1vZGVsLWJhZGdlLWN1dG91dC1yYWRpdXMpLHRyYW5zcGFyZW50IDEwMCUsYmxhY2sgMCl9Lnl0RHVhbEF2YXRhclZpZXdNb2RlbEJhZGdle3Bvc2l0aW9uOmFic29sdXRlfS55dEltYWdlU3RpY2tlckhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRJbWFnZVN0aWNrZXJJbWFnZUNvcHl7cG9zaXRpb246YWJzb2x1dGU7ZmlsdGVyOmJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpfS55dEltYWdlU3RpY2tlckltYWdlQWN0dWFse3Bvc2l0aW9uOnJlbGF0aXZlfS55dE92ZXJsYXlQcm9kdWN0U3RpY2tlckhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggcmdiYSgwLDAsMCwwLjMpKX0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJUaXRsZUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6YXV0bztwYWRkaW5nOjRweCA0cHggNHB4IDhweDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojNjA2MDYwO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJJbWFnZUNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJPcGVuSWNvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtwYWRkaW5nOjJweDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojNjA2MDYwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dE92ZXJsYXlTdGlja2VySG9zdHstLXN0aWNrZXItd2lkdGg6MTAwO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0T3ZlcmxheVN0aWNrZXJIb3N0Pjpvbmx5LWNoaWxke2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dE92ZXJsYXlTdGlja2VySG9zdFJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS55dFN1YnNjcmliZVBsdXNCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U3VydmV5SWNvbnNIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRTdXJ2ZXlJY29uc0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRTdXJ2ZXlJY29uc1RpdGxle2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjJyZW07bWF4LWhlaWdodDoyLjJyZW19Lnl0U3VydmV5SWNvbnNBbnN3ZXJze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dFN1cnZleUljb25zSWNvbntjb2xvcjojMDMwMzAzO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWFyZ2luOi02cHh9Lnl0U3VydmV5SWNvbnNBbnN3ZXJzVGV4dHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHttYXgtaGVpZ2h0OjQuNHJlbX1zZW50aW5lbHt9"}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":19,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_market_overview_widget.b3778cf59c7972fb2117.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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.510Z","timestamp":1785120763510,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/runtime-embed_market_overview_widget.b3778cf59c7972fb2117.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/market-overview/?locale=en\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 02:52:43 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-2b95\"\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:32:46\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8b0a2e9a3946f33c8b8708cd99e6d2ee\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/80594.e87444e26f9e12545231.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.487Z","timestamp":1785120763487,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/80594.e87444e26f9e12545231.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/ticker-tape/?locale=en\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 02:52:43 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-a338\"\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:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 14ce3f8b499d581e96dd161fad0d1246\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.808Z","timestamp":1785120761808,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 7087134\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 02:52:41 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=McCEDSicu2WpeW0Htl9O2kMqEdx575tCqDDKLGr%2BOZQM8z5FJG9HgBnmN8tF9xiR14lRLLlbeJL7PgDP6ZU6mZRifRevk7gN3iKbixULQUcxda3sKZ89Biw74vDg\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859794bd10daa-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":"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"]}],"data":{"size":84456,"size_decoded":25522,"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-07-27T05:24:59.874028Z","times_seen":1473,"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":"s2.coinmarketcap.com/static/img/coins/64x64/3408.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.145Z","timestamp":1785120762145,"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=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\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: Sun, 26 Jul 2026 03:43:04 GMT\r\ncache-control: public, max-age=86400\r\netag: \"e745bf550d209084227adac42e9ec7df\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 83381\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: bVp9r_cBL4Oxy7epXRmcSiRgE5ylbK5pmWOVcRKeKoXo17rpFj4V7w==\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":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-07-27T05:24:59.842346Z","times_seen":1133,"resource_available":false,"data":"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"}},"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.064Z","timestamp":1785120763064,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 91b5e2f910d9c8a20a86bc5c8b06f19e\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-07-27T05:24:15.769905Z","times_seen":1850,"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.072Z","timestamp":1785120763072,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 9e6eb1e2f0c36fe23b8e23bceaca69ec\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-07-27T05:29:38.645303Z","times_seen":1403,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzMtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV80LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNS02YW5NOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fNy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzgtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLV85LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzEtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8yLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzQtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV81LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzctNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV84LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fOS02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLWNoZWNrYm94ey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0udHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6NTAlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6bm9uZX19LnR2LWNvbnRyb2wtY2hlY2tib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtY29udHJvbC1jaGVja2JveC0tbm93cmFwLC50di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXR7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzAtNmFuTSk7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1jaGVja2JveF9fYm94IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEycHg7c3Ryb2tlOiMwMDAwO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOnN0cm9rZSAuMzVzIGVhc2UgMW1zLHRyYW5zZm9ybSAuMzVzIGVhc2UgMW1zfS50di1jb250cm9sLWNoZWNrYm94X19sYWJlbHttYXJnaW4taW5saW5lLWVuZDoxMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLXR3by1saW5lc3t3aWR0aDoxNTVweH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLS1saWwtbGluZS1oZWlnaHR7bGluZS1oZWlnaHQ6MTZweDttYXgtd2lkdGg6ODAlO21pbi13aWR0aDo0NSV9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsKy50di1jb250cm9sLWNoZWNrYm94e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtY29udHJvbC1jaGVja2JveCsudHYtY29udHJvbC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDFleCAtIDI4cHgpfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWNoZWNrYm94OmhvdmVyIC50di1jb250cm9sLWNoZWNrYm94X19ib3h7d2lsbC1jaGFuZ2U6YmFja2dyb3VuZC1jb2xvcn19LnR2LWNvbnRyb2wtY2hlY2tib3g6YWN0aXZlIC50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3JlLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sYm9yZGVyLXJhZGl1c31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzEtNmFuTSk7d2lsbC1jaGFuZ2U6Ym9yZGVyLWNvbG9yfX0udHYtY29udHJvbC1jaGVja2JveDphY3RpdmUgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzItNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLWNoZWNrYm94X19ib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzQtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveCBzdmd7c3Ryb2tlOnZhcigtLV81LTZhbk0pO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWRlbGF5Ojg3LjVtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTt3aWxsLWNoYW5nZTpzdHJva2UsdHJhbnNmb3JtfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1jaGVja2JveDpob3ZlciAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94e2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzctNmFuTSl9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzktNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0W2Rpc2FibGVkXSsudHYtY29udHJvbC1jaGVja2JveF9fYm94e29wYWNpdHk6LjV9LnR2LWNvbnRyb2wtY2hlY2tib3guaS1lcnJvciAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfQ=="}},"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/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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.449Z","timestamp":1785120763449,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: c00912bbab4198f3786782175582f3a4\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.505Z","timestamp":1785120763505,"http_version":"HTTP/2","security_state":"","security_info":null,"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/market-overview/?locale=en\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 02:52:43 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: b95d9eb5aa270e29c7906a692f482790\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/img/bch.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.008Z","timestamp":1785120761008,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/img/bch.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 12050\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":12050,"size_decoded":12461,"mime_type":"image/png","magic":"PNG image data, 130 x 112, 8-bit/color RGBA, non-interlaced","md5":"5ec21382fb978caeaca6ce466ffbbc11","sha1":"8c60df7a92a66b560ab098962ccba836fc21f771","sha256":"635adbf67bb221fa9bb8c2cf166792072432b7b56c51ea93df6b1d2fe69aadf9","sha512":"1dbf1b535b7555cdb20f277a21f587165254ab189299b1ff8c4375835f7431eefadbd4346193dfbd12f06e4c6bf448d98cff354923a960f8352be40ba1e80f4a","ssdeep":"192:bSDS0tKg9E05Tldd8CPpkD9WBHp3Q7SXevzXhVQ8BKBsf0XCmkkBB7894DxZl:OJXE05RdeChkD4b3QWXe7XhVQZB9jwCZ","tlshash":"1642bfa5e110a37e7dd8b00312004e01976979ee6baa3668844558ff6bbcc452f9ec26","first_seen":"2024-08-04T01:29:35Z","last_seen":"2026-07-27T05:24:59.886923Z","times_seen":923,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAIIAAABwCAYAAADSWajvAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAJD1JREFUeNrsnXeUXVd97z97n3Z7ma4ZtVGXZVvuBRsXjA2OwS9gSiCEkAAGQgoQSPJIAgRCiU2LAUNgBYgDhCQQwNiJacHGVTaWLRtLtspImqapt7fT9n5/3NFYI82MZMJ7a+XlfNc6a2nO2eeec/f+7t/+/sq+ElprIkSQURdEiIgQISJChIgIESIiRIiIECEiQoSICBEiIkSIiBAhIkKEiAgRIiJEiIgQISJChIgIESIiRIiIECEiQoSICBEiIkSIiBAhIkKEiAgRIiJEiIgQISJChIgIESIiRIiIECEiQoSICBEiIkSIiBAhIkKE/14w//bg3y56IS7j7Kk/xeHWIRJG4pQ+zGu1GNiwmq7OXgTAsEe1UsNxYnjapRV6OIYkJ7tpqhbNsCJ9rc5phPWLBHJlI2ys8LXfaQkzDHU445jOeMpMj/gquCcrM8/knBxCG0y1JtBSYwhJ1u6k7tVI5ZLQZ6JRHBkfY2pkAjvmRCN8ChCA+f/iQRqNRJIwkoS0mPGnXnSkNfk7tbDyPF/5q1zlolAYQiKQKN3+d+gqAGJGDFvYe/JBx4+7ze5/tKX9iDQknnKJfgrsV2QRlFaLDpzWGlOYSGEghXEKa4zARRPK0BIIX6NhbpgSRoKGqjPZmrpxsjXxrkZY3xxqhSUtJJK4EV+eSFpRV/Wt5Xp564gY/oO8lb+nw+78ZI/Tc3tMOtR1FS2epYQSSgiENoQREeUUxi3UAaaQehFTIdBSUQ6K76/7le1aBWpZ0yIErvIc0E6inHhjy2+NJHUMS8UJbMWsN3vFUOPAJ0pe8RxDmFjSxm4vHqdmuoTEFjY2NhpN0S9cPuvNXl72S9/dktn2jmQ8edh2LYIRCEMwWvLSIoWbkn7qiEQqIjosCV8HImWkxsykmTzhoiUsPO2a097UB7zQQywzaAJBoANqYZUtsa3vS7qpUVPZdKk8ntnk8eYTHxhvjr1fIIifotZYfj0TODIOaCbdiV8vF8rXrEkPvml7/Ix/Uh4Ua1WyMvN4Rzw/PVYbe1nGzEQ0WAa1sErOyD5l2vJEQZUwEtTc6qAbtnAMG+MkS0PNq3Jx56XvvLT78k/vK++jU3SBHbCj+PC/HKwPvTJtpjGFiV5mSASCUIcAtE26XlZ1ACSNFK5yE7uLT35DBmLT2blz/spJ2mTdldVzzfOv/67+t3/dX9/7ii67m8WWwAhgCpOMnf0X2QxrHH+4uknRL2zwlL+sPpDCYMadZjCz/vvX9V//aRkYuFUPpUPuK//sR/vq+1+Zs/KnMLAghUSjmfamOdgYmh9wX/lL3qvRONIhaaTYWf75B3aVdt1k2AYzTgGhLK7OXvtKS9gTJb94UjL/UiI40IiYwFplYg6YCEswx+X/W6obNBg9BvY6CyMr0b7+L3ycxhI2WSt9j1l2iyc0CEOfI42xy0LCJZcFgaDilemJ9868YdubXyEMwePWY9iWzf2Hf/bNg+6BF3ZYHZzq+nzEPcKVnS/g+t6X8WR1F/8x9e9UgjJKKypemT6nD0vaJ8xsjcYQBnmrg0dLD7/HdKzR69Zff4t2Fefpc+lL9V711/s/8FQjbOBI55QGV6YkZo+xcFC1RhgCHWjC6RDtgZGWhLOK6S9UESZkXpXEyEg0IMx2W936FS5MBsiYpHZ7g+YOl9R1cWJnO6jqL2ftQh3iGI5Oy9RT0sPn2MMnoBY2KAXlC5ebRRpNSzW5qvOaN/R7/V6lXOYs80xK7vS7n2nsfnXSSM15qItbkmbYoB7W50lV8ousTazjeflLeMvq3+NQ8yBnZc7mi2d+mZu3foqUmaYW1JZ8F0MYJMwkj07u+NtKrXTxYHwdE4xzWnLr7kvyl3yy5BeX1TrzfZ0zCCdDZj9epvi5MsXPVyje2j5mP12mdlcTmZbIlMDoMWg+5jJx6wwzt5QIjoQYnQba1YSlEFVSEC7ZDc9d4SckqqmY+XCJI1+fpvaDJma38Ut/fqB8bOmMdjq9M6Ybuse5EwYeHp7y1ptLhBkEglJQYmNi00PdRs+duwqPsS11Bvumn9m0Y+ihm1NOesnlQCDwVIu0mUWjGGoM4SuPaW+KAWcAgEdKOzjUGOKi9X/BpuRmNiU389nDt8xriKXIkDATeNrji7tvvf3G1W/vMQypn3AfY8AZ+JMuu/tGV7kpW9rLE6FbUv22y8zHS5i9bVIoNAIw0gYiLki/JEnnOzKokiL14gQrqz3IlCR2po1qKGY+WqL5iEvqmgTdH8gRzipUUyMsMDoNZKw9ctrTBDMh+HNk0SCzEiP3bMA3LClUWYEAVVEYfQZ9n+kktytF8oo4wXSI2W8iBITFEGELZEaCgmAmRFUVwlycKS3VYqPd8/MBZxUmemGU2RAmLdVc6Sl3tSEXtwhKKwwkW1ec/i6VBLfa5HDjILfPfOebvhGQFpllNcER9wgf3XIzF+YuYkfxQfbW9zLSGubc7HkA/Pv0nZQbLfpiKwD48cyPOFg/wKr46mUHUWlFzsox2Zrouq989ycu73rBu3wZsCG1ObwgnP7YDybu+utuu3vZd9OuJpgIMLsNzG6DzCuSWCtNVF3RuN/FHw6o3l4ndU2c+IUOrUddnG02RlYis5L6T5o0d7gEEyEyLdAtTVhSWCsNhCNp3N/CPxyABnOFQeL5MbSrURWFtdbEe8andlcD7WqELYif72Cvt/BHA0RC4D3towNN8vlxjF6DsKho3NtCu5rYOTbhjMJ90kMkBMkr4pg9BsGUQpiLT55+e+DuhIhjSr2whS1iFMLC5S3VwpGxRTurGlYZjA/uOTdx7oMjjUkans/TrXt+7VBj6Oy8lV+2o6thlX5ngGu7rwPg2p6XcO1xba7svIrE9gSbU1sBuL94L3tqe8hbeXJWnkAHy5Ihb3fwZOWJd2bN7Iezdm5WK8lZqXM/s9P++Xtd1UrYS2kFA3RLExQUqqqwznNYcUsXpjQIUYz+5hStnS4yJTG6DZSrmf5AkcYvXPre10E4o5j441nMXgOz16D+n00a97bo//tuhBBM/dks9Xtb+MMBwhBtIlzo0PGOLM6ZNuWv1Ch9pYr7jIdqaYycxFpl0vmOLMmrEyCh8MkKha+Uia23WXVHH8Goz+S7ZpFZibPFwt3no4ptK1C7q0nPB/MYWYmqq0WEdoy4ZT5T1TOYWSez4GLGzDIWjGzzlLcoEY7GDVYl137OcC1WC0hm0uyqTnzA17odjFqGCJawiBkx/m74VvqdAa7quvqEXMZlHZdzWcfl83+/rO8G0kaaewo/5UBjP4OJdWitl3yOJSwqfoWKKv/pOelz/mTCHSOlcpU+Z+Vdu2tPvNyRsUXvlY4gnFYEYyFGR3vtnbm5hPYhmAhp7XIxV5hkfyNJ7Gybxt1NdEtjd5nYmyxaT7jgg3AE+BAcCYmd4yBTkon3zFK7o4G5wiD7mhTa09R/3KT47SrJq+OEBcXUXxbAhPgFDvYmm9ajLv5owPRfFbE3WFjrTIIjAUbSwNpgYa4wqH0/QMQFRqek9QsPZ6uNbmq0p2nc26T+kxi5N6VPIILSCkc6SGHvK/o1ZMrJcPTIOjlidox6WLtELJGY9LVP3srTb6741qQ7gTZSHGgVzjzcHD4/Z2ZO6ibGjTiucvncoVv47V2/yceH/uYEJdtSrQXnzkxv513r3sOXt9/GFZ1Xsr++DynksnrBljbDjZEbEypJr9mJb8ywJt37DVvEUCyusmVG4u338UcCrFUmrSc9Jv+swNRfFijeWkY1NVa/QeZVKYycpPWkR1hUGHNrcv5tWVK/lsDfHyAcQf/fdTHw1W4q3663hV2/SeZVKVZ8voueD3aQ+500K7/QS+xch5m/KYEBsTMdem/qpP8LXWRfn0KmJGFZ0bivBSGEZYUAnM1t99Efb1tHVdJ0/lGWNXf1kbkhSTAVIlMSHehFHTdPeeSs3FBSJobqQR0ZFyZHj7QRxw+asaJXOH8pUeUpj5yZ3RkX1qSWIU0d57Hq4RsagYt5Cr660gqJZG18kD6n7wQl/+OZH3L1jiv4w6fexheHP0/RL8xf67S6uGXb57mk4/mMtcaW9QJSZorJ5kT24dKO6zSCrJVjU3zj97NWtuUpb3ERbAuCyRDdVARTIZkbkqz6Vi8D/9hD9wc72oP/mEvh02V0AOG0QnsamZNY60zQbSugWgp7s0XyyjgyJfGHfIQhkElB5uVJVDkEE1Z8qov8W9L4oyHhZAgKMje0rU0wHRI/x2mv7aotJoOpkHA2RMQFzhYLVdV4+320q3G2WmR/I9V2MTMSgrZlMruNRWMboQ5JG+n7UdAIGkhfuxw9FCGVoLTOVW58KddRa02H3XlnkTKHvYOMt/Yz2Rp5WcyIndQaLCAECkfGuKLzBQvO76vvZai+n/sK9/Gx/X/NK3e+jAON/Qva/OHgOwl1sKwXIRAoHTLsjbyqhsu++gQjzRkvbjq7F40yzr16MBOiahqZEnS8PUv+hgydr8uQfU0KJGgF/qEA/6CPd7A9G+0NFs42m9bPW/gjPsIU2IMmMmeg6iE6AIRGuxp/NMBebRFOhEx9qIi330fGRDv24Ai8IR8UyJSgemcDVW8HreIXOLhPeISzCpmRWKvNtvU6HIAAe7OFiAnCGYV3OEB5Gplou7jaW8R7E2BJZ6+rFZ4KMWf9+vzFpIIj7uzpvvKJGbElYgAC24jvi5sZfDdgtD7cU/KKZyzVfslkh/LpsDpYm1i74PykO0GP08tAbIA18TU8XNrBN8e/wZ9veN98m8H4OtYk1lL2yySN5NLupJVkonnkysdmH0YKSS7WQcrIPDrJ5DkndIwlUEWFv99HJiVGRlK4pTwXhwXvGZ9wRqFrmtSvxVFNjX/YBwlWv4GRlYSVtodg9hk0d7hMvnuW3BtTJJ7nUP5mFR1C4dYKrUc8Wk+4VO6qU/9RkxW3duFssGjsaFH/SZMjvz8LWtO4t0U4E5K6LkHi0jiT35tFu3Micq2JNxSgahphtjUCJqiKJhj2IdCYfSbWShNdU4tGcpNm/GkpFaYBZtV71vQGRpNpd+IKjV7S7FrSphqUR0abh1kVG6Smmpf62sMWz60IpKma9Dq99Dkr5s+VgxI/mPkPKkGFalAh1IpGWKfH7llwr6taNMPmScPGEomn3FUrdH9fzIhNjIajSEM+YmC++YS2aYl3wKdxv4sONN5QQOOBFkf/7zM5F0ru/OMsuTdnqHyzhvu0jwoUMitRdU3sLJv4uQ6Nn7XwDgaU/qOKc7pF7vUpvKGA0leqNB9sUf1pA8OQxLY4JK+OY/RIOt6VJfjfId4Bn9aTlTb/OgzSL03S87E8/mhA7SdN/FpAoieGs82m8q913IMehiUx+0xkWuI+3qJ+dwu/GpDqT2CtNvFHF3pZgQ5IGMkwb3feq4RCSgOzETTmTakf+tT92hlLrfUKhUCw0l41nTJSjLvDjLaGNyrdLjx5LktDxS9zReeVWMI6Rj9oblz9NvbW97K/vhdPebx3w/t47cBvLbj34dIORpsjDCbWnZQIWmtGGF2RITvRQReucCcRbYtxLNl1SyFsQccfZRBSHFPEJ1AqxDM9rPUGmXMThNMKmTfo/ss8SIif5+Af9JEJQff78tR+2PYmZEpirTTxDgXk35ImdrqF+0yA9jUyLohf6GCfZuEfDnC2WHTckqZydw3q4FgOTr9N4qo4Ii7wnvbIvT5NtpXC2Wzhj4TYGy163teBkZY4p1kEIwEY7SVNe23dEJbUotY4Z+X3562OSYVCShPTxJnP+QOEhBuXUuRaa2xpe7Pe7IzSipXJAWbd6awifE4kEAh87XN6+owF5/NWnjetestc1KuJ0voE1/Lp2h4+NXQzXXb3SV1VIQSB8rEMM99h5xmvjzHrzdTMRaIrYU1j5AS530qDEEgE0+40paBEwojT4/QiGoKZwzMU6gWya7IMXDKAFppgKiAsK6iBk3NIvlkx3hwDYGYyJDYcYyC7kvjFMRJXirYeESCqgtrhOke8cTgAPd099L+pl0AFTHtTlLwZkoUU3WEvsY4YtVdXqcoKqqxhD6w9by3pFyVRgUJMSQrjBWadGcxXGQhL0NvqQxQkGOoEzy9hJPemjDSNsI4WGjMx5x1YwqKhGhs95fVKFrcIgQ5IyVSjP9Hf9JTHaH2cZtB0jOdY8XbUvVvh9B83yLupBFUuyF1ITJ5YtfTD6bt465Nvoj82QLfdQ6D9Uypq8UI3VvVLpGJJAqMzGPNGmB+No+0M0AGocU0jrDHcHOb83IX8ZsdlnJbaxobkJswuk/HeMZ6o7OJnsz/l/j33sSa+FktYCEsgEBRKs1gVi/eufj+2tGEQdtd2c/vEv9E1NRfV1GBJi1F3DFMYvHrgtWzPnMXW1GnkzBye8hhqHODp+h6eSO1ib+0ZJhoFrkm+mPOzF0AP+F0eXx/7RyqlKo50KPlFNue38M7ed8+nl++sfJ9d6nHyRv6Eiq+8nXnSNgRNFbZrFjNWO6CUNlLsbey7oh7WlxRghjAIdOBMeBNm0kiyJraSoj8dhDy33KurXLrsbtYnNy44/6F9H+CB4n1c1nEFvU4f1/W8lMs7r5y/vim1mYvyF/N07elTympqrVFakbIyYd7pYrg1TDkoizYBxKLfr+SXqAQV3r3+z3jDyt/leOvRZXdxZno7rxt4PbeNfZXbRr6CkqpNBmC4OcyHtnyEV6x41fw9L+q+lrum7qAdrXWQUjLhHqHL6uQjW25ie+bsE95lRayfSzqez6w/y/WPXMusN8MNfa/krLm2Gs2tw59Fzq1hU94kb+v8fa7v/fX5z/i3iX89IQqrUcSMOFkz/9Oa36AZeAhAOmYS20ziWBma2j09XCZ8K5C4oRvPJ3Md3akuCn6RpnKr4hTTXxpNqEPKfoktyS30H2MRSn6Rol9kTXwt+xv7uWPqdt6w63V8eeSL823Wxge59fQvkrfyVILKKdbkSWqxWqURb7A5vZHeeE/SV/6SSZiSX+SjW2/iTatuXECCGW+awjExDYDXD7yBpJmcE64mB5oHuKb7xby2f6GmcaTDaenT52MinvLwdcCntn12AQlGWyP8ovokQ/P1GPDtI//CeGuMranTGEwMzp+/feI7TLYmiMt420MyUgtyMYeaB9lb30veyh0XP1Btj1DLJwpemVrYoBo2MAM8QNBSdephbf1Sy8JR1zHUIbVatcexjP1pBR0iNjYkTr49whAmzbBBJSjzeOVxXtTzayckoiphmbSRIS1MuuwuakGVTw59nEvyz5/PO+SsPK/ufw23HPzUScUigCENqKrJcqtEaPhU3VpeCE7wigxhsK++lzeuvpEXdT2b/RhvjXHT0Ed5qvoLlFZc2XUVf7Hh/Rxxx3nLk2+k5JfIm3mqQQVLWPz5xvct+h5npM/k7tmfzs3eKa7uehGbkpvnr39k/4f40vAX6I/1YwqLbenTeX7H5fxw+i4yZoaV8VVkzWcHdWdlJ0W/QDnomqvmVvQ6fQu0VMkvkjWzJwh+C+uIoZnywsZ8fYfp6wATk2pYNatB5TxbWictJ/OU1yexOOLN0FDBA460Wc7lFAgm3Qk2Jjfy0S038UDxfp5/TC4B4N7CPTxefpxzsueSMpJoDMpBpf25xxFtILbylHLwbTcpUR2wV45a0sbVLvWgfvpigah6UGdFrJ8bV7/tGBKM89rHX8Voc5g18UEUiq+P3caMN82Ee4Sx5hir46vRaA41D/LeDX/JytiqOc/mIUZaw9zQ114izsqcjSMdNJpm2GBtfO1xRJTkrQ4KXgFFyLQ3xY7ig/Q4vRjCoNvuPiEyuCm1hT67j2pYpcfuWWAR9tR2E6jgBEEd6ICEmXzcNBzc8NlQvumGDYSMMePNbK8G1V7rJPl6X3kY0hrMOz2EhkGSrmeOFKcmK36ld6kKoJCQRljnzavfyjnZ8zhnLt18LNbGB3njqjcx6U4y3BrGUy55q4MPbvrwgpkD0DyGyctqEe0yYAw80GVlvWJQQ2qTRtC4eLG2U94kr+5/7YIZ9PcjX+RQ4yBnZ86ZX2s3J7fwYPEBYjI2T4LR5gjnZS/gjatunL/35gMfI293zBNhTWItOStLoAJSRoo99d0Lnv+n6/+ct655O/cWfsbu6lM8ULyPocYBbOnQUi0G4wut33s3/EV7gmhQhMRkfEFcZcKdIGbET/Cq2kKx46cxO0EQhPPzyQwDD2UYNPzallCHC/z6pVT4rD9zhdLBJ7qdHCk7yeHG0PemmpM3OrazpDhcFV/FythKPOWxWB7jmu4Xc033i2mpFkONAzTDJtvSpxNbJAP671N3kDtu7VvcegV0mz3fSYgsviWoqhp1VTt9UfdRh5yW2vashQjrPFx6iLXxwQWCK9ThfIAr0AGBDmiqJn+x8f3zbb4z8S2+NfY9XtBzKYEOMIVJvzPAxuRmnqjsotfp497Ze/iH0S/z2yt/d/6+rJnjJT3X85Ke6yn6BT68/4P8ZOZHZM0sZ2XPPq7AOLns9x9vjZE8zvVuW21Jh925O2/msI6RAWYoQAtJS/sbT2WWWdKi5BVfLAMjbmijiQn9if7vPlV56sal/PqYjCGR/MFTv0fazLDCWcHG5Eau7X4Ja48RQEfbHjsgx+NTBz/OjtJDbExuWjbX4CqXrJnTm3Kb/7lhtogZcWpe9cJaUOs0jiOCpr2ZxzkmTO4ql2pQxZLmgorfgl9Ao+m0Oudd3hvX/B5npM+cJ8qe2m5et/rVrIytphE2yJhtz+zszDncV/gZvU4vnXYXnx76BA+XdnBtz3WcltrGusT6Y2IqHXx866d54UOX4Wmf1fE189caYYNJdwJb2ggkjbBBt9M9b82eru1hqHFg/rnHWgNTmHSZXc8kSMAxm4JM04qBNKmr+vNPRfvbwqbkF82Dev8LNiW23mnJGNvTZ//gieKuI9PuzIqUmVp0dh5Vy2OtEZ6p7eFLw19gILaKtYlBdpQe4guHP8fb1rydC3IXLfrcPbXdfG3sH/j+5PdYE1+77NIgEFTDChemLv7+6YkzS5P+EZQKOVDa/5vVoELXcVVKRwNczbCxILh1dvYc/mnsa5w+N8hjrVG2Z85CCoMDjf3Y0mJ9ciN/uPadC0TnezcsLhhXx1cfdcGpBlWEEPxg+j+4Z/andNidrIyt5I2rbuSqrqvn79mSOo0nq0/QaXXNn/va2D9w84GPsT6xAU97NMMGXz3r6/NE2FffS8kv0ml1LvieLeXS4/QO98X6DoDGNp61zKb0JE2aVs2vXmBK65RcMk/5lN3y29dba+881Bgi1Fr1xVd8crQ1dnNGZFhqG50jHRzpkDCSZMws2zNnAfBkdRdf3f81ru25jgtyF/FQ6UH+Zv+HOStzNqa0mHCP8GRlF7P+LGvjg0jkkjUFx87wuBH/qyerT9BhdxAz48z4My9zlsiSxow4Dxbv5+V9r5gnx3s3vI9GWGeoMYRE8ryOS/jYlo9jCJNX73w5uyqP8a/nfveUqqMBTkttI21mKHoFPrLlbzhQP8Bd03cy3hrjSGuch4oPcV72/AVEeKb+9AkR2L21ZzCFSUhIOSizLrGOjclNC/TO0X44Xt9lrexDCqWPd7/NtJmmGBQHPe2lDE6t9j9tZdhX3XvtgerTvTk7P+lpuCJ39acO1w+/vxKUU2lj+QKVGW+ayzquYM2ccn6svJOze7bx4u62S/lg8X7uK/yMg40hNJqYjJG3OliX2IDS4bIkkEgK/iwbUpvu3pTZsrPkl+gSPewsP/qyQ42hlR3HzZL5AI7Tx13T/87L+17BxflLAOi2u/m7M77MlDcFsCD59aHNH+ULhz/L5R3PBrz+afzr7Ks/Q2ZuZhb8Audlz+P63pe1s6aJ9WTNLKenz+AFnS/kBZ0v5LdX/g5P1/Yw2hphMDHI1mOWxZ2VR9lRepA3r37r/LlaWGNfYy99sRVt/aQ1g/F184ElgEONQ4vqMCkMEkbiiWpYO6Ei3OyN9VJtlLe0wuYpb0mzhcW0P80jlV0fvab3xb/ruVU2GxvDqzLXvPEb07f9c9JIIpb56YWUkWLWn+F7k99hQ3Ijj1d2cnb23Pk1bahxgNXxNfTHBo4raglPKhBd3UJpzfOyl/72mtggCWMSX7vsrv7iw8sJYUOY5Mwcf7LnXdy09ZPzZDieAADT3jSPl3fy1e1fnz/3SPlh3r37HaTM9LyFGGuNcMXcXo2juDB3MZtTW57tS2lzZmY7Z2a2L3jG7tpT/OmeP6bb7uGi/LOOTjWoMOEeoWNOo9TCGmdkzlxw75PVx+fJeKyVjBkxUkb67rpXxT2uCsx4zbt/gz313W8ZaY5cfLJdyQvIIG1GW8Nnn5e94KunJU8rj8lRejMrnir4s+cerh7avNieymOJMONNc8fU7fxk5ofEjQRCSIp+gaJf5P7ivRzdLf1ccxhFr8ivD9zwriuyL/xB1a+wNraOndWf/8Z9s/e8tcPuXHbXVNrMUAtr3DF1O5PuJI600aK926oaVBhuHeYnMz/mPXveScyIsyG5gUONg4y7Y3z64CfwlMu6xHoyZoaclaPb6UEiWRlfTcGbYdKbYMwd4+9HvsS0N0WoQ3ztExLQDJvM+rPsqe3mG2Nf4+ahj1ELqqyND7IusY5qUGXSm+Dewj08Vn6U5JwWUyjOSG9HinbY+pHSQ9xduJvkXJ8u2MwiHTXgrHoP0PJ1gNJq/hC3jX2VH0//8J7hxqHLUmb61DdbCMl4a4zzchfc//ltX7p01pvl/tEHmA1nrG+V/2l/M2ysThnpJTv+qIfha5+YjNEKW4y5o1jCYoWzAkvay3oFi2UaZ/wZNsY2fft38m9+RdNqYsQN3NAVXzp4a6WmaqmUkTppltQQBq2wxYR7BFva5Kw89twOq2pQpRyUyFl58laeKXeKo9v/k3O651hXUwqJr3wK/uy8ZM5ZebTWHHHHMYRB1sqSkO1B85RHyS/RUi16nV6Ovm/BL+Cpdk7AEhZ5u2Neh1nCohpWqQVV9NzS2Gl3nhBI8pRLyswcOjdz3uDRUPOC/vvMgb/lnuJ/jpaD8sCpip4FoeHWOK9Z9bo/+V9rb7h5V/VxjlSn0EHQf9fE7fvqYSORtbLPaQPqchHK5ZaEgj/LYGL9Iytjay5QUnPV4FUkrCR/94vP3j5U3P/Srvhz2wg7H0XVXnvGAKa05pJL7WvHdvRyRTJKq/m2AjG/+UfP7e0MddAexLnt/8dvDjr+/uPLBE52/egSsj6x4ZvnZs59zdEdZgs0wmxYWNNSrYHFgiyn0lldVhdfH7/tJtuJ/eSqzAt3+sLDtdX4OdkLLthV3fmjql9dkTJTp1yv8FxIcHRAamGNFU7/z87Pn39Nwa2Q0zlWFlbynfq3/uCZ8tMv7Y31Pufd0BqNFJKYiC157blYz+PvP/r+bVFnL3p9qftP9vmLZ2IVHVbXfUkjQ6j1CdlXc9wdeemz0T79nDvLMWNk/Rx3DH33UdFtndVtB7vK/mFSsvepi3OXbn+o9MD3Kn754rgRP+nW+OdKQk97BMqn3xn4yvnZC39XhgbxIE5CJLlt4iuvv69yzy2dTsfC6tT/gVBoDGHSaXXsSxrJRUW3aUt7oBW2Co501C+zm1JrTdbKUgqKHXdW7rjtivzWa9OiNG4IC0v3TG/o2PS8scbIR2q1yv9uiiaOdJ6z6T+eAkoHtJSLFLJ4Sedlf5yVua+42qUeNtAI9uunL3rM/fmtCSdZs4XT0mh+ZTtR/zsSQfsiYSTCrlj3btM0Fg3bm1uTp3343pl7P9Rhd/6Xfkmi0+zWhWZhxdCqYnND90YECv9wE9d3GUwNvhfBtw64B/685BdfHuigHXYW8pRJoXVbWLZUi6SRZCA28JmMlf/gqsTqmWq5wmymwPiKCbTQ1PeWhu2Wsz6WiJeXizn8T4GnfBJmUm9IbXTTZoamap5IBFOYtV+FuVYoHGEfMi0bT8r27mGh0ErRDJt0mz07B8TADT1270W+9l93pDX2Sle7PVq1n62EwhYWYq4IVmtNSIBCITEwhUnaTO/bHNtymxDiG2kjPdQIW1SCCloptNS4xtyvsxnmuHGS6OP/NGg0lnSW/KlEM9Thf9FUH2e4FUjUCWuyp1xaYZNuu/ehTqfzISnEuxMyfsGsKlzXCOqbLWUNtHSrQ2kVF0IoBA0HZ9oU1qiQ8tGMnb2ry8w+sTq2hj31fTTDOoFuV1VrAUILTEwUbb84FL/a7/X/A8K5bOlim4iF1tFPTUWIfoI3QkSECBERIkREiBARIUJEhAgRESJERIgQESFCRIQIEREiRESIEBEhQkSECBERIkREiBARIUJEhAgRESJERIgQESFCRIQIEREiRESIEBEhQkSECBERIkREiBARIUJEhAgRESJERIgQESFCRIQI/53wfwYARuoaPXiACHQAAAAASUVORK5CYII="}},"time_used":520,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":517,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.819Z","timestamp":1785120761819,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 5005950\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 02:52:41 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=lk0Bq6AxqrujMeYyw%2F7hP6qUUuJ97z97WgvS6aZE1q8RwsTh%2FXquJP20V2Bnh1Dc7XMlF%2Bd3zZfXPo7vKYqPKBIs8E4iIivtQyFmf1w41vdsBMF21klq8adUtDZU\"}]}\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"992603cebc96287b9bf186c47928c4d2\"\r\ncf-ray: a21859795bd80daa-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":"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"]}],"data":{"size":282,"size_decoded":2357,"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-07-27T05:24:59.896277Z","times_seen":2344,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkxOTQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ3YXJuT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319XSk7"}},"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":"cdn.gtranslate.net/flags/32/en-us.png","fqdn":"cdn.gtranslate.net","domain":"gtranslate.net","tld":"net"},"ip":{"addr":"104.26.13.42","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.935Z","timestamp":1785120762935,"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":"gtranslate.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 25 Jun 2026 02:04:42 GMT","end":"Wed, 23 Sep 2026 03:04:28 GMT"},"fingerprint":{"sha1":"7E:41:C7:FB:AD:E5:FE:5D:B3:02:94:54:88:D4:EE:DD:EA:46:BC:9C","sha256":"0F:62:03:25:71:9E:01:C5:E5:A6:FD:62:89:4B:D6:28:CC:04:66:24:A5:08:2F:E1:17:68:AA:E7:51:AA:E9:A3"}}},"request":{"raw":"GET /flags/32/en-us.png HTTP/1.1\r\nHost: cdn.gtranslate.net\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://360trustwealthavenue.stglen.com/\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/2 200 \r\ndate: Mon, 27 Jul 2026 02:52:42 GMT\r\ncontent-type: image/png\r\ncontent-length: 695\r\nserver: cloudflare\r\nlast-modified: Mon, 07 Nov 2022 15:42:08 GMT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=oXN57VAFw7i85963iR7EWmgXZValAmXrD79r7TEFAYr%2Br2anlymvBZLhZdPc5jefZaRNT5Oa7YqNAoZp%2FGQXYdoljyKIRcdr72W0s4rJlT4g51XYQ5F4Hvl5CspykP5v39Pg2w%3D%3D\"}]}\r\netag: \"63692750-33e\"\r\nexpires: Thu, 01 Jul 2027 05:13:47 GMT\r\ncache-control: max-age=31536000\r\naccept-ranges: bytes\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=4;i=?0,cf-chb=(89;u=4;i=?0)\r\ncf-polished: ok, orig_size=830\r\ncf-bgj: imgq:100,h2pri\r\nage: 2237935\r\ncf-cache-status: HIT\r\nvary: accept-encoding\r\ncf-ray: a218598059115687-OSL\r\nX-Firefox-Spdy: h2\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":1509,"mime_type":"image/png","magic":"PNG image data, 32 x 32, 8-bit/color RGBA, non-interlaced","md5":"0c7d024de9ea604d5112aafc2738f21f","sha1":"19eae4ef8a7275c8cd5a6528e9c302c36feb8ac4","sha256":"529bcccc5a1659f26fe9f396a809996d064504598f145bee5abc62b94f7d1ec6","sha512":"1f2d1c7015d2b000f5b271ead4e16c3f36f049a34991d7032ee3b353ad7b1297bedcb4c75af662aa15d4b86a2f8187557d701abbdc7b32133ae1f23b9042af7f","ssdeep":"","tlshash":"670144c70d10215ccc2bcc5251eb044584a36a6a453b41ff0f2e980c56f595f5cd0305","first_seen":"2024-05-01T05:40:26Z","last_seen":"2026-07-27T05:24:59.909596Z","times_seen":1564,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAJSSURBVHja7ZffS1NhHMaDLlr7cWFtOVDCM7TlrFYISk1ExlDBVnSRJmS1q0hHqUQWpcH6xSzEuqurbrqo6276H0pL5iaOsY1tbizXZtJ2NZ7e74HxghuyV+V4sy98eM77nsN5Ppxzbs6B2tSGzUGGmqFTGLXczabO4ZhDX9/8jkg5b+yMy7dA3STQ1Ns7j2TyH7zeb8K5m6FuEjDb7XPweL4iFtvExOQXOSe35gRfl66j48zUM84DmS175eezL98iPTIG6pYFenreIB7fxOjoJ0Sjf4Uyc++JMNkZL9LXbnMBm20W4+OfEQ5vwOX6WHUSuxgu0Nn5CpHIBgYHPyAUygll+rpbmPU7D5G6dJMLtLe/wNDQewSDWQwMvKs6idQVlzDpETeS/cNcwGr1YHU1h+7u11hZyYrk3rwCi+Upurpm4Q/8AT2NgF9O+LdPxnMkzl9E4oKT4Md8XXF/zX4VazYnF2hpmcbycgZm8zR8vnWWM5Rl60r7casd8bPVUbo20dGP+DkHF5CkR5Ckx1ha+o3Gxqlqk9ibV0A3WlxMQ6NxY2FBLCNHW8UxnkHshI0LGI33odXehUo1JkykziyOoQ1RUwcXKBaLUHpYJxcI1Z9ClB6NrlkRqCtkPM0FgvqTiBwxI6yRxNCWrwl+rjLUFTS0coFCoQClJ5/Pc4GA1iR/neHDTYpAXX6diQv41GxTb1FMgLp8GokL5HI5KD2skwv8Uh1H9FibovxknSWB5u+GBvxQGOqkbhKoZzgYwwrjkLvZHGLoGQ0Ko6fu2m/Zvs9/EFQu2SXcrUMAAAAASUVORK5CYII="}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.968Z","timestamp":1785120761968,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 3808278\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 02:52:41 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=GT5a5%2BeTldVL4sVzoIH5NIXLqZEfkKOkrxw0M3v%2Fn7EhaIVB%2Buraz6dU6zJU6v321mINBi%2FBqi2O9dpcRZaBctEaknNsGi7E8dNau0TQXsnoWA%2FPr8oe7GLyF6uH\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a4be60daa-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":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-07-27T05:24:59.874743Z","times_seen":1359,"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":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":"s2.coinmarketcap.com/static/img/coins/64x64/35491.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.257Z","timestamp":1785120762257,"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=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\ncontent-type: image/png\r\ncontent-length: 332\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 30 Jul 2025 12:26:41 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 02:59:18 GMT\r\ncache-control: public, max-age=86400\r\netag: \"cc548cb26fde330895dba23ae4af6f04\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 86062\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: FoCE3eUcTdaNcPyh58O2WQRLXtpEb1pMsMf2v7iILiT9a7P7qonIfg==\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":332,"size_decoded":903,"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-07-27T05:24:59.875455Z","times_seen":941,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABE0lEQVR4Xu2QwY3CMBQFaYQ6aIvzNkMhlEBDSHtYxCWKhpisHSOSvBnpXZ6/5e85/IVzYJGGAlikoQAWaSiARRoKYJGGAlikoQAWaSiARRrdBJyO55eU4FzLfC8UwKIVLvhuSc61zPdikQAu9czt+juEZ1NpnR93S1AAixq43HhBLllK6/y4W0K1AC7ExS4/9yGlz4371vnSbC0KYDEHP84lWz9UO1+areWjAkqf49lU5uYVoICNCegdBWxZAO9OhXcYBShgJwJ49t8oQAE7EVAK7zAKUMCGBfSIAhSwUgHfiAIUsAIBa0ktCmAxBx9cW2qpFrA3FMAiDQWwSEMBLNJQAIs0FMAiDQWwSEMBLNKIF/AAZC46QvDJoXEAAAAASUVORK5CYII="}},"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.107Z","timestamp":1785120763107,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: f51be5ae9d1cdf5078ee6abed7ddb4fe\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-07-27T05:29:38.658636Z","times_seen":853,"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":"www.tradingview-widget.com/static/bundles/embed/80706.a5913aa6ad62d9dbf031.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.468Z","timestamp":1785120763468,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/80706.a5913aa6ad62d9dbf031.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/ticker-tape/?locale=en\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 02:52:43 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-1be6\"\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: d64b730ca16e97d5453ddfc073b26d27\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.970Z","timestamp":1785120761970,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 3808278\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 02:52:41 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=fd3hdGFQ9f0zaR4YarmkaPSeouBI0xrOpZptdA4DP0vX%2Bvx9eeh%2FzXlbS16NMVuLdKDa3a5BfV2dFoumR%2BdWpbcxx7WwHk0MmL8SVmKzUwnEgFeNBsamW4pQMpAJ\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a5be70daa-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":49883,"size_decoded":17720,"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-07-27T05:24:59.932953Z","times_seen":1196,"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":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/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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.443Z","timestamp":1785120763443,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: b4f8ec6e607820c730f787017d79ca47\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-07-27T05:14:11.3544Z","times_seen":17556491,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.956Z","timestamp":1785120761956,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 3801344\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 02:52:41 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=QyymDC9KxS5uRdMCdsyqYKxyti6zOEXUSa5170wyTLZFMETglLp5OJ1XB5zjG%2Bzwwe4zJeJt5CFJXxgf0ki3DhoEzMhieii5moSYcal4%2Br%2Fcb37BuCaK%2FSIFA0zB\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a218597a3be20daa-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":"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"]},{"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":50505,"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-07-27T05:14:27.368197Z","times_seen":82441,"resource_available":false,"data":"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"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":2,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.164Z","timestamp":1785120762164,"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=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\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: Sun, 26 Jul 2026 05:59:59 GMT\r\ncache-control: public, max-age=86400\r\netag: \"c0a4d73d0d9cd1d396e0c5e41d1b91b4\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 75163\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: pqgUA-4Qb2oogPjA43DC6h4iHD_hKs-ksMsOWdHz2nKnrJpDNt1z1A==\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":686,"size_decoded":1257,"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-07-27T05:24:59.854294Z","times_seen":1064,"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":15,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.094Z","timestamp":1785120763094,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: c935f67b9759b9d96836424987c97cf4\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-07-27T05:24:15.730806Z","times_seen":1971,"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":"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.104Z","timestamp":1785120763104,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 990d5e79393bee3853f7633bbad216e6\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-27T05:16:58.393492Z","times_seen":1020,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTUyXSx7NDUwMjk1KHQpe3QuZXhwb3J0cz17fX0sNDYyMzUodCl7dC5leHBvcnRzPXt9fSw5NzMxMTkodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7cXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2U6KCk9Pm59KTt2YXIgaT1zKDc1NTYyNyksYT1zKDk4NDM3Nik7dmFyIG89cygyMTYxMSk7ZnVuY3Rpb24gbih0LGUscyl7Y29uc3Qgbj0oMCxvLnRvTnVtYmVyT3JVbmRlZmluZWQpKHQpO2lmKCJlY29ub21pYyI9PT1lPy50eXBlJiYwPT09bnx8dm9pZCAwPT09bilyZXR1cm47Y29uc3QgbD1zPy5jdXN0b21QcmljZUZvcm1hdHRlcnx8InZvbHVtZSI9PT1lLmZvcm1hdCYmbmV3IGEuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pfHxuZXcgaS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTplLnByaWNlc2NhbGV8fDEwMCxtaW5Nb3ZlOmUubWlubW92fHwxLGZyYWN0aW9uYWw6ZS5mcmFjdGlvbmFsLG1pbk1vdmUyOmUubWlubW92ZTJ9KSxyPXZvaWQgMCE9PXM/LnNpZ25Qb3NpdGl2ZUNoYW5nZT9zLnNpZ25Qb3NpdGl2ZUNoYW5nZTpzPy5zaWduUG9zaXRpdmU7cmV0dXJuKCh0LGU9ITApPT5lP2AoJHt0fSlgOnQpKGwuZm9ybWF0KG4se3NpZ25Qb3NpdGl2ZTpyLHNpZ25OZWdhdGl2ZTpzPy5zaWduTmVnYXRpdmV9KSxzPy5jaGFuZ2VJbkJyYWNrZXRzKX19LDYwMjg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3F1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3k6KCk9PmF9KTt2YXIgaT1zKDE4NTI3MSk7ZnVuY3Rpb24gYSh0KXtzd2l0Y2godCl7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtjYXNlIlBDVERZIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDQ0NTA1KSk7Y2FzZSJQQ1RQQVIiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNDY4NDYwKSk7ZGVmYXVsdDpyZXR1cm4gdH19Nzg2NzYwKHQsZSxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibWN4X2ZyZWUiPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiEhdCYmKGkodC5zeW1ib2xuYW1lKXx8InBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZpKHQudmFsdWVzPy5hbHRlcm5hdGl2ZSkpfXMuZChlLHtpc01jeFF1b3RlRGF0YTooKT0+YX0pfSwxMDE3MTIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3JldHVybiB0LmVuZHNXaXRoKCJfZGx5Iil9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQmJighKHZvaWQgMD09PXQuc3ltYm9sbmFtZXx8IWkodC5zeW1ib2xuYW1lKSl8fEJvb2xlYW4oInBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZ0LnZhbHVlcyYmdm9pZCAwIT09dC52YWx1ZXMuYWx0ZXJuYXRpdmUmJmkodC52YWx1ZXMuYWx0ZXJuYXRpdmUpKSl9cy5kKGUse2lzU2ZRdW90ZURhdGE6KCk9PmF9KX0sMjAyNDYwKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Fic3RyYWN0SW5kaWNhdG9yOigpPT5sfSk7dmFyIGk9cygyMjEwNjEpLGE9cygxNTAxNTApLG89cygxNTk1MTMpO3MoMzQ0Nzg1KTtjb25zdCBuPSgwLGkuZ2V0TG9nZ2VyKSgiR1VJLkJsb2Nrcy5BYnN0cmFjdEluZGljYXRvciIpO2NsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5fY2xhc3NTdWZmaXg9IiIsdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJhYnN0cmFjdC1pbmRpY2F0b3IiLHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9zaG93VG9vbHRpcD0hMCx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX3Rvb2x0aXBUeXBlPSJjdXN0b20iLHRoaXMuX2xhc3RUb29sdGlwVGV4dD0iIix0aGlzLl9xdW90ZVNlc3Npb249dC5xdW90ZVNlc3Npb259Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0VG9vbHRpcFRleHQoKXtyZXR1cm4gdGhpcy5fbGFiZWxNYXBbdGhpcy5fdmFsdWVdfHwiIn1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWx9dXBkYXRlKHQsZSl7dGhpcy5fdXBkYXRlVmFsdWUodCxlKSx0aGlzLl9yZW5kZXIoKX1zZXRUb29sdGlwRW5hYmxlZCh0PSExKXt0aGlzLl9zaG93VG9vbHRpcCE9PXQmJih0aGlzLl9zaG93VG9vbHRpcD10LHRoaXMuX3JlbmRlclRvb2x0aXAoKSl9ZW5hYmxlU2hvcnRNb2RlKCl7ITAhPT10aGlzLl9zaG9ydE1vZGUmJih0aGlzLl9zaG9ydE1vZGU9ITAsdGhpcy5fcmVuZGVyKCkpfWRpc2FibGVTaG9ydE1vZGUoKXshMSE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLG8uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKHQpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09dCYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQsdGhpcy5fcmVuZGVyKCkpfV9pbml0KHQpe3RoaXMuX2VsPXQuZWw/dC5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPXQuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPXQuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPXQubGFiZWxNYXAsCnRoaXMuX3Nob3dUb29sdGlwPXQuc2hvd1Rvb2x0aXAsdGhpcy5fY2xhc3NTdWZmaXg9dC5jbGFzc1N1ZmZpeCx0aGlzLl9zeW1ib2xOYW1lPXQuc3ltYm9sLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQuc2Vzc2lvblN0YXR1c0ljb24sdGhpcy5fb25WYWx1ZUNoYW5nZT10Lm9uVmFsdWVDaGFuZ2UsdC50b29sdGlwVHlwZSYmKHRoaXMuX3Rvb2x0aXBUeXBlPXQudG9vbHRpcFR5cGUpLHRoaXMuX3F1b3RlU2Vzc2lvbkdVSUQ9KDAsYS5ndWlkKSgpLCEwPT09dC5zaG9ydCYmdGhpcy5lbmFibGVTaG9ydE1vZGUoKSx0LmRhdGEmJnRoaXMuX3VwZGF0ZVZhbHVlKHQuZGF0YSl9X2NsZWFyQ2xhc3Nlcygpe09iamVjdC52YWx1ZXModGhpcy5fY2xhc3NNYXApLm1hcCgodD0+e3RoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dH1gKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGAke3R9JHt0aGlzLl9jbGFzc1N1ZmZpeH1gKX0pKX1fcmVuZGVyKCl7dGhpcy5fcmVuZGVyQ2xhc3NlcygpLHRoaXMuX3JlbmRlclRvb2x0aXAoKSx0aGlzLl9yZW5kZXJMYWJlbCgpfV9yZW5kZXJMYWJlbCgpe3RoaXMuX2VsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fdXBkYXRlVmFsdWUodCxlKXtjb25zdCBzPXRoaXMuX2dldFZhbHVlRnJvbURhdGEodCk7KGV8fHMhPT10aGlzLl92YWx1ZSkmJih0aGlzLl92YWx1ZT1zLHRoaXMuX29uVmFsdWVDaGFuZ2U/Lih0aGlzLl92YWx1ZSkpfV9yZW5kZXJDbGFzc2VzKCl7Y29uc3QgdD10aGlzLl9lbC5jbGFzc0xpc3Q7dC5hZGQodGhpcy5fY29tcG9uZW50Q2xhc3MsdGhpcy5fY29tcG9uZW50Q2xhc3MrdGhpcy5fY2xhc3NTdWZmaXgpO2NvbnN0IGU9dGhpcy5fY2xhc3NNYXBbdGhpcy5fdmFsdWVdO2Zvcihjb25zdCBzIGluIHRoaXMuX2NsYXNzTWFwKXtjb25zdCBpPXRoaXMuX2NsYXNzTWFwW3NdO2kmJihpPT09ZT8odC5hZGQoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5hZGQoaSsiX193aXRoSWNvbiIpKToodC5yZW1vdmUoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5yZW1vdmUoaSsiX193aXRoSWNvbiIpKSl9IWUmJnRoaXMuX3ZhbHVlJiZuLmxvZ1dhcm4oYG5vIGNsYXNzTmFtZSBmb3Igc3RhdHVzICR7dGhpcy5fdmFsdWV9YCl9X3JlbmRlclRvb2x0aXAoKXtjb25zdCB0PXRoaXMuX3Nob3dUb29sdGlwP3RoaXMuZ2V0VG9vbHRpcFRleHQoKToiIjt0IT09dGhpcy5fbGFzdFRvb2x0aXBUZXh0JiYodGhpcy5fbGFzdFRvb2x0aXBUZXh0PXQsdGhpcy5fZWwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdCksImN1c3RvbSI9PT10aGlzLl90b29sdGlwVHlwZSYmdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHRoaXMuX3Nob3dUb29sdGlwKSl9X2dldFF1b3RlU2Vzc2lvbklkKCl7cmV0dXJuYCR7dGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4fS4ke3RoaXMuX3F1b3RlU2Vzc2lvbkdVSUR9YH19fSwzMDY5MCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtEYXRhTW9kZUluZGljYXRvcjooKT0+ZH0pO3ZhciBpLGE9cygxODUyNzEpLG89KHMoODI5MTgwKSxzKDQ1MDI5NSkscygyMDI0NjApKTshZnVuY3Rpb24odCl7dC5EZWxheWVkPSJkZWxheWVkIix0LkRlbGF5ZWRTdHJlYW1pbmc9ImRlbGF5ZWRfc3RyZWFtaW5nIix0LkVuZE9mRGF5PSJlbmRvZmRheSIsdC5TbmFwc2hvdD0ic25hcHNob3QiLHQuUmVhbHRpbWU9InJlYWx0aW1lIix0LkNvbm5lY3Rpbmc9ImNvbm5lY3RpbmciLHQuTG9hZGluZz0ibG9hZGluZyIsdC5JbnZhbGlkPSJpbnZhbGlkIix0LkZvcmJpZGRlbj0iZm9yYmlkZGVuIix0LlN0cmVhbWluZz0ic3RyZWFtaW5nIn0oaXx8KGk9e30pKTtjb25zdCBuPXtjb25uZWN0aW5nOiJ0di1kYXRhLW1vZGUtLWNvbm5lY3RpbmciLGRlbGF5ZWQ6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZGVsYXllZF9zdHJlYW1pbmc6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZW5kb2ZkYXk6InR2LWRhdGEtbW9kZS0tZW5kb2ZkYXkiLGZvcmJpZGRlbjoidHYtZGF0YS1tb2RlLS1mb3JiaWRkZW4iLHJlYWx0aW1lOiJ0di1kYXRhLW1vZGUtLXJlYWx0aW1lIixzbmFwc2hvdDoidHYtZGF0YS1tb2RlLS1zbmFwc2hvdCIsbG9hZGluZzoidHYtZGF0YS1tb2RlLS1sb2FkaW5nIixyZXBsYXk6InR2LWRhdGEtbW9kZS0tcmVwbGF5In07ZnVuY3Rpb24gbCgpe3JldHVybntjb25uZWN0aW5nOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfY29ubmVjdGluZ19sZXR0ZXIifSxzKDg1OTk5NCkpLGRlbGF5ZWQ6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LHMoODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxzKDM5NDUwMSkpLGVuZG9mZGF5OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxzKDU3MDkzOSkpLGZvcmJpZGRlbjphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxzKDM5NDkyMSkpLHJlYWx0aW1lOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0scyg4NjY0NCkpLHNuYXBzaG90OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0scygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxzKDc1NjQ1NykpfX1jb25zdCByPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgZCBleHRlbmRzIG8uQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KHQpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9CnNldE1vZGUodCxlKXt0aGlzLnVwZGF0ZSh7dmFsdWVzOnt1cGRhdGVfbW9kZTp0LHVwZGF0ZV9tb2RlX3NlY29uZHM6ZX19KX1oaWRlKCl7dGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKX1zaG93KCl7dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX1nZXRUb29sdGlwVGV4dCgpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZSgpO2lmKCIiPT09ZSlyZXR1cm4gdDtzd2l0Y2goZSl7Y2FzZSJkZWxheWVkIjp0PWEudChudWxsLHZvaWQgMCxzKDc5MDUyNCkpO2JyZWFrO2Nhc2UiZGVsYXllZF9zdHJlYW1pbmciOnQ9YS50KG51bGwsdm9pZCAwLHMoODE0NjEpKTticmVhaztkZWZhdWx0OnQ9dGhpcy5fbGFiZWxNYXBbZV18fHR9cmV0dXJuWyJkZWxheWVkIiwiZGVsYXllZF9zdHJlYW1pbmciXS5pbmNsdWRlcyhlKSYmKHQ9dC5mb3JtYXQoe251bWJlcjpTdHJpbmcoTWF0aC5yb3VuZCh0aGlzLl9tb2RlSW50ZXJ2YWwvNjApKX0pKSx0fV9pbml0KHQ9e30pe2NvbnN0IGU9T2JqZWN0LmFzc2lnbih7fSx7Y2xhc3NNYXA6bixjbGFzc1N1ZmZpeDoiIixkYXRhOnt2YWx1ZXM6e3VwZGF0ZV9tb2RlOiJjb25uZWN0aW5nIn19LGxhYmVsTWFwOntjb25uZWN0aW5nOmEudChudWxsLHZvaWQgMCxzKDE5NDE5NCkpLGRlbGF5ZWQ6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZW5kb2ZkYXk6YS50KG51bGwsdm9pZCAwLHMoNjAxNzY0KSksZm9yYmlkZGVuOmEudChudWxsLHZvaWQgMCxzKDMyODMxMykpLHJlYWx0aW1lOmEudChudWxsLHZvaWQgMCxzKDg4MzkyOCkpLHNuYXBzaG90OmEudChudWxsLHZvaWQgMCxzKDU2MjM5NSkpLGxvYWRpbmc6IiIscmVwbGF5OmEudChudWxsLHZvaWQgMCxzKDk3NzI3KSl9LG1vZGVJbnRlcnZhbDo2MDAsc2hvcnQ6ITEsc2hvcnRMYWJlbE1hcDpsKCksc2hvd1Rvb2x0aXA6ITAsdG9vbHRpcFR5cGU6ImN1c3RvbSJ9LHQpO3RoaXMuX21vZGVJbnRlcnZhbD1lLm1vZGVJbnRlcnZhbHx8NjAwLHRoaXMuX3Nob3J0TGFiZWxNYXA9ZS5zaG9ydExhYmVsTWFwfHxsKCksc3VwZXIuX2luaXQoZSksdGhpcy5fcmVuZGVyKCl9X2dldFZhbHVlRnJvbURhdGEodCl7bGV0IGU7cmV0dXJuIGU9dm9pZCAwIT09dC52YWx1ZXMmJnZvaWQgMCE9PXQudmFsdWVzLnVwZGF0ZV9tb2RlP3QudmFsdWVzLnVwZGF0ZV9tb2RlOnRoaXMuZ2V0VmFsdWUoKSxyW2VdfHxlfV91cGRhdGVWYWx1ZSh0LGUpe3ZvaWQgMCE9PXQudmFsdWVzJiZ2b2lkIDAhPT10LnZhbHVlcy51cGRhdGVfbW9kZV9zZWNvbmRzJiYodGhpcy5fbW9kZUludGVydmFsPXQudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMpLHN1cGVyLl91cGRhdGVWYWx1ZSh0LGUpfX19LDU2MzkxOCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtNYXJrZXRTdGF0dXNJbmRpY2F0b3I6KCk9Pmx9KTt2YXIgaT1zKDE4NTI3MSksYT1zKDIwMjQ2MCk7cyg0NjIzNSk7Y29uc3Qgbz17aW52YWxpZDoidHYtbWFya2V0LXN0YXR1cy0taW52YWxpZCIsbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQiLG91dF9vZl9zZXNzaW9uOiJ0di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbiIscG9zdF9tYXJrZXQ6InR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0IixwcmVfbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IixuaWdodDoidHYtbWFya2V0LXN0YXR1cy0tbmlnaHQiLGxvYWRpbmc6InR2LW1hcmtldC1zdGF0dXMtLWxvYWRpbmciLGhvbGlkYXk6InR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkiLHJlcGxheToidHYtbWFya2V0LXN0YXR1cy0tcmVwbGF5IixkZWxpc3RlZDoidHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQifSxuPXtpbnZhbGlkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1pbnZhbGlkIixtYXJrZXQ6InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW1hcmtldCIsb3V0X29mX3Nlc3Npb246InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW91dC1vZi1zZXNzaW9uIixwb3N0X21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcG9zdC1tYXJrZXQiLG5pZ2h0OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1uaWdodCIscHJlX21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcHJlLW1hcmtldCIsbG9hZGluZzoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tbG9hZGluZyIsaG9saWRheToidHYtbWFya2V0LXN0YXR1c19faWNvbi0taG9saWRheSIscmVwbGF5OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1yZXBsYXkiLGRlbGlzdGVkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1kZWxpc3RlZCJ9O2NsYXNzIGwgZXh0ZW5kcyBhLkFic3RyYWN0SW5kaWNhdG9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuX3F1b3RlU2Vzc2lvblByZWZpeD0ibWFya2V0LXN0YXR1cy1pbmRpY2F0b3IiLHRoaXMuX2NvbXBvbmVudENsYXNzPSJ0di1tYXJrZXQtc3RhdHVzIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2luaXQodCl9c2V0U3RhdHVzKHQsZSl7Y29uc3Qgcz17dmFsdWVzOntjdXJyZW50X3Nlc3Npb246ImRlbGlzdGVkIj09PXRoaXMuZ2V0VmFsdWUoKT8iZGVsaXN0ZWQiOnR9fTt0aGlzLnVwZGF0ZShzLGUpfWdldFRvb2x0aXBUZXh0KCl7bGV0IHQ9c3VwZXIuZ2V0VG9vbHRpcFRleHQoKTtyZXR1cm4iIj09PXR8fCIiIT09dGhpcy5fZXh0cmFUaXRsZSYmKHQ9YCR7dH0sICR7dGhpcy5fZXh0cmFUaXRsZX1gKSx0fXNldEV4dHJhVGl0bGUodCl7dGhpcy5fZXh0cmFUaXRsZT10fXJlc2V0KCl7dGhpcy5fY2xlYXJDbGFzc2VzKCksdGhpcy5fbGFiZWxFbC50ZXh0Q29udGVudD0iIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSx0aGlzLl92YWx1ZT0iIn1lbmFibGVTaG9ydE1vZGUodD0hMCl7dm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpLHN1cGVyLmVuYWJsZVNob3J0TW9kZSgpfWRpc2FibGVTaG9ydE1vZGUoKXsKdm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHN1cGVyLmRpc2FibGVTaG9ydE1vZGUoKX1fcmVuZGVyTGFiZWwoKXt0aGlzLl9sYWJlbEVsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fZ2V0VmFsdWVGcm9tRGF0YSh0KXtyZXR1cm4gdC52YWx1ZXM/LnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpPyJkZWxpc3RlZCI6dm9pZCAwIT09dC52YWx1ZXM/LmN1cnJlbnRfc2Vzc2lvbj90LnZhbHVlcy5jdXJyZW50X3Nlc3Npb246dGhpcy5nZXRWYWx1ZSgpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJMYWJlbEVsZW1lbnQoKSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbj90aGlzLl9yZW5kZXJJY29uRWxlbWVudCgpOnRoaXMuX3JlbmRlckRvdEVsZW1lbnQoKSxzdXBlci5fcmVuZGVyKCl9X2luaXQodCl7Y29uc3QgZT1PYmplY3QuYXNzaWduKHt9LGZ1bmN0aW9uKCl7Y29uc3QgdD17aW52YWxpZDppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoNjM4NDA1KSksbWFya2V0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg3MDI3ODgpKSxvdXRfb2Zfc2Vzc2lvbjppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoOTE0NTcyKSkscG9zdF9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDg2NzQ1NSkpLHByZV9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDkxODg0MikpLGxvYWRpbmc6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDI3NDQxNSkpLGhvbGlkYXk6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDY4NTEwNCkpLGRlbGlzdGVkOmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg1NTIxNSkpLG5pZ2h0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg4OTc1OTEpKSxyZXBsYXk6IiJ9O3JldHVybntjbGFzc01hcDpvLGljb25DbGFzc01hcDpuLGNsYXNzU3VmZml4OiIiLGRhdGE6e30sZXh0cmFUaXRsZToiIixsYWJlbE1hcDp0LHNob3J0OiExLHNob3dUb29sdGlwOiEwLHRvb2x0aXBUeXBlOiJjdXN0b20ifX0oKSx0KTtzdXBlci5faW5pdChlKSx0aGlzLnNldEV4dHJhVGl0bGUoZS5leHRyYVRpdGxlKSx0aGlzLl9yZW5kZXIoKX1fcmVuZGVyTGFiZWxFbGVtZW50KCl7dm9pZCAwPT09dGhpcy5fbGFiZWxFbCYmKHRoaXMuX2xhYmVsRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2xhYmVsRWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2xhYmVsYCksdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKGAke3RoaXMuX2NvbXBvbmVudENsYXNzfV9fbGFiZWwke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2xhYmVsRWwpKX1fcmVuZGVyRG90RWxlbWVudCgpe3RoaXMuX2VsLmNvbnRhaW5zKHRoaXMuX2ljb25FbCkmJnRoaXMuX2VsLnJlbW92ZUNoaWxkKHRoaXMuX2ljb25FbCksdm9pZCAwPT09dGhpcy5fZG90RWwmJih0aGlzLl9kb3RFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZG90RWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2RvdGApLHRoaXMuX2RvdEVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19kb3Qke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2RvdEVsKSl9X3JlbmRlckljb25FbGVtZW50KCl7dGhpcy5fZWwuY29udGFpbnModGhpcy5fZG90RWwpJiZ0aGlzLl9lbC5yZW1vdmVDaGlsZCh0aGlzLl9kb3RFbCksdm9pZCAwPT09dGhpcy5faWNvbkVsJiZ0aGlzLl92YWx1ZSYmKHRoaXMuX2ljb25FbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uYCksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uJHt0aGlzLl9jbGFzc1N1ZmZpeH1gKSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWwpKX19fSw4OTE3NzgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UHJpY2VDb2xvcmVyOigpPT5pfSk7dmFyIGksYT1zKDIxODgxNCksbz1zKDUwNTU2KTshZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiAwPT09dD9lJiZ2b2lkIDAhPT1lLm5ldXRyYWw/ZS5uZXV0cmFsOmEuY29sb3IuYmxhY2s3MDp0PjA/ZSYmdm9pZCAwIT09ZS51cD9lLnVwOm8uY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdOmUmJnZvaWQgMCE9PWUuZG93bj9lLmRvd246by5jb2xvcnNQYWxldHRlWyJjb2xvci1kYW5nZXIiXX10LmZvcm1hdFNpZ249ZSx0LmZvcm1hdERpZmY9ZnVuY3Rpb24odCxzKXtyZXR1cm4gZShzLXQpfSx0LmRvbURpZmZlcmVuY2U9ZnVuY3Rpb24odCxlLHM9MCxpPSIiLGE9IiIpe2Z1bmN0aW9uIG8odCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuaW5uZXJIVE1MPXQsZX1jb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKCFzKXJldHVybiBuLmFwcGVuZENoaWxkKG8odCkpLG47Y29uc3QgbD10KyIiLHI9ZSsiIjtsZXQgZD1udWxsO2lmKGwubGVuZ3RoPT09ci5sZW5ndGgpe2ZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCsrKWlmKGwuY2hhckF0KHQpIT09ci5jaGFyQXQodCkpe2Q9dDticmVha319ZWxzZSBkPU51bWJlcigiMCIpO2lmKG51bGw9PT1kKXJldHVybiBuLmFwcGVuZENoaWxkKG8obCkpLG47Y29uc3QgXz1vKGwuc3Vic3RyaW5nKDAsZCkpLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiB1LmNsYXNzTmFtZT1zPDA/aTphLHUuYXBwZW5kQ2hpbGQobyhsLnN1YnN0cmluZyhkKSkpLG4uYXBwZW5kQ2hpbGQoXyksbi5hcHBlbmRDaGlsZCh1KSxufX0oaXx8KGk9e30pKX19XSk7"}},"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.115Z","timestamp":1785120763115,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 3e3bee82cae57285f3ce93af9fb40f16\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-27T05:26:56.000391Z","times_seen":230,"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/44454.8894c4711989445f0d47.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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.508Z","timestamp":1785120763508,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/44454.8894c4711989445f0d47.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/market-overview/?locale=en\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 02:52:43 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-4870\"\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:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e8c555689014cd7d2db5eef47867158f\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/94708.73d2bca37207c67a41f4.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.756Z","timestamp":1785120763756,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/94708.73d2bca37207c67a41f4.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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/kathy.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.003Z","timestamp":1785120761003,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/kathy.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 6693\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":6693,"size_decoded":7104,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 183x275, components 3","md5":"02a17fd42eec0768b646a87c7d27d83b","sha1":"d8c32695ffc9029403e9cba53057bb3d05ef7eaa","sha256":"b0ccdfc08caf778987c3c30c561415f9dfdf773f24e8e7282e0c47f2c6db2b76","sha512":"741149f87b0ba56aaf9d690e78089414097f070dba5151053ac2e0fb0d3772d7a9b8c7cfedcb973d76d07e810a426f91d1f90d0d6189f0b9107098c1f173b540","ssdeep":"192:lw1w4BMXRqhDBgVDvbjCsr/5r0PJ8SJEUN6q8nnNFE/TyZY:0PMXRmMvbjhTR0P2YrkFE/2ZY","tlshash":"bed19e143d2661d8c262f93f4867ceb5eae6724c1120d8175a218b8bdae7e180d8dfdd","first_seen":"2024-08-19T14:44:35.704725Z","last_seen":"2026-07-27T05:24:59.885853Z","times_seen":922,"resource_available":false,"data":"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"}},"time_used":514,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":514,"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":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.601Z","timestamp":1785120761601,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.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://360trustwealthavenue.stglen.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.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: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 394947\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":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-27T05:13:02.326236Z","times_seen":247289,"resource_available":false,"data":"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"}},"time_used":82,"timings":{"blocked":24,"dns":0,"connect":0,"send":0,"wait":21,"receive":37,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js","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":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.280Z","timestamp":1785120762280,"http_version":"HTTP/2","security_state":"secure","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 /external-embedding/embed-widget-ticker-tape.js 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://360trustwealthavenue.stglen.com/\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\ndate: Mon, 27 Jul 2026 02:52:42 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"2671d4a92091986b7abd2e1e685669ca\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:29 GMT\r\nx-amz-id-2: MmO7S7qvpk7e7uAwyKi1zjeKKbKi5IBRI9Fnw08J6tdMbbVvXvrURHIxu7TxhDm94C2BFQDD1p8=\r\nx-amz-request-id: 6FDA3NKBBMZWPGT3\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: wQVqs5hr7RnUyN2oXxLylh_AKdOK0U2U\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:30:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c39530435cd8e390e86e925edbd45ae1\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"]},{"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":13608,"size_decoded":6236,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"2671d4a92091986b7abd2e1e685669ca","sha1":"b59db96af3dd1593356058703fc7af3cd7269919","sha256":"986cfef49d6a6ccd5cb1f1cbf562e8341ed581936885830831a2f4c3dc2b5901","sha512":"c07159fc500c72469ba6dfb7ccf5afdbaf476906fb039e5bfc7ab2c95e79b0067a47e6e02ad44915b9ba426273dc39996ffb1899c029253b56e4b02f7d419883","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6Or26ZMViZMEmkfknYH:uD5Unb26nD6Or26ZkFE9fknE","tlshash":"8e52d8a9b660ecbd51d945dbe07a2321b6193944b203aca4b9ecd4c510fdccca131f7e","first_seen":"2026-07-20T13:42:57.5385Z","last_seen":"2026-07-27T05:21:28.658542Z","times_seen":953,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxrLEEpLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgST10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoST8odChJLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxJKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKG4uaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLGkpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1yLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19Y29uc3QgZz03Njc7dmFyIHUsbSxwLGYsdzshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0odXx8KHU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0obXx8KG09e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KHB8fChwPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGZ8fChmPXt9KSksZnVuY3Rpb24odCl7CnRbdC5UaWNrZXJJdGVtSGVpZ2h0Tm9ybWFsPTQ0XT0iVGlja2VySXRlbUhlaWdodE5vcm1hbCIsdFt0LlRpY2tlckl0ZW1IZWlnaHRDb21wYWN0PTcyXT0iVGlja2VySXRlbUhlaWdodENvbXBhY3QifSh3fHwodz17fSkpO2NvbnN0IHk9ZztuZXcgY2xhc3MgZXh0ZW5kcyBke2dldCB3aWRnZXRJZCgpe3JldHVybiJ0aWNrZXItdGFwZSJ9Z2V0IHVzZVBhcmFtc0ZvckNvbm5lY3RTb2NrZXQoKXtyZXR1cm4hMH1maWx0ZXJSYXdTZXR0aW5ncyh0KXt2b2lkIDAhPT10LnRoZW1lJiYodC5jb2xvclRoZW1lPXQudGhlbWUpO2NvbnN0IGU9c3VwZXIuZmlsdGVyUmF3U2V0dGluZ3ModCk7bGV0IGk7ZS53aWR0aD0iMTAwJSI7dHJ5e2k9dGhpcy5pZnJhbWVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh9ZmluYWxseXtlLmhlaWdodD1mdW5jdGlvbih0LGUsaSxyKXtsZXQgcz0obj10PT09dS5BZGFwdGl2ZSYmcj9yPD15OnQ9PT11LkNvbXBhY3Qsbj83Mjo0NCk7dmFyIG47cmV0dXJuIGV8fChzKz0yKSxpJiYocys9MzIpLHN9KHQuZGlzcGxheU1vZGUsdC5pc1RyYW5zcGFyZW50LHRoaXMuaGFzQ29weXJpZ2h0KCksaSl9cmV0dXJuIGV9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWyJzeW1ib2xzIiwibG9jYWxlIiwic2hvd1N5bWJvbExvZ28iLCJjb2xvclRoZW1lIiwiaXNUcmFuc3BhcmVudCIsImxhcmdlQ2hhcnRVcmwiLCJkaXNwbGF5TW9kZSIsImN1c3RvbWVyIl19fX0pKCk7"}},"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":"api.coingecko.com/api/v3/simple/price?ids=bitcoin\u0026vs_currencies=usd\u0026include_24hr_change=true\u0026include_24hr_vol=true","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"104.20.41.132","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.922Z","timestamp":1785120762922,"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":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/simple/price?ids=bitcoin\u0026vs_currencies=usd\u0026include_24hr_change=true\u0026include_24hr_vol=true HTTP/1.1\r\nHost: api.coingecko.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://360trustwealthavenue.stglen.com/\r\nOrigin: https://360trustwealthavenue.stglen.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 02:52:43 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 2.0\r\ncache-control: max-age=30, public, must-revalidate, s-maxage=60\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\netag: W/\"0bed5e8ad6cf3f04e187939e44d1e470\"\r\nx-request-id: 9a255177-48a8-43be-bb0f-211c83f08c8a\r\nx-runtime: 0.002047\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\ncf-cache-status: EXPIRED\r\npriority: u=4,i=?0\r\ncf-ray: a21859807bb856c1-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"]}],"data":{"size":94,"size_decoded":1314,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"d90e513f84dd2254f7eaa93aec72c7f1","sha1":"88367bd1eb8a8c62c3a3d4ae5b76c7f6091c1216","sha256":"70fa47292c506073d744a3ace5ca6480806665b11e055230f94c6f9b999c996c","sha512":"58fb860fa4b4000c7e9992d4ef7c95b8c48b61948a02b863233f62ebfd8577a20338edb078f9aa89a2dc842551794cdc0e141f495307d312b43eeee204906425","ssdeep":"","tlshash":"0cb0121301200c6290b0cb639f810501eb3b3cf14c4c531c461b490450428981609ccb","first_seen":"2026-07-27T02:53:32.44178Z","last_seen":"2026-07-27T02:53:32.44178Z","times_seen":1,"resource_available":false,"data":"eyJiaXRjb2luIjp7InVzZCI6NjUxNDIsInVzZF8yNGhfdm9sIjoxNTk5NjA1MTg1My43OTAzMTgsInVzZF8yNGhfY2hhbmdlIjoxLjA2NjU4OTQ4NTA3MDc3MzF9fQ=="}},"time_used":167,"timings":{"blocked":-1,"dns":2,"connect":22,"send":0,"wait":142,"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.088Z","timestamp":1785120763088,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: f8789e5dae9e085c3e0218843e9fe49e\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-07-27T05:15:36.95546Z","times_seen":3416,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODY2N10sezI1ODY2NyhvKXtvLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxvLmV4cG9ydHNbIiNBQVBMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXBwbGUgSW5jIl0sby5leHBvcnRzWyIjQU1FWDpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nod2FiIFNob3J0LVRlcm0gVS5TLiBUcmVhc3VyeSBFVEYiXSxvLmV4cG9ydHNbIiNBTUVYOlNIWUctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFyZXMgMC01IFlFQVIgSGlnaCBZaWVsZCBDb3Jwb3JhdGUgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNBU1g6WEFGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYQVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIEFsbCBBdXN0cmFsaWFuIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYSk8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FVRENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyL0NhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0FVRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxvLmV4cG9ydHNbIiNBVURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0FVRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjQVVEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQVVEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JDQkE6SU1WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIE1FUlZBTCBJbmRleCJdLG8uZXhwb3J0c1siI0JDSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIEV1cm8iXSxvLmV4cG9ydHNbIiNCQ0hVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENhc2ggLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JFTEVYOkJFTEVYMTUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUxFWCAxNSBJbmRleCJdLG8uZXhwb3J0c1siI0JJU1Q6WFUxMDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCSVNUIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0JJVE1FWDpYQlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUU6SUJDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLG8uZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJPVi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJvdmVzcGEgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCUkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQnJhc2lsIEluZGV4Il0sby5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQlhMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJhemlsIDUwIEluZGV4Il0sby5leHBvcnRzWyIjQk1WOkNULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgU1gyMCBSVCJdLG8uZXhwb3J0c1siI0JNVjpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRm9yZCBNb3RvciBDb21wYW55Il0sby5leHBvcnRzWyIjQk1WOk1FLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0JNViBJUEMgSW5kZXgiXSxvLmV4cG9ydHNbIiNCUkxKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWxpYW4gUmVhbCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JTRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJVEkgTHRkIl0sby5leHBvcnRzWyIjQlNFOlNFTlNFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCBCU0UgU2Vuc2V4IEluZGV4Il0sby5leHBvcnRzWyIjQlRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjQlRDQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUQ0NOWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNCVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gRXVybyJdLG8uZXhwb3J0c1siI0JUQ0dCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjQlRDSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JUQ0tSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjQlRDUExOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI0JUQ1JVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQlRDVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFRoYWkgQmFodCJdLG8uZXhwb3J0c1siI0JUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gR29sZCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQlZMOlNQQkxQR1BULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gQlZMIFBlcnUgR2VuZXJhbCBJbmRleCAoUEVOKSJdLG8uZXhwb3J0c1siI0JWU1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgQm92ZXNwYSBJbmRleCJdLApvLmV4cG9ydHNbIiNDQURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDQURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0NCT0U6T0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0NCT0U6VklYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVm9sYXRpbGl0eSBTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjQ0JPVDpaQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVC1Cb25kIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3JuIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpNMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3liZWFuIE1lYWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6Wk4xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjEwIFllYXIgVC1Ob3RlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPYXQgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjMwIERheSBGZWRlcmFsIEZ1bmRzIEludGVyZXN0IFJhdGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJpY2UgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WEsxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gTWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0JPVF9NSU5JOlhXMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXaGVhdCBNaW5pIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBEb3cgSm9uZXMgKCQ1KSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0hGSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDSEZVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQ01FOkJUQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDTUUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpDQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnV0dGVyIEZ1dHVyZXMtQ2FzaCAoQ29udGludW91czogQ3VycmVudCBjb250cmFjdCBpbiBmcm9udCkiXSxvLmV4cG9ydHNbIiNDTUU6R0YxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZlZWRlciBDYXR0bGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpIRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGVhbiBIb2dzIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUU6TEUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdmUgQ2F0dGxlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUVfTUlOSTpFNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOkVTMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6SjcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOk5RMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOQVNEQVEgMTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6UlRZMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLU1pbmkgUnVzc2VsbCAyMDAwIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBRVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbml1bSBFdXJvcGVhbiBQcmVtaXVtIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBVVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbnVtIE1XIFUuUy4gVHJhbnNhY3Rpb24gUHJlbWl1bSBQbGF0dHMgKDI1TVQpIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpHQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6SEcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6U0kxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIENvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIChNaW5pKSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCAoTWluaSkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NPUFBFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIl0sby5leHBvcnRzWyIjQ09STlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29ybiJdLG8uZXhwb3J0c1siI0NPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ290dG9uIl0sby5leHBvcnRzWyIjQ1JZUFRPQ0FQOlRPVEFMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ3J5cHRvIFRvdGFsIE1hcmtldCBDYXAsICQiXSxvLmV4cG9ydHNbIiNERk06REZNR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJERk0gSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tcG9zaXRlIEF2ZXJhZ2UgSW5kZXgiXSwKby5leHBvcnRzWyIjREo6REpDSUFHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQWdyaWN1bHR1cmUgQ2FwcGVkIENvbXBvbmVudCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lDQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQ29jb2EiXSxvLmV4cG9ydHNbIiNESjpESkNJRU4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEVuZXJneSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR29sZCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR3JhaW5zIl0sby5leHBvcnRzWyIjREo6REpDSUlLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBOaWNrZWwiXSxvLmV4cG9ydHNbIiNESjpESkNJS0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvZmZlZSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lTQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggU3VnYXIiXSxvLmV4cG9ydHNbIiNESjpESkNJU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFNpbHZlciJdLG8uZXhwb3J0c1siI0RKOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVHJhbnNwb3J0YXRpb24gQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI0RKOkRKVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVdGlsaXR5IEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlVTQ0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVS5TLiBDb2FsIEluZGV4Il0sby5leHBvcnRzWyIjRUdYOkVHWDMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRUdYIDMwIEluZGV4Il0sby5leHBvcnRzWyIjRVRDQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNFVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0VUSEJUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQml0Y29pbiJdLG8uZXhwb3J0c1siI0VUSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUSEdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQnJpdGlzaCBQb3VuZCJdLG8uZXhwb3J0c1siI0VUSEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjRVRIS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjRVRIVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNFVEhVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sby5leHBvcnRzWyIjRVVSQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVSQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjRVVSQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0VVUkNIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0VVUkdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjRVVSSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0VVUk5PSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOb3J3ZWdpYW4gS3JvbmUiXSxvLmV4cG9ydHNbIiNFVVJOWkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjRVVST05FWFQ6QUVYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQUVYIEluZGV4Il0sby5leHBvcnRzWyIjRVVST05FWFQ6QkVMMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUwgMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJPTkVYVDpQWDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDQUMgNDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0VVUlJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxvLmV4cG9ydHNbIiNFVVJTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gU3dlZGlzaCBLcm9uYSJdLG8uZXhwb3J0c1siI0VVUlRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBUdXJraXNoIExpcmEiXSxvLmV4cG9ydHNbIiNFVVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNFVVNUWDUwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBTdG94eCA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0ZPUkVYQ09NOlVTMjAwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIFNtYWxsIENhcCAyMDAwIl0sCm8uZXhwb3J0c1siI0ZSQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sby5leHBvcnRzWyIjRlJFRDpHRFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHcm9zcyBEb21lc3RpYyBQcm9kdWN0LCAxIERlY2ltYWwiXSxvLmV4cG9ydHNbIiNGUkVEOlBPUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRvdGFsIFBvcHVsYXRpb246IEFsbCBBZ2VzIEluY2x1ZGluZyBBcm1lZCBGb3JjZXMgT3ZlcnNlYXMiXSxvLmV4cG9ydHNbIiNGUkVEOlVOUkFURS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNpdmlsaWFuIFVuZW1wbG95bWVudCBSYXRlIl0sby5leHBvcnRzWyIjRlRTRU1ZWDpGQk1LTENJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSBCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sby5leHBvcnRzWyIjRldCOktUMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktleSBUcm9uaWMgQ29y0YAuIl0sby5leHBvcnRzWyIjRlg6QVVTMjAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBJbmRleCJdLG8uZXhwb3J0c1siI0ZYOlVTMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sby5leHBvcnRzWyIjR0JQQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjR0JQQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0dCUENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0dCUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBFdXJvIl0sby5leHBvcnRzWyIjR0JQSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0dCUE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHQlBQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUG9saXNoIFpsb3R5Il0sby5leHBvcnRzWyIjR0JQUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIFJ1c3NpYW4gUnVibGUiXSxvLmV4cG9ydHNbIiNHQlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHRVIzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLG8uZXhwb3J0c1siI0dPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLG8uZXhwb3J0c1siI0dPT0dMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEEiXSxvLmV4cG9ydHNbIiNHUFc6QUNHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWNhdXRvZ2F6Il0sby5leHBvcnRzWyIjR1BXOldJRzIwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV0lHMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNIU0k6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjSUNFVVM6RFgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNJRFg6Q09NUE9TSVRFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSURYIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOkhTQ0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgQ2hpbmEgRW50ZXJwcmlzZXMgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpKS1NFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFrYXJ0YSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpLTFNFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1JQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQiBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1PWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6U1RJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU1RJIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6VFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOlhMWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFuZ2hhaSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJT1RVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJT1RBIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNKUE4yMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNKUFlLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjSlBZUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0pQWVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTEtPSC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxVS09JTCJdLG8uZXhwb3J0c1siI0xTRTpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nob2xpdW0gR3JvdXAgUGxjIE9yZCAxUCJdLG8uZXhwb3J0c1siI0xUQ0JSTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxvLmV4cG9ydHNbIiNMVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNMVENVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTFVOQVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkx1bmEgLyBVLlMuIERvbGxhciJdLApvLmV4cG9ydHNbIiNNT0VYOkJSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmVudCBPaWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6R0FaUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdBWlBST00iXSxvLmV4cG9ydHNbIiNNT0VYOklNT0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTU9FWCBSdXNzaWEgSW5kZXgiXSxvLmV4cG9ydHNbIiNNT0VYOk1HTlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNQUdOSVQiXSxvLmV4cG9ydHNbIiNNT0VYOk1JQ0VYSU5ERVhDRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sby5leHBvcnRzWyIjTU9FWDpNWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlDRVggSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6TVgyIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNNT0VYOlJJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6UlRTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJUUyBJbmRleCJdLG8uZXhwb3J0c1siI01PRVg6UlVBTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVuaXRlZCBDb21wYW55IFJVU0FMIFBMQyJdLG8uZXhwb3J0c1siI01PRVg6U0JFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNCRVJCQU5LIl0sby5leHBvcnRzWyIjTU9FWDpWVEJSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVlRCIl0sby5leHBvcnRzWyIjTVNGVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pY3Jvc29mdCBDb3JwLiJdLG8uZXhwb3J0c1siI05BUzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBDYXNoIENGRCJdLG8uZXhwb3J0c1siI05BU0RBUTpBTUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpHT09HLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEMiXSxvLmV4cG9ydHNbIiNOQVNEQVE6R09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLG8uZXhwb3J0c1siI05BU0RBUTpIR1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIEhvdXNpbmcgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROklFRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgNy0xMCBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sby5leHBvcnRzWyIjTkFTREFROklFSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMy03IFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRlcmlzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpJWElDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmFzZGFxIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpMQ0lELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVjaWQgR3JvdXAsIEluYy4iXSxvLmV4cG9ydHNbIiNOQVNEQVE6TEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMYW5kcycgRW5kIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpORFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROk9TWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggT2lsIFNlcnZpY2UgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlNIWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMS0zIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6U09YLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGhpbGFkZWxwaGlhIFNlbWljb25kdWN0b3IgSW5kZXgiXSxvLmV4cG9ydHNbIiNOQVNEQVE6VExULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAyMCsgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLG8uZXhwb3J0c1siI05BU0RBUTpVVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIFV0aWxpdHkgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlhBVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggR29sZCBhbmQgU2lsdmVyIFNlY3RvciBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpaUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpzY2FsZXIgSW5jIl0sby5leHBvcnRzWyIjTkVPVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTkVPIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNOR0FTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmF0dXJhbCBHYXMgKEhlbnJ5IEh1YikiXSxvLmV4cG9ydHNbIiNOS1ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOU0U6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWFuIFRlbGVwaG9uZSBJbmR1c3RyaWVzIExpbWl0ZWQiXSxvLmV4cG9ydHNbIiNOU0U6TklGVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOaWZ0eSA1MCBJbmRleCJdLG8uZXhwb3J0c1siI05ZTUVYOkFFWjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgRXRoYW5vbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6Q0oxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvY29hIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpDTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGlnaHQgQ3J1ZGUgT2lsIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpITzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgSGFyYm9yIFVMU0QgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOktUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb2ZmZWUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOk5HMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBhbGxhZGl1bSBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEwxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIEZ1dHVyZXMiXSwKby5leHBvcnRzWyIjTllNRVg6UkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJCT0IgR2Fzb2xpbmUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOlRUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3R0b24gRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYX01JTkk6UUcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIExpZ2h0IENydWRlIE9pbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRVTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIEdhc29saW5lIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWVNFOkJBQkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbGliYWJhIEdyb3VwIEhvbGRpbmdzIEx0ZC4iXSxvLmV4cG9ydHNbIiNOWVNFOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGT1JEIE1UUiBDTyBERUwiXSxvLmV4cG9ydHNbIiNOWVNFOkhFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGF3YWlpYW4gRWxlY3RyaWMgSW5kdXN0cmllcyJdLG8uZXhwb3J0c1siI05ZU0U6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlBCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBFVFJPTEVPIEJSQVNJTEVJUk8gU0EgUEVUUk9CUiJdLG8uZXhwb3J0c1siI05ZU0U6WEFYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQU1FWCBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlhNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQVJDQSBNYWpvciBNYXJrZXQgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWkRKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNOWkRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI05aWDpBTExDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL05aWCBBbGwgSW5kZXggKENhcGl0YWwgSW5kZXgpIl0sby5leHBvcnRzWyIjTlpYOk5aNTBHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gTlpYIDUwIEluZGV4IEdyb3NzIl0sby5leHBvcnRzWyIjT0FOREE6TkFUR0FTVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBOYXR1cmFsIEdhcyJdLG8uZXhwb3J0c1siI09BTkRBOlNQWDUwMFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPQU5EQTpYQ1VVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENvcHBlciAoVVMkIC8gbGIpIl0sby5leHBvcnRzWyIjT01YQ09QOk9NWEMyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBDb3BlbmhhZ2VuIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YQ09QOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvdXcgJiBDbyBBL1MiXSxvLmV4cG9ydHNbIiNPTVhIRVg6T01YSDI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIEhlbHNpbmtpIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YUlNFOk9NWFJHSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBSaWdhIEdyb3NzIEluZGV4Il0sby5leHBvcnRzWyIjT01YU1RPOk9NWFMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBTdG9ja2hvbG0gMzAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhUU0U6T01YVEdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFRhbGxpbm4gR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhWU0U6T01YVkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFZpbG5pdXMgR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPVEM6SUhSTUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIE1TQ0kgSmFwYW4gU0hTIl0sby5leHBvcnRzWyIjUVNFOkdOUkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJRRSBJbmRleCJdLG8uZXhwb3J0c1siI1JUUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NpYW4gUlRTIEluZGV4Il0sby5leHBvcnRzWyIjUlVTU0VMTDpSVUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDMwMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNSVVNTRUxMOlJVSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMTAwMCBJbmRleCJdLG8uZXhwb3J0c1siI1JVU1NFTEw6UlVULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAyMDAwIEluZGV4Il0sby5leHBvcnRzWyIjU0VUOkdDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2xvYmFsIENvbm5lY3Rpb25zIFB1YmxpYyBDb21wYW55Il0sby5leHBvcnRzWyIjU0lYOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxvLmV4cG9ydHNbIiNTSVg6U01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sby5leHBvcnRzWyIjU09MVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU29sYW5hIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNTT1lCTlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU295YmVhbnMiXSxvLmV4cG9ydHNbIiNTUDpPRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BHU0NJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEdvbGRtYW4gU2FjaHMgQ29tbW9kaXR5IEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1NQOlNWWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgVmFsdWUgSW5kZXgiXSxvLmV4cG9ydHNbIiNTUFg1MDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1VHQVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFN1Z2FyIl0sCm8uZXhwb3J0c1siI1NaU0U6Mzk5MDAxLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hlbnpoZW4gQ29tcG9uZW50IEluZGV4Il0sby5leHBvcnRzWyIjVEFEQVdVTDoyMzcwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlkZGxlIEVhc3QgU3BlY2lhbGl6ZWQgQ2FibGVzIENvLiJdLG8uZXhwb3J0c1siI1RBREFXVUw6VEFTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhZGF3dWwgQWxsIFNoYXJlcyBJbmRleCJdLG8uZXhwb3J0c1siI1RBU0U6VEEzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRBLTM1IEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRTWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9UU1ggQ29tcG9zaXRlIEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRYNjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIDYwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkFVMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpBVTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkFYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkJYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6Q0ExMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNhbmFkaWFuIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkNBMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpDQUM0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpDTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpDTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNoaW5hIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6Q1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRFMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHZXJtYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpERTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkRFVTMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RFhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTcGFpbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkVVQlVORC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQnVuZCJdLG8uZXhwb3J0c1siI1RWQzpFWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkZSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGcmFuY2UgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpGUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkZUTUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlsYW5vIEl0YWxpYSBCb3JzYSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpHQjAyLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAyIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpHT0xELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBHb2xkIChVUyQgLyBPWikiXSxvLmV4cG9ydHNbIiNUVkM6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOklCRVgzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCRVggMzUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6SUQwMy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDMgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SUQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklEMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOklUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRhbHkgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLApvLmV4cG9ydHNbIiNUVkM6SVhJQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpKUDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpKUDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktPU1BJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgQ29tcG9zaXRlIFN0b2NrIFByaWNlIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLb3JlYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOktSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpNWTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWFsYXlzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpNWTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TkRYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5JMjI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gMjI1IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5MMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXRoZXJsYW5kcyBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpOTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6TloxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOk5aMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQQUxMQURJVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBhbGxhZGl1bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBMMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlBMQVRJTlVNLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQbGF0aW51bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOlBUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9ydHVnYWwgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpTQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU291dGggQWZyaWNhIFRvcCA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTSUxWRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFNpbHZlciAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlNQWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6U1NNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIE1hcmtldCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTdHJhaXRzIFRpbWVzIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYNUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlRSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUdXJrZXkgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpUUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlVLT0lMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBCcmVudCBDcnVkZSBPaWwiXSxvLmV4cG9ydHNbIiNUVkM6VUtYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlVTMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVMwMlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMwNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzA1WS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpVUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMzAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdUSSBDcnVkZSBPaWwiXSwKby5leHBvcnRzWyIjVFZDOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpaWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sby5leHBvcnRzWyIjVFdTRTpUQUlFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBDYXBpdGFsaXphdGlvbiBXZWlnaHRlZCBTdG9jayBJbmRleCJdLG8uZXhwb3J0c1siI1RXVFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUd2l0dGVyIEluYyJdLG8uZXhwb3J0c1siI1VLMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSAxMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNVS09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChCcmVudCkiXSxvLmV4cG9ydHNbIiNVTklVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbmlzd2FwIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI1VTREFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjVVNEQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDYW5hZGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sby5leHBvcnRzWyIjVVNEQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNVU0RES0stc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIERhbmlzaCBLcm9uZSJdLG8uZXhwb3J0c1siI1VTREVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRXVybyJdLG8uZXhwb3J0c1siI1VTREdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG91bmQgU3RlcmxpbmciXSxvLmV4cG9ydHNbIiNVU0RIS0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEhvbmcgS29uZyBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RIVUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEh1bmdhcmlhbiBGb3JpbnQiXSxvLmV4cG9ydHNbIiNVU0RJRFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1cGlhaCJdLG8uZXhwb3J0c1siI1VTRElMUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSXNyYWVsaSBTaGVrZWwiXSxvLmV4cG9ydHNbIiNVU0RJTlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEluZGlhbiBSdXBlZSJdLG8uZXhwb3J0c1siI1VTREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjVVNES1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBLb3JlYW4iXSxvLmV4cG9ydHNbIiNVU0RNWE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIE1leGljYW4gUGVzbyJdLG8uZXhwb3J0c1siI1VTRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEUEhQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQaGlsaXBwaW5lIHBlc28iXSxvLmV4cG9ydHNbIiNVU0RQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI1VTRFJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI1VTRFJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUgVE9NIl0sby5leHBvcnRzWyIjVVNEU0VLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTd2VkaXNoIEtyb25hIl0sby5leHBvcnRzWyIjVVNEU0dELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTaW5nYXBvcmUgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNVU0RUUlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFR1cmtpc2ggTGlyYSJdLG8uZXhwb3J0c1siI1VTRFpBUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU291dGggQWZyaWNhbiBSYW5kIl0sby5leHBvcnRzWyIjVVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoV1RJKSJdLG8uZXhwb3J0c1siI1dIRUFUVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBXaGVhdCJdLG8uZXhwb3J0c1siI1hBR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEFVVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBTcG90IC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYQlRDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEVUUjpEQVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxvLmV4cG9ydHNbIiNYTVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNb25lcm8gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI1hQRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIl0sCm8uZXhwb3J0c1siI1hQVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYUlBCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBCaXRjb2luIl0sby5leHBvcnRzWyIjWFJQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gRXVybyJdLG8uZXhwb3J0c1siI1hSUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWkVDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWmNhc2ggLyBVLlMuIERvbGxhciJdfX1dKTs="}},"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/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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.466Z","timestamp":1785120763466,"http_version":"HTTP/2","security_state":"","security_info":null,"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/ticker-tape/?locale=en\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 02:52:43 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: f4bfeb7f6396ce8dc279b9a0407ae1f3\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/3552.4c5535183b7a0330a89d.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.551Z","timestamp":1785120763551,"http_version":"","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/imge5.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.999Z","timestamp":1785120760999,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/imge5.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 7183\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":7183,"size_decoded":7594,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 183x275, components 3","md5":"65f85ec2061623b57c4abf30d78a394d","sha1":"37a27e6f2eee438f1a60f0126f758565dc802d3f","sha256":"1b7691c96ed7c42b5e2da00a3f7b0cc0f7240032d716ba490c108985603c0ce9","sha512":"99f51f95a1d5b0441b0cdca2712113752f07561a338de0c1fcea48d7b8d0d6df38087833df2415e70ba9373abedec8ae665fad6de4db447e1f3ea31aa2b10d00","ssdeep":"192:SaFIfENWSmLLc/MjLWbLkQmuZY1iUyZJbT8WhahWq+t:SaOfaG3cUuYcUyHTvB","tlshash":"75e19f8f2f3b6830f61e273680a755590751b8033c8cdf8a95a17e9532727b51c3a6bd","first_seen":"2024-08-19T14:44:35.702643Z","last_seen":"2026-07-27T05:24:59.861079Z","times_seen":927,"resource_available":false,"data":"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"}},"time_used":518,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":505,"receive":13,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.woff2","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.24.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.604Z","timestamp":1785120761604,"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":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.woff2 HTTP/1.1\r\nHost: cdnjs.cloudflare.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://360trustwealthavenue.stglen.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css\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\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: application/octet-stream; charset=utf-8\r\ncontent-length: 108020\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\nlast-modified: Mon, 27 Mar 2023 17:46:59 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=NovDSBbWouw1AxcuCltPy77xpHDqH9slzEa9nI1%2FHnUoC%2FQFgyOeBRppVqGlFo6vOzKib%2B6KXCkhF2V%2BfbqqxCDHAkukcMuiOzgrvl8QLwt%2BWo9DL4gPoPH8R82rl03sbphb9qXU\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=5,i=?0\r\nserver: cloudflare\r\ncf-ray: a21859781f2b4e4c-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"]}],"data":{"size":108020,"size_decoded":109010,"mime_type":"application/octet-stream; charset=utf-8","magic":"Web Open Font Format (Version 2), TrueType, length 108020, version 772.256","md5":"8b0ddedbb27cbc9971c8667caa8a0cc1","sha1":"4350f9ba93384634faf35f41c503c99c767f1069","sha256":"748332090c4b8e20f95d0ff59f0be20fa9c889359d3b36d4b886d73376054207","sha512":"d3b4791b988fcfd9911a2158163d0c44d6797650890b5d4ac769417e09d8fc2c67edc595be8e7927de0519a85eeb3577d0c7e385bdc99d762c7a6cfbad021b39","ssdeep":"3072:MUdDCdwgz0kLytDzAUhcJz8zfleLXsg4OEpUtbeONfQfG:1d+dNBBh8zflIWGP9Qe","tlshash":"8db312128031ef76fd4aa621de6b1807b03da30b67f249a9ded46a37c050997b471b4f","first_seen":"2023-04-09T20:30:06Z","last_seen":"2026-07-27T05:09:56.284323Z","times_seen":23587,"resource_available":false,"data":"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"}},"time_used":53,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":44,"receive":8,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.255Z","timestamp":1785120762255,"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=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\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: Sun, 26 Jul 2026 03:51:22 GMT\r\netag: \"8305fed86a2e2e09d8372e143ede512e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 82885\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: p979wFIMGgkuaFFdM5pEGh4sOK0U9R5GifDzN3Jdrm_kph3tsSzLJA==\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":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-07-27T05:24:59.937192Z","times_seen":993,"resource_available":false,"data":"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"}},"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/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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.499Z","timestamp":1785120763499,"http_version":"HTTP/2","security_state":"","security_info":null,"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/market-overview/?locale=en\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 02:52:43 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: 71e531353dcde62ab520edac2f33eb25\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/js/spreads-home.js","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.974Z","timestamp":1785120760974,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/js/spreads-home.js HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\nx-powered-by: PHP/8.2.29\r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 415\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"PHP:8.2.29","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":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":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-07-27T05:14:11.3544Z","times_seen":17556491,"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":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"widget.coinlib.io/widget?type=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","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://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.855Z","timestamp":1785120761855,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505 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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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 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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=gVyzb4l3vBmL6xbOEs66s5LsZ0eH9vRICSENBj%2B38p2C5VPpqRZgKKf1sNPuz0faAeZ1welHR8ZZZQZraWQQT9zgC8olyrVnwlf9k0tuIWbs%2FzCHdqaguD6KR2KoHmFA%2BpZzLg%3D%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: a21859799bdc0daa-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-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":null}},"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.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.150.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/Gc2en3nHxA4","date":"2026-07-27T02:52:42.031Z","timestamp":1785120762031,"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/Gc2en3nHxA4\r\nCookie: __Secure-YNID=20.YT=bAUqAsWtUq0QI5lnbjhRqZxHGZTeQ44xv158_wDI-OREM7hGFwdQh-Fnn22UwtwKdRs2XmKd7gTrEAoqaDWooWex7Ez6kTDTNUcX8LsL0A97B1hbdocm9avbwiNvbxX0qKi_6wfFS1CnewvwpgMiqR_UIe99ateBO-McP73c1Zzq_nQj0oz29qM3VrxL5dXw0BXSrEg6LS26egZNxmOWqDoWCXOgjnuJW9prHYJaiNfGFA8qaLg9BKawO80BA2HUa848WVC3wn7FXVdvLYKmvluEfWi0SBv3Xu-C7jzQzWIv3w_HURzWyX7xi17bUcvikavkbkw21f4nJLdMk19TRw; YSC=FCnieG1ugZQ; __Secure-ROLLOUT_TOKEN=CM2d7q3Og7rzjQEQvpaNh-3xlQMYvpaNh-3xlQM%3D; VISITOR_INFO1_LIVE=WjWmnUIpJks; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgTg%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: Thu, 23 Jul 2026 00:08:44 GMT\r\nexpires: Fri, 23 Jul 2027 00:08:44 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: 355438\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-27T05:15:36.976554Z","times_seen":1370,"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":47,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":19,"receive":28,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.148Z","timestamp":1785120762148,"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=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\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: 2302\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: T5nCo5JeE-oTWVFZRCmArN_gmcaV7dhSatUt6zPzy-lES0vAn0p4-Q==\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":2855,"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-07-27T05:24:59.914621Z","times_seen":17169,"resource_available":false,"data":"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"}},"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":"360trustwealthavenue.stglen.com/storage/app/public/photos/2BszJgit831iWfsWg487mTTTxcd7MLSm4gx1rSNJ.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:43.395Z","timestamp":1785120763395,"http_version":"HTTP/3","security_state":"","security_info":null,"request":{"raw":"GET /storage/app/public/photos/2BszJgit831iWfsWg487mTTTxcd7MLSm4gx1rSNJ.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:43 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 15 Feb 2026 10:44:35 GMT\r\naccept-ranges: bytes\r\ncontent-length: 4748\r\ndate: Mon, 27 Jul 2026 02:52:43 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":0,"mime_type":"image/jpeg","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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=360trustwealthavenue.stglen.com%2F\u0026ancestor-origin=360trustwealthavenue.stglen.com\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.226","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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.396Z","timestamp":1785120763396,"http_version":"HTTP/1.1","security_state":"","security_info":null,"request":{"raw":"GET /socket.io/websocket?from=widgetembed%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=360trustwealthavenue.stglen.com%2F\u0026ancestor-origin=360trustwealthavenue.stglen.com\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: dCCVIB/zk3qt1An8Sgk6+w==\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 02:52:43 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: sIatJKzKtP4KaEX9u8v/2nPDx3U=\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":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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/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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.974Z","timestamp":1785120761974,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 3808278\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 02:52:41 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=3Um45UCgNYTn%2Fwj75XfcEf8rBjvrapHUWuT0r7E4RX3PwrBxL%2Fo850Ekp4qLZUkSP5LCn1%2F6h2Su6iU10%2BGx02HqwhcT3kVxHUvuGAU8nwOsGuDfzZgJQ0Gxmo1x\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a6beb0daa-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":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-07-27T05:24:59.926271Z","times_seen":1196,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQyMDkyLGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDc1MjAxKSxyPShlLHQscixuLHMsYSxvLGwpPT57bGV0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG09WyJsaWdodCIsImRhcmsiXTtmdW5jdGlvbiBjKHQpe3ZhciByOyhBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mb3JFYWNoKGU9PntsZXQgcj0iY2xhc3MiPT09ZSxuPXImJmE/cy5tYXAoZT0+YVtlXXx8ZSk6cztyPyhpLmNsYXNzTGlzdC5yZW1vdmUoLi4ubiksaS5jbGFzc0xpc3QuYWRkKGEmJmFbdF0/YVt0XTp0KSk6aS5zZXRBdHRyaWJ1dGUoZSx0KX0pLHI9dCxsJiZtLmluY2x1ZGVzKHIpJiYoaS5zdHlsZS5jb2xvclNjaGVtZT1yKX1pZihuKWMobik7ZWxzZSB0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0odCl8fHIsbj1vJiYic3lzdGVtIj09PWU/d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOmU7YyhuKX1jYXRjaChlKXt9fSxuPVsibGlnaHQiLCJkYXJrIl0scz0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIsYT0idSI8dHlwZW9mIHdpbmRvdyxvPXQuY3JlYXRlQ29udGV4dCh2b2lkIDApLGw9e3NldFRoZW1lOmU9Pnt9LHRoZW1lczpbXX0saT0oKT0+e3ZhciBlO3JldHVybiBudWxsIT0oZT10LnVzZUNvbnRleHQobykpP2U6bH0sbT1lPT50LnVzZUNvbnRleHQobyk/dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxlLmNoaWxkcmVuKTp0LmNyZWF0ZUVsZW1lbnQoZCx7Li4uZX0pLGM9WyJsaWdodCIsImRhcmsiXSxkPSh7Zm9yY2VkVGhlbWU6ZSxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOnI9ITEsZW5hYmxlU3lzdGVtOmE9ITAsZW5hYmxlQ29sb3JTY2hlbWU6bD0hMCxzdG9yYWdlS2V5Omk9InRoZW1lIix0aGVtZXM6bT1jLGRlZmF1bHRUaGVtZTpkPWE/InN5c3RlbSI6ImxpZ2h0IixhdHRyaWJ1dGU6cD0iZGF0YS10aGVtZSIsdmFsdWU6YixjaGlsZHJlbjp2LG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pPT57bGV0W3csU109dC51c2VTdGF0ZSgoKT0+aChpLGQpKSxbQyxFXT10LnVzZVN0YXRlKCgpPT4ic3lzdGVtIj09PXc/ZigpOncpLGs9Yj9PYmplY3QudmFsdWVzKGIpOm0sQT10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD1lO2lmKCF0KXJldHVybjsic3lzdGVtIj09PWUmJmEmJih0PWYoKSk7bGV0IHM9Yj9iW3RdOnQsbz1yP3koZyk6bnVsbCxpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxtPWU9PnsiY2xhc3MiPT09ZT8oaS5jbGFzc0xpc3QucmVtb3ZlKC4uLmspLHMmJmkuY2xhc3NMaXN0LmFkZChzKSk6ZS5zdGFydHNXaXRoKCJkYXRhLSIpJiYocz9pLnNldEF0dHJpYnV0ZShlLHMpOmkucmVtb3ZlQXR0cmlidXRlKGUpKX07aWYoQXJyYXkuaXNBcnJheShwKT9wLmZvckVhY2gobSk6bShwKSxsKXtsZXQgZT1uLmluY2x1ZGVzKGQpP2Q6bnVsbCxyPW4uaW5jbHVkZXModCk/dDplO2kuc3R5bGUuY29sb3JTY2hlbWU9cn1udWxsPT1vfHxvKCl9LFtnXSksTD10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lKHcpOmU7Uyh0KTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaSx0KX1jYXRjaChlKXt9fSxbd10pLFA9dC51c2VDYWxsYmFjayh0PT57RShmKHQpKSwic3lzdGVtIj09PXcmJmEmJiFlJiZBKCJzeXN0ZW0iKX0sW3csZV0pO3QudXNlRWZmZWN0KCgpPT57bGV0IGU9d2luZG93Lm1hdGNoTWVkaWEocyk7cmV0dXJuIGUuYWRkTGlzdGVuZXIoUCksUChlKSwoKT0+ZS5yZW1vdmVMaXN0ZW5lcihQKX0sW1BdKSx0LnVzZUVmZmVjdCgoKT0+e2xldCBlPWU9PntlLmtleT09PWkmJihlLm5ld1ZhbHVlP1MoZS5uZXdWYWx1ZSk6TChkKSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsZSksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdG9yYWdlIixlKX0sW0xdKSx0LnVzZUVmZmVjdCgoKT0+e0EobnVsbCE9ZT9lOncpfSxbZSx3XSk7bGV0IE89dC51c2VNZW1vKCgpPT4oe3RoZW1lOncsc2V0VGhlbWU6TCxmb3JjZWRUaGVtZTplLHJlc29sdmVkVGhlbWU6InN5c3RlbSI9PT13P0M6dyx0aGVtZXM6YT9bLi4ubSwic3lzdGVtIl06bSxzeXN0ZW1UaGVtZTphP0M6dm9pZCAwfSksW3csTCxlLEMsYSxtXSk7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLlByb3ZpZGVyLHt2YWx1ZTpPfSx0LmNyZWF0ZUVsZW1lbnQodSx7Zm9yY2VkVGhlbWU6ZSxzdG9yYWdlS2V5OmksYXR0cmlidXRlOnAsZW5hYmxlU3lzdGVtOmEsZW5hYmxlQ29sb3JTY2hlbWU6bCxkZWZhdWx0VGhlbWU6ZCx2YWx1ZTpiLHRoZW1lczptLG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pLHYpfSx1PXQubWVtbygoe2ZvcmNlZFRoZW1lOmUsc3RvcmFnZUtleTpuLGF0dHJpYnV0ZTpzLGVuYWJsZVN5c3RlbTphLGVuYWJsZUNvbG9yU2NoZW1lOm8sZGVmYXVsdFRoZW1lOmwsdmFsdWU6aSx0aGVtZXM6bSxub25jZTpjLHNjcmlwdFByb3BzOmR9KT0+e2xldCB1PUpTT04uc3RyaW5naWZ5KFtzLG4sbCxlLG0saSxhLG9dKS5zbGljZSgxLC0xKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiLHsuLi5kLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxub25jZToidSI8dHlwZW9mIHdpbmRvdz9jOiIiLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6YCgke3IudG9TdHJpbmcoKX0pKCR7dX0pYH19KX0pLGg9KGUsdCk9PntsZXQgcjtpZighYSl7dHJ5e3I9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSl8fHZvaWQgMH1jYXRjaChlKXt9cmV0dXJuIHJ8fHR9fSx5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBlJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiosKjo6YmVmb3JlLCo6OmFmdGVyey13ZWJraXQtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbW96LXRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7LW8tdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbXMtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fSIpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpLCgpPT57d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSksc2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQodCl9LDEpfX0sZj1lPT4oZXx8KGU9d2luZG93Lm1hdGNoTWVkaWEocykpLGUubWF0Y2hlcz8iZGFyayI6ImxpZ2h0Iik7ZS5zKFsiVGhlbWVQcm92aWRlciIsKCk9Pm0sInVzZVRoZW1lIiwoKT0+aV0pfSw4MzY2MSxlPT57InVzZSBzdHJpY3QiO3ZhciB0PWUuaSg5ODEzNCkscj1lLmkoNDIwOTIpO2Z1bmN0aW9uIG4oe2NoaWxkcmVuOmV9KXtyZXR1cm4oMCx0LmpzeCkoci5UaGVtZVByb3ZpZGVyLHthdHRyaWJ1dGU6ImNsYXNzIixkZWZhdWx0VGhlbWU6ImRhcmsiLGVuYWJsZVN5c3RlbTohMCxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOiEwLGNoaWxkcmVuOmV9KX1lLnMoWyJUaGVtZVByb3ZpZGVyIiwoKT0+bl0pfV0pOw=="}},"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/27075.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.267Z","timestamp":1785120762267,"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=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\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: 1377\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: DZq-ErXY7VgYGVyG6IuvhVI5UdrO-Ot5ppDCKyLTBf99pyUp2oM2uw==\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":3758,"size_decoded":4329,"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-07-27T05:24:59.941581Z","times_seen":980,"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/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%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://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.924Z","timestamp":1785120762924,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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/ticker-tape/?locale=en 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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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/2 200 \r\ndate: Mon, 27 Jul 2026 02:52:42 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 02:52:46 GMT\r\ncontent-security-policy: base-uri 'none'; 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-mijOFLKMMQsoQ40wYNl0Dw=='; default-src 'self' https: data: blob: wss: 'unsafe-inline'; object-src '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 02:52:34\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2f411a9711ffc8ec9aceb20101ecfe6e\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":"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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"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":52009,"size_decoded":17381,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"58556de997f77bc8e5ab39d9dd021bf3","sha1":"4a37272cb7a27414a023f125eb0e1167b9a8f8d7","sha256":"9169d29d9f0f116c67df0e45a89f5373e63abcfe1e6c727ead97427d7c74a0ca","sha512":"6cec99d7225adbfc47fee170dbc95788c80d8b4cf158411f2f678790ee6becf1f6341872c823819077055ba1bf31bc984ccc46f0ba71175007828768a26c4785","ssdeep":"1536:Dp8RteetNzfMO53tCqNogd73eWn+66ceuvRMY:Dp8RteetNzfMO53tCqNlqWe4MY","tlshash":"fe33e75788098b05ead64a057c33b203f92903a89552689479acdcdc159ffc2f1a7bfe","first_seen":"2026-07-27T02:53:32.299831Z","last_seen":"2026-07-27T02:54:36.80208Z","times_seen":3,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UaWNrZXIgVGFwZSBXaWRnZXQ8L3RpdGxlPgoKCTxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KCgk8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM5MDcwLjU1Y2JjN2ExZGE5NjNiMzgyOWIzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NjkwNy5jNWFmOGFhN2I1MDgyYjE4NzVhNS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjgxNi4zNTVkNzViMjFhZTRiNTM0YTg0OS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80MzMyNS4yNTZmYTVhNTIxM2I5Y2I3MGY1Yy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA1LjY4MmU4OWVmMmRjNGM3MDQyM2M2LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzE1OTMyLjJhNzBkMzk3YzM0ZjJlOWRlOTRmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxNTA4Ljc2NzIxOTI4M2M2NWY0ZDRjYTZlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg0MDguZGU1MzQ2NjNlMDUyMDc1YmExMmYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODAwOTcuMGEzY2ZkYzI4MDI4Nzk1MjJhZWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cgo8c2NyaXB0IG5vbmNlPSJtaWpPRkxLTU1Rc29RNDB3WU5sMER3PT0iPgoJd2luZG93LmxvY2FsZSA9ICdlbic7Cgl3aW5kb3cubGFuZ3VhZ2UgPSAnZW4nOwo8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9Im1pak9GTEtNTVFzb1E0MHdZTmwwRHc9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7PC9zY3JpcHQ+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjJmNzc3YzIzYjY2MGQ4MzBhNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM1Mi4zMzAxMWYyNDRiOTJlYTBiNjQyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc5MjA3LjZhNjJmYzgwM2QzZDA3ODk4OTM2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83Mjc4LjczODc1OWVmMGFjMzM0NjkyNTNiLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODc5MjYuOGFiOWNmZWRlMTYyOTUxMDcwMTcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjVjOTBkYzZkNDEzMTlmMTMyZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+PHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF90aWNrZXJfdGFwZV93aWRnZXQuOTYyZjc3N2MyM2I2NjBkODMwYTUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjkzNTIuMzMwMTFmMjQ0YjkyZWEwYjY0MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQ3MDguNzNkMmJjYTM3MjA3YzY3YTQxZjQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83OTIwNy42YTYyZmM4MDNkM2QwNzg5ODkzNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzcyNzguNzM4NzU5ZWYwYWMzMzQ2OTI1M2IuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg3OTI2LjhhYjljZmVkZTE2Mjk1MTA3MDE3LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfdGlja2VyX3RhcGVfd2lkZ2V0Ljk2NWM5MGRjNmQ0MTMxOWYxMzJkLmpzIiBkZWZlcj48L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJtaWpPRkxLTU1Rc29RNDB3WU5sMER3PT0iPndpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjMsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC4zfTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwiZGlzcGxheU1vZGUiOiJhZGFwdGl2ZSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZSwic3ltYm9scyI6W3sicHJvTmFtZSI6IkZPUkVYQ09NOlNQWFVTRCIsInRpdGxlIjoiUyZQIDUwMCBJbmRleCJ9LHsicHJvTmFtZSI6IkZPUkVYQ09NOk5TWFVTRCIsInRpdGxlIjoiVVMgMTAwIENhc2ggQ0ZEIn0seyJwcm9OYW1lIjoiRlhfSURDOkVVUlVTRCIsInRpdGxlIjoiRVVSIHRvIFVTRCJ9LHsicHJvTmFtZSI6IkJJVFNUQU1QOkJUQ1VTRCIsInRpdGxlIjoiQml0Y29pbiJ9LHsicHJvTmFtZSI6IkJJVFNUQU1QOkVUSFVTRCIsInRpdGxlIjoiRXRoZXJldW0ifV0sImNvbG9yVGhlbWUiOiJsaWdodCIsImxvY2FsZSI6ImVuIn19OwoJCXdpbmRvdy5pbml0RGF0YS5jdXJyZW50TG9jYWxlSW5mbyA9IHsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9OwoJCXdpbmRvdy5pbml0RGF0YS5zZXR0aW5ncyA9IHsnUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLycsICdTM19ORVdTX0lNQUdFX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vbmV3cy8nLCAnV0VCUEFDS19TVEFUSUNfUEFUSCc6ICdodHRwczovL3N0YXRpYy50cmFkaW5ndmlldy5jb20vc3RhdGljL2J1bmRsZXMvJywgJ1RSQURJTkdfVVJMUyc6IHsnZnJlZSc6ICdodHRwczovL3BhcGVydHJhZGluZy1mcmVlLnRyYWRpbmd2aWV3LmNvbScsICdwcm8nOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmcudHJhZGluZ3ZpZXcuY29tJ30sICdDT05URVNUU19VUkwnOiAnL3BhcGVyLXRyYWRpbmcnLCAnQ1JVRF9TVE9SQUdFX1VSTCc6ICdodHRwczovL2NydWQtc3RvcmFnZS50cmFkaW5ndmlldy5jb20nfTs8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJtaWpPRkxLTU1Rc29RNDB3WU5sMER3PT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBlPXt3aGl0ZWxhYmVsOiEwLHBlcm1pc3Npb25PdmVycmlkZXM6ITAsbGlua0NhcHR1cmluZ0FsbG93ZWQ6ITAsc3ltYm9sX3NlYXJjaF9kZWZhdWx0X2V4Y2hhbmdlOiEwLHN5bWJvbF9zZWFyY2hfYWxsb3dlZF9leGNoYW5nZXM6ITB9O2NvbnN0IHQ9d2luZG93O3QuaW5pdERhdGE9dC5pbml0RGF0YXx8e307Y29uc3QgYT0vXCsvZyxuPS88XC8/W14+XSsoPnwkKS9nLHM9ZT0+ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShhLCIgIikpLnJlcGxhY2UobiwiIiksbz10LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSksYz0vKFteJj1dKyk9PyhbXiZdKikvZyxpPXt9O2xldCBsLHI9Yy5leGVjKG8pO2Zvcig7bnVsbCE9PXI7KWlbcyhyWzFdKV09cyhyWzJdKSxyPWMuZXhlYyhvKTt0cnl7bD1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh0LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSksIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bHx8KGw9e30pfWNhdGNoKGUpe2w9e319dmFyIGg7dC5pbml0RGF0YS5xdWVyeVNldHRpbmdzPWksdC5pbml0RGF0YS5oYXNoU2V0dGluZ3M9KGg9bCxPYmplY3Qua2V5cyhoKS5mb3JFYWNoKCh0PT57ZVt0XSYmZGVsZXRlIGhbdF19KSksaCl9KSgpOwoJPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0ibWlqT0ZMS01NUXNvUTQwd1lObDBEdz09Ij53aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCQl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0ibWlqT0ZMS01NUXNvUTQwd1lObDBEdz09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjsKCQl3aW5kb3cuQlVJTERfVElNRSA9ICIyMDI2LTA3LTI0VDExOjQwOjA4IjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1QgPSAid2lkZ2V0ZGF0YS50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNUID0gIndpZGdldGRhdGEtYmFja3VwLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LnVzZXIgPSB7J3VzZXJuYW1lJzogJ0d1ZXN0JywgJ2ZvbGxvd2luZyc6ICcwJywgJ2ZvbGxvd2Vycyc6ICcwJywgJ2lnbm9yZV9saXN0Jzoge30sICdkb19ub3RfdHJhY2snOiB0cnVlfTs8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9Im1pak9GTEtNTVFzb1E0MHdZTmwwRHc9PSI+bGV0IHBhcmFtcyA9IHt9OwoJCQljb25zdCBodHRwUmVnID0gbmV3IFJlZ0V4cCgnXmh0dHAocyk/Oi8vJyk7CgoJCQl0cnkgewoJCQkJcGFyYW1zID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKTsKCQkJfSBjYXRjaCAoZSkgewoJCQkJcGFyYW1zID0ge307CgkJCX0KCgkJCXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyA9IHsKCQkJCSd3c19hbmNlc3Rvcl9vcmlnaW4nOiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zICYmIHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoID8gd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1t3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCAtIDFdLnJlcGxhY2UoaHR0cFJlZywgJycpIDogbnVsbCwKCQkJCSd3c19wYWdlX3VyaSc6IHBhcmFtc1sncGFnZS11cmknXSwKCQkJfTsoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpufT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBzPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHBfbmV3Iiksbz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lKyI9IixuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtsZXQgcz1uW2VdO2Zvcig7IiAiPT09cy5jaGFyQXQoMCk7KXM9cy5zdWJzdHJpbmcoMSxzLmxlbmd0aCk7aWYoMD09PXMuaW5kZXhPZih0KSlyZXR1cm4gcy5zdWJzdHJpbmcodC5sZW5ndGgscy5sZW5ndGgpfXJldHVybiBudWxsfSgidHZfYXBwIil8fCIiO3N8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IXMpfHwhKCJuZXciPT09ZXx8IW8pfWNvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yLG49dCYmIm9udG91Y2hzdGFydCJpbiB3aW5kb3cscz0odCYmbiYmd2luZG93LHQmJihufHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpLHQmJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSx0JiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImZpcmVmb3giKSx0JiYvXHNFZGdlXC9cZFxkXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdCYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJGeGlPUyIpLHQmJi9tYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL1dpbjMyfFdpbjY0L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9MaW51eC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpLG89dCYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGk9dCYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyPXQmJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxjPXQmJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksYT1zfHxvfHxpfHxyO2NvbnN0IF89bmV3IE1hcDtmdW5jdGlvbiBkKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxuPWAke3R9JHtlfWA7cmV0dXJuIF8uaGFzKG4pfHxfLnNldChuLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG4paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHM9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxvPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IGk7Zm9yKGxldCBlPXMubGVuZ3RoLTE7ZT49MDtlLS0paWYoaT1uZXcgUmVnRXhwKHNbZV0pLGkudGVzdChvKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksXy5nZXQobik/PyExfWNvbnN0IGg9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbD17QW5kcm9pZDooKT0+cyxCbGFja0JlcnJ5OigpPT5vLGlPUzooKT0+aSxPcGVyYTooKT0+cixpc0lQYWQ6KCk9PmMsYW55OigpPT5hfTtoLmlzTW9iaWxlPWwsaC5vbldpZGdldD1kO2NvbnN0IHU9KCk9Pnt9LGc9In5tfiI7Y2xhc3MgbXtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuc2Vzc2lvbmlkPW51bGwsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2Jhc2U9ZSx0aGlzLl9vcHRpb25zPXt0aW1lb3V0OnQudGltZW91dHx8MmU0LGNvbm5lY3Rpb25UeXBlOnQuY29ubmVjdGlvblR5cGUsYXBpS2V5OnQuYXBpS2V5fX1jb25uZWN0KCl7dGhpcy5fc29ja2V0PW5ldyBXZWJTb2NrZXQodGhpcy5fcHJlcGFyZVVybCgpKSwKdGhpcy5fc29ja2V0Lm9ubWVzc2FnZT1lPT57aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIFdlYlNvY2tldCBtZXNzYWdlIHNob3VsZCBiZSBhIHN0cmluZy4gUmVjaWV2ZWQgJHtPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZS5kYXRhKX1gKTt0aGlzLl9vbkRhdGEoZS5kYXRhKX0sdGhpcy5fc29ja2V0Lm9uY2xvc2U9dGhpcy5fb25DbG9zZS5iaW5kKHRoaXMpLHRoaXMuX3NvY2tldC5vbmVycm9yPXRoaXMuX29uRXJyb3IuYmluZCh0aGlzKX1zZW5kKGUpe3RoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnNlbmQodGhpcy5fZW5jb2RlKGUpKX1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9dSx0aGlzLl9zb2NrZXQub25jbG9zZT11LHRoaXMuX3NvY2tldC5vbmVycm9yPXUsdGhpcy5fc29ja2V0LmNsb3NlKCkpfV9jbGVhcklkbGVUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsKX1fZW5jb2RlKGUpe2xldCB0LG49IiI7Y29uc3Qgcz1BcnJheS5pc0FycmF5KGUpP2U6W2VdLG89cy5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxvO2UrKyl0PW51bGw9PT1zW2VdfHx2b2lkIDA9PT1zW2VdPyIiOm0uX3N0cmluZ2lmeShzW2VdKSxuKz1nK3QubGVuZ3RoK2crdDtyZXR1cm4gbn1fZGVjb2RlKGUpe2NvbnN0IHQ9W107bGV0IG4scztkb3tpZihlLnN1YnN0cmluZygwLDMpIT09ZylyZXR1cm4gdDtuPSIiLHM9IiI7Y29uc3Qgbz0oZT1lLnN1YnN0cmluZygzKSkubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8bzt0Kyspe2lmKHM9TnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSksTnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSkhPT1zKXtlPWUuc3Vic3RyaW5nKG4ubGVuZ3RoKzMpLG49TnVtYmVyKG4pO2JyZWFrfW4rPXN9dC5wdXNoKGUuc3Vic3RyaW5nKDAsbikpLGU9ZS5zdWJzdHJpbmcobil9d2hpbGUoIiIhPT1lKTtyZXR1cm4gdH1fb25EYXRhKGUpe3RoaXMuX3NldFRpbWVvdXQoKTtjb25zdCB0PXRoaXMuX2RlY29kZShlKSxuPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5fb25NZXNzYWdlKHRbZV0pfV9zZXRUaW1lb3V0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9vblRpbWVvdXQuYmluZCh0aGlzKSx0aGlzLl9vcHRpb25zLnRpbWVvdXQpfV9vblRpbWVvdXQoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9vbkRpc2Nvbm5lY3Qoe2NvZGU6NGUzLHJlYXNvbjoic29ja2V0LmlvIHRpbWVvdXQiLHdhc0NsZWFuOiExfSl9X29uTWVzc2FnZShlKXt0aGlzLnNlc3Npb25pZD90aGlzLl9jaGVja0lmSGVhcnRiZWF0KGUpP3RoaXMuX29uSGVhcnRiZWF0KGUuc2xpY2UoMykpOnRoaXMuX2NoZWNrSWZKc29uKGUpP3RoaXMuX2Jhc2Uub25NZXNzYWdlKEpTT04ucGFyc2UoZS5zbGljZSgzKSkpOnRoaXMuX2Jhc2Uub25NZXNzYWdlKGUpOih0aGlzLnNlc3Npb25pZD1lLHRoaXMuX29uQ29ubmVjdCgpKX1fY2hlY2tJZkhlYXJ0YmVhdChlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJoIil9X2NoZWNrSWZKc29uKGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImoiKX1fY2hlY2tNZXNzYWdlVHlwZShlLHQpe3JldHVybiBlLnN1YnN0cmluZygwLDMpPT09In4iK3QrIn4ifV9vbkhlYXJ0YmVhdChlKXt0aGlzLnNlbmQoIn5ofiIrZSl9X29uQ29ubmVjdCgpe3RoaXMuY29ubmVjdGVkPSEwLHRoaXMuX2Jhc2Uub25Db25uZWN0KCl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2Uub25EaXNjb25uZWN0KGUpLHRoaXMuc2Vzc2lvbmlkPW51bGx9X2NsZWFyKCl7dGhpcy5jb25uZWN0ZWQ9ITF9X3ByZXBhcmVVcmwoKXtjb25zdCB0PWsodGhpcy5fYmFzZS5ob3N0KTtpZih0LnBhdGhuYW1lKz0ic29ja2V0LmlvL3dlYnNvY2tldCIsdC5wcm90b2NvbD0id3NzOiIsdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJmcm9tIix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSw1MCkpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZGF0ZSIsd2luZG93LkJVSUxEX1RJTUV8fCIiKSxlKCJhbnkiKSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjbGllbnQiLCJtb2JpbGUiKSx0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInR5cGUiLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUpLHdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyl7Y29uc3R7d3NfcGFnZV91cmk6ZSx3c19hbmNlc3Rvcl9vcmlnaW46bn09d2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTO2UmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgicGFnZS11cmkiLGUpLG4mJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYW5jZXN0b3Itb3JpZ2luIixuKX1jb25zdCBuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpfHx3aW5kb3cubG9jYXRpb24uaGFzaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIik7cmV0dXJuIGQoKXx8bnx8dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhdXRoIiwic2Vzc2lvbmlkIiksdm9pZCAwIT09dGhpcy5fb3B0aW9ucy5hcGlLZXkmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXBpX2tleSIsdGhpcy5fb3B0aW9ucy5hcGlLZXkpLHQuaHJlZn1fb25DbG9zZShlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fb25EaXNjb25uZWN0KGUpfV9vbkVycm9yKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2UuZW1pdCgiZXJyb3IiLFtlXSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1zdGF0aWMgX3N0cmluZ2lmeShlKXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT8ifmp+IitKU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSl9fWNsYXNzIHd7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhvc3Q9ZSwKdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl9ldmVudHM9e30sdGhpcy50cmFuc3BvcnQ9dGhpcy5fZ2V0VHJhbnNwb3J0KHQpfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkfWlzQ29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfWNvbm5lY3QoKXt0aGlzLmlzQ29ubmVjdGVkKCl8fCh0aGlzLl9jb25uZWN0aW5nJiZ0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMudHJhbnNwb3J0LmNvbm5lY3QoKSl9c2VuZChlKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkJiZ0aGlzLnRyYW5zcG9ydC5zZW5kKGUpfWRpc2Nvbm5lY3QoKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuZGlzY29ubmVjdCgpfW9uKGUsdCl7ZSBpbiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHNbZV09W10pLHRoaXMuX2V2ZW50c1tlXS5wdXNoKHQpfW9mZkFsbCgpe3RoaXMuX2V2ZW50cz17fX1vbk1lc3NhZ2UoZSl7dGhpcy5lbWl0KCJtZXNzYWdlIixbZV0pfWVtaXQoZSx0PVtdKXtpZihlIGluIHRoaXMuX2V2ZW50cyl7Y29uc3Qgbj10aGlzLl9ldmVudHNbZV0uY29uY2F0KCkscz1uLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bZV0uYXBwbHkodGhpcyx0KX19b25Db25uZWN0KCl7dGhpcy5jbGVhcigpLHRoaXMuZW1pdCgiY29ubmVjdCIpfW9uRGlzY29ubmVjdChlKXt0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLFtlXSl9Y2xlYXIoKXt0aGlzLl9jb25uZWN0aW5nPSExfV9nZXRUcmFuc3BvcnQoZSl7cmV0dXJuIG5ldyBtKHRoaXMsZSl9fWZ1bmN0aW9uIGsoZSl7Y29uc3QgdD0tMSE9PWUuaW5kZXhPZigiLyIpP25ldyBVUkwoZSk6bmV3IFVSTCgid3NzOi8vIitlKTtpZigid3NzOiIhPT10LnByb3RvY29sJiYiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHdlYnNvY2tldCBiYXNlICIrZSk7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdC5zZWFyY2g9IiIsdC51c2VybmFtZT0iIix0LnBhc3N3b3JkPSIiLHR9dmFyIHAsYjshZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0zMDBdPSJOb3JtYWwiLGVbZS5BZnRlckNsb3NlRXZlbnQ9NWUzXT0iQWZ0ZXJDbG9zZUV2ZW50In0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlW2UuSW5mbz0wXT0iSW5mbyIsZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuRGVidWc9Ml09IkRlYnVnIixlW2UuRXJyb3I9M109IkVycm9yIn0oYnx8KGI9e30pKTtjb25zdCBmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZOdW1iZXIod2luZG93LlRFTEVNRVRSWV9XU19FUlJPUl9MT0dTX1RIUkVTSE9MRCl8fDA7dmFyIHk7IWZ1bmN0aW9uKGUpe2VbZS5QaW5nSW50ZXJ2YWw9MWU0XT0iUGluZ0ludGVydmFsIixlW2UuTWF4UGluZ3NDb3VudD0xMF09Ik1heFBpbmdzQ291bnQiLGVbZS5NYXhSZWRpcmVjdHM9MjBdPSJNYXhSZWRpcmVjdHMiLGVbZS5NYXhSZWNvbm5lY3RzPTIwXT0iTWF4UmVjb25uZWN0cyJ9KHl8fCh5PXt9KSk7Y2xhc3MgVHtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuX3F1ZXVlU3RhY2s9W10sdGhpcy5fbG9nc1F1ZXVlPVtdLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXSx0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MCx0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLl9pbml0aWFsSG9zdD10LmluaXRpYWxIb3N0fHxudWxsLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9ZSx0aGlzLl9wcm9Ib3N0PXQucHJvSG9zdCx0aGlzLl9yZWNvbm5lY3RIb3N0PXQucmVjb25uZWN0SG9zdCx0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dD0hMD09PXQubm9SZWNvbm5lY3RBZnRlclRpbWVvdXQsdGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0PXQuZGF0YVJlcXVlc3RUaW1lb3V0LHRoaXMuX2Nvbm5lY3Rpb25UeXBlPXQuY29ubmVjdGlvblR5cGUsdGhpcy5fYXBpS2V5PXQuYXBpS2V5LHRoaXMuX2RvQ29ubmVjdCgpLHQucGluZ1JlcXVpcmVkJiYtMT09PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigibm9waW5nIikmJnRoaXMuX3N0YXJ0UGluZygpfWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCl9cmVzZXRDb3VudGVycygpe3RoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wfXNldExvZ2dlcihlLHQpe3RoaXMuX2xvZ2dlcj1lLHRoaXMuX2dldExvZ0hpc3Rvcnk9dCx0aGlzLl9mbHVzaExvZ3MoKX1zZXRUZWxlbWV0cnkoZSl7dGhpcy5fdGVsZW1ldHJ5PWUsdGhpcy5fdGVsZW1ldHJ5LnJlcG9ydFNlbnQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25UZWxlbWV0cnlTZW50KSx0aGlzLl9mbHVzaFRlbGVtZXRyeSgpfW9uUmVjb25uZWN0KGUpe3RoaXMuX29uUmVjb25uZWN0PWV9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl9aXNDb25uZWN0aW5nKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKX1vbihlLHQpe3JldHVybiEhdGhpcy5fc29ja2V0JiYoImNvbm5lY3QiPT09ZSYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCk/dCgpOiJkaXNjb25uZWN0Ij09PWU/dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpOnRoaXMuX3NvY2tldC5vbihlLHQpLCEwKX1nZXRTZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQudHJhbnNwb3J0P3RoaXMuX3NvY2tldC50cmFuc3BvcnQuc2Vzc2lvbmlkOm51bGx9c2VuZChlKXtyZXR1cm4gdGhpcy5pc0Nvbm5lY3RlZCgpPyh0aGlzLl9zb2NrZXQuc2VuZChlKSwhMCk6KHRoaXMuX3F1ZXVlTWVzc2FnZShlKSwhMSl9CmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWR9Z2V0SG9zdCgpe2NvbnN0IGU9dGhpcy5fdHJ5R2V0UHJvSG9zdCgpO3JldHVybiBudWxsIT09ZT9lOnRoaXMuX3JlY29ubmVjdEhvc3QmJnRoaXMuX3JlY29ubmVjdENvdW50PjM/dGhpcy5fcmVjb25uZWN0SG9zdDp0aGlzLl9zdWdnZXN0ZWRIb3N0fWdldFJlY29ubmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50fWdldFJlZGlyZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudH1nZXRDb25uZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvblN0YXJ0fWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSwodGhpcy5pc0Nvbm5lY3RlZCgpfHx0aGlzLmlzQ29ubmVjdGluZygpKSYmKHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nsb3NlU29ja2V0KCkpfWZvcmJpZENvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITAsdGhpcy5kaXNjb25uZWN0KCl9YWxsb3dDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuY29ubmVjdCgpfWlzTWF4UmVkaXJlY3RzKCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQ+PTIwfWlzTWF4UmVjb25uZWN0cygpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudD49MjB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fcGluZ0luZm98fG51bGx9Z2V0QXBpS2V5KCl7cmV0dXJuIHRoaXMuX2FwaUtleX1fdHJ5R2V0UHJvSG9zdCgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmImJhdHRsZSI9PT13aW5kb3cuZW52aXJvbm1lbnQmJiF0aGlzLl9yZWRpcmVjdENvdW50JiYtMT09PXdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoIndzX2hvc3QiKT90aGlzLl9pbml0aWFsSG9zdD90aGlzLl9pbml0aWFsSG9zdDp2b2lkIDAhPT13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW4/dGhpcy5fcHJvSG9zdHx8dGhpcy5fc3VnZ2VzdGVkSG9zdDpudWxsOm51bGx9X3F1ZXVlTWVzc2FnZShlKXswPT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJnRoaXMuX2xvZ01lc3NhZ2UoMCwiU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQuIFF1ZXVlZCBhIG1lc3NhZ2UiKSx0aGlzLl9xdWV1ZVN0YWNrLnB1c2goZSl9X3Byb2Nlc3NNZXNzYWdlUXVldWUoKXswIT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJih0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NpbmcgcXVldWVkIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjay5mb3JFYWNoKHRoaXMuc2VuZC5iaW5kKHRoaXMpKSx0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NlZCAiK3RoaXMuX3F1ZXVlU3RhY2subGVuZ3RoKyIgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrPVtdKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0fHxudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dHx8KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl90cnlSZWNvbm5lY3QuYmluZCh0aGlzKSw1ZTMpKSx0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCk7bGV0IHQ9ImRpc2Nvbm5lY3Qgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCk7ZSYmKHQrPSIsIGNvZGU6IitlLmNvZGUrIiwgcmVhc29uOiIrZS5yZWFzb24sMTAwNT09PWUuY29kZSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2NvZGVfMTAwNSIpKSx0aGlzLl9sb2dNZXNzYWdlKDAsdCksdGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdChlKSx0aGlzLl9jbG9zZVNvY2tldCgpLHRoaXMuX3F1ZXVlU3RhY2s9W119X2Nsb3NlU29ja2V0KCl7bnVsbCE9PXRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vZmZBbGwoKSx0aGlzLl9zb2NrZXQuZGlzY29ubmVjdCgpLHRoaXMuX3NvY2tldD1udWxsKX1fbG9nTWVzc2FnZShlLHQpe2NvbnN0IG49e21ldGhvZDplLG1lc3NhZ2U6dH07dGhpcy5fbG9nZ2VyP3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShuKToobi5tZXNzYWdlPWBbJHsobmV3IERhdGUpLnRvSVNPU3RyaW5nKCl9XSAke24ubWVzc2FnZX1gLHRoaXMuX2xvZ3NRdWV1ZS5wdXNoKG4pKX1fZmx1c2hMb2dNZXNzYWdlKGUpe3N3aXRjaChlLm1ldGhvZCl7Y2FzZSAyOnRoaXMuX2xvZ2dlci5sb2dEZWJ1ZyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMzp0aGlzLl9sb2dnZXIubG9nRXJyb3IoZS5tZXNzYWdlKTticmVhaztjYXNlIDA6dGhpcy5fbG9nZ2VyLmxvZ0luZm8oZS5tZXNzYWdlKTticmVhaztjYXNlIDE6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChlLm1lc3NhZ2UpfX1fZmx1c2hMb2dzKCl7dGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBTdGFydC4ifSksdGhpcy5fbG9nc1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaExvZ01lc3NhZ2UoZSl9KSksdGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBFbmQuIn0pLHRoaXMuX2xvZ3NRdWV1ZT1bXX1fc2VuZFRlbGVtZXRyeShlLHQpe2NvbnN0IG49e2V2ZW50OmUscGFyYW1zOnR9O3RoaXMuX3RlbGVtZXRyeT90aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChuKTp0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUucHVzaChuKX1fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl7dGhpcy5fdGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLmV2ZW50LGUucGFyYW1zLCExKX1fZmx1c2hUZWxlbWV0cnkoKXt0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpfSkpLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXX1fZG9Db25uZWN0KCl7CnRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfHx0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCkpfHwodGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX2hvc3Q9dGhpcy5nZXRIb3N0KCksdGhpcy5fc29ja2V0PW5ldyB3KHRoaXMuX2hvc3Qse3RpbWVvdXQ6dGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0LGNvbm5lY3Rpb25UeXBlOnRoaXMuX2Nvbm5lY3Rpb25UeXBlLGFwaUtleTp0aGlzLl9hcGlLZXl9KSx0aGlzLl9sb2dNZXNzYWdlKDAsIkNvbm5lY3RpbmcgdG8gIit0aGlzLl9ob3N0KSx0aGlzLl9iaW5kRXZlbnRzKCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fc29ja2V0LmNvbm5lY3QoKSxwZXJmb3JtYW5jZS5tYXJrKCJTV1NDIix7ZGV0YWlsOiJTdGFydCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSx0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e3BlcmZvcm1hbmNlLm1hcmsoIkVXU0MiLHtkZXRhaWw6IkVuZCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSxwZXJmb3JtYW5jZS5tZWFzdXJlKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBkZWxheSIsIlNXU0MiLCJFV1NDIil9KSkpfV9wcm9wYWdhdGVEaXNjb25uZWN0KGUpe2NvbnN0IHQ9dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5sZW5ndGg7Zm9yKGxldCBuPTA7bjx0O24rKyl0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzW25dKGV8fHt9KX1fYmluZEV2ZW50cygpe3RoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57Y29uc3QgZT10aGlzLmdldFNlc3Npb25JZCgpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO2lmKHQucmVkaXJlY3QpcmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQrPTEsdGhpcy5fc3VnZ2VzdGVkSG9zdD10LnJlZGlyZWN0LHRoaXMuaXNNYXhSZWRpcmVjdHMoKSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgicmVkaXJlY3RfYmFpbG91dCIpLHZvaWQgdGhpcy5fcmVkaXJlY3QoKX10aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiY29ubmVjdCBzZXNzaW9uOiIrZSl9KSksdGhpcy5fc29ja2V0Lm9uKCJkaXNjb25uZWN0Iix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJjbG9zZSIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiZXJyb3IiLChlPT57dGhpcy5fbG9nTWVzc2FnZSgwLG5ldyBEYXRlKyIgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCkrIiB3ZWJzb2NrZXQgZXJyb3I6IitKU09OLnN0cmluZ2lmeShlKSksdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yIiksdGhpcy5fZXJyb3JzQ291bnQrKywhdGhpcy5fZXJyb3JzSW5mb1NlbnQmJnRoaXMuX2Vycm9yc0NvdW50Pj1mJiYodm9pZCAwIT09dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2smJih0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfY29ubmVjdF9zdGFjayIse3RleHQ6dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2t9KSxkZWxldGUgdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2spLHZvaWQgMCE9PXRoaXMuX2dldExvZ0hpc3RvcnkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9sb2ciLHt0ZXh0OnRoaXMuX2dldExvZ0hpc3RvcnkoNTApLmpvaW4oIlxuIil9KSx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMCl9KSkpfV9yZWRpcmVjdCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKX1fdHJ5UmVjb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpJiYodGhpcy5fcmVjb25uZWN0Q291bnQrPTEpfV90cnlDb25uZWN0KCl7cmV0dXJuIXRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbiYmKHRoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrPW5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Qgc3RhY2suIElzIGNvbm5lY3RlZDogJHt0aGlzLmlzQ29ubmVjdGVkKCl9LmApLnN0YWNrfHwiIiwhdGhpcy5pc0Nvbm5lY3RlZCgpJiYodGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpLCEwKSl9X2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKXt0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbiYmKHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCl9X2NsZWFyUmVjb25uZWN0VGltZW91dCgpe251bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCl9X3JlY29ubmVjdFdoZW5PbmxpbmUoKXtpZihuYXZpZ2F0b3Iub25MaW5lKXJldHVybiB0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHZvaWQodGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCkpO3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPWZ1bmN0aW9uKGUpe2xldCB0PWU7Y29uc3Qgbj0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLCgpPT57dD1udWxsfX0oKCgpPT57dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1cyBjaGFuZ2VkIHRvIG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCl9KSl9Cl9vblRlbGVtZXRyeVNlbnQoZSl7IndlYnNvY2tldF9lcnJvciJpbiBlJiYodGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSl9X3N0YXJ0UGluZygpe2lmKHRoaXMuX3BpbmdJbnRlcnZhbElkKXJldHVybjtjb25zdCBlPWsodGhpcy5nZXRIb3N0KCkpO2UucGF0aG5hbWUrPSJwaW5nIixlLnByb3RvY29sPSJodHRwczoiO2xldCB0PTAsbj0wO2NvbnN0IHM9ZT0+e3RoaXMuX3BpbmdJbmZvPXRoaXMuX3BpbmdJbmZvfHx7bWF4OjAsbWluOjEvMCxhdmc6MH07Y29uc3Qgcz0obmV3IERhdGUpLmdldFRpbWUoKS1lO3M+dGhpcy5fcGluZ0luZm8ubWF4JiYodGhpcy5fcGluZ0luZm8ubWF4PXMpLHM8dGhpcy5fcGluZ0luZm8ubWluJiYodGhpcy5fcGluZ0luZm8ubWluPXMpLHQrPXMsbisrLHRoaXMuX3BpbmdJbmZvLmF2Zz10L24sbj49MTAmJnRoaXMuX3BpbmdJbnRlcnZhbElkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9waW5nSW50ZXJ2YWxJZCksZGVsZXRlIHRoaXMuX3BpbmdJbnRlcnZhbElkKX07dGhpcy5fcGluZ0ludGVydmFsSWQ9c2V0SW50ZXJ2YWwoKCgpPT57Y29uc3QgdD0obmV3IERhdGUpLmdldFRpbWUoKSxuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oIkdFVCIsZSwhMCksbi5zZW5kKCksbi5vbnJlYWR5c3RhdGVjaGFuZ2U9KCk9PntuLnJlYWR5U3RhdGU9PT1YTUxIdHRwUmVxdWVzdC5ET05FJiYyMDA9PT1uLnN0YXR1cyYmcyh0KX19KSwxZTQpfX0KY29uc3QgQz0id2lkZ2V0X3VzZXJfdG9rZW4tIix2PUpTT04ucGFyc2UoJ3siYWR4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4IiwiYWR4RCI6IndpZGdldF91c2VyX3Rva2VuLWFkeEQiLCJhZ2VuY2lhbGJtY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZ2VuY2lhbGJtY29tYnIiLCJhbGphemlyYWNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsRCIsImFsamF6aXJhY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsUlQiLCJhbHJhamhpY2FwaXRhbGNvbUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbUQiLCJhbHJhamhpY2FwaXRhbGNvbVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21SVCIsImFtYml0byI6IndpZGdldF91c2VyX3Rva2VuLWFtYml0byIsImFyZW5heHRybyI6IndpZGdldF91c2VyX3Rva2VuLWFyZW5heHRybyIsImFydGVjaGVjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1BcnRlY2hlRCIsImF0bGNhcGl0YWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1hdGxjYXBpdGFsIiwiYmFua2lyb3NydSI6IndpZGdldF91c2VyX3Rva2VuLWJhbmtpcm9zcnUiLCJiYnZhY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1iYnZhY2giLCJiZWVrc2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmVla3Nncm91cCIsImJlbHVnYWdyb3VwcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWx1Z2Fncm91cHJ1IiwiYml2YWNvbSI6IndpZGdldF91c2VyX3Rva2VuLWJpdmFjb20iLCJibHVlZmllbGQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlZmllbGQiLCJibHVlbGluZWZ1dHVyZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlbGluZWZ1dHVyZXMiLCJib3Zlc3BhIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm1mYm92ZXNwYWNvbWJyIiwiYnZicm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1idmJybyIsImJ5dGV0cmF2ZWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1ieXRldHJhdmVsIiwiY2JvZWNhbmFkYSI6IndpZGdldF91c2VyX3Rva2VuLWNib2VjYW5hZGEiLCJjaGFtcGlvbm5hdGJvdXJzZSI6IndpZGdldF91c2VyX3Rva2VuLWNoYW1waW9ubmF0Ym91cnNlIiwiY2luY29kaWFzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2luY29kaWFzIiwiY2VvY2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FEIiwiY2VvY2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhUlQiLCJjbWNtYXJrZXRzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY21jbWFya2V0cyIsImNvcGVlcyI6IndpZGdldF91c2VyX3Rva2VuLWNvcGVlcyIsImNzZWxrIjoid2lkZ2V0X3VzZXJfdG9rZW4tY3NlbGsiLCJkYWlseWZ4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZGFpbHlmeCIsImRlZXBzZWFyY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1kZWVwc2VhcmNoIiwiZGVyYXlhaGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWRlcmF5YWhjb20iLCJkZm1hZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZUQiLCJkZm1hZVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVSVCIsImRpbmFyc2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYUQiLCJkaW5hcnNhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhUlQiLCJkb2xhcmhveSI6IndpZGdldF91c2VyX3Rva2VuLWRvbGFyaG95IiwiZWFzeW52ZXN0Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1lYXN5bnZlc3Rjb21iciIsImVkYWlseSI6IndpZGdldF91c2VyX3Rva2VuLWVkYWlseSIsImVsZXNwYW5vbGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWVsZXNwYW5vbGNvbSIsImVsb2JyZXJvZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbG9icmVyb2VzIiwiZWxuYWNpb25hbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1FbE5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBhaXNmaW5hbmNpZXJvIiwiZWxwZXJpb2RpY29kZWxhZW5lcmdpYSI6IndpZGdldF91c2VyX3Rva2VuLWVscGVyaW9kaWNvZGVsYWVuZXJnaWEiLCJldXF1ZXJvaW52ZXN0aXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXF1ZXJvaW52ZXN0aXJjb20iLCJldXJleCI6IndpZGdldF91c2VyX3Rva2VuLWV1cmV4IiwiZXVyb2ZpbnMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvZmlucyIsImVwZSI6IndpZGdldF91c2VyX3Rva2VuLWVwZSIsImV1cm9wYXByZXNzZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvcGFwcmVzc2VzIiwiZmluYW56YXNEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRmluYW56YXNEIiwiZm9yYmVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1mb3JiZXNjb21iciIsImdlbmlhbGludmVzdGltZW50b3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1nZW5pYWxpbnZlc3RpbWVudG9zIiwiaGVhbHRoaXRhbGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVhbHRoaXRhbGlhIiwiaGVnbmFybm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWduYXJubyIsImhpcG90ZWNhcmlvY29tYXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1oaXBvdGVjYXJpb2NvbWFyIiwiaWdjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1pZ2NvbSIsImludmVzdGVnYXRlY291ayI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdGVnYXRlY291ayIsImludmVzdG9wZWRpYSI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdG9wZWRpYSIsImludGVncmFseWF0aXJpbSI6IndpZGdldF91c2VyX3Rva2VuLWludGVncmFseWF0aXJpbSIsIml2c2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4taXZzZ3JvdXAiLCJqc2Vjb3phIjoid2lkZ2V0X3VzZXJfdG9rZW4tanNlY296YSIsImJvZXJzZW56ZWl0dW5nIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm9lcnNlbnplaXR1bmciLCJsYWluZm9ybWFjaW9uY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbGFpbmZvcm1hY2lvbmNvbSIsIm1hcmNvcG9sb2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWFyY29wb2xvY29tYnIiLCJtZXJjYWRvZmluYW5jaWVyb2NvbSI6IndpZGdldF91c2VyX3Rva2VuLW1lcmNhZG9maW5hbmNpZXJvY29tIiwibW9leCI6IndpZGdldF91c2VyX3Rva2VuLW1vZXgiLCJtb25leXRpbWVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25leXRpbWVzY29tYnIiLCJtb25pdG9yZG9tZXJjYWRvRCI6IndpZGdldF91c2VyX3Rva2VuLW1vbml0b3Jkb21lcmNhZG9EIiwibXluZXRjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1teW5ldGNvbSIsIm5lZ29jaW9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tbmVnb2Npb3MiLCJOR1giOiJ3aWRnZXRfdXNlcl90b2tlbi1OR1giLCJOb3RpY2lhc2Fncmljb2xhRCI6IndpZGdldF91c2VyX3Rva2VuLW5vdGljaWFzYWdyaWNvbGFEIiwibm9tbW9tYSI6IndpZGdldF91c2VyX3Rva2VuLW5vbW1vbWEiLCJuc2Vjb2tyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbnNlY29rciIsIm9rZGlhcmlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tb2tkaWFyaW8iLCJwYW5hZnJpY2FucmVzb3VyY2VzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tcGFuYWZyaWNhbnJlc291cmNlc2NvbSIsInBzZSI6IndpZGdldF91c2VyX3Rva2VuLXBzZSIsInBvZGVyMzYwIjoid2lkZ2V0X3VzZXJfdG9rZW4tcG9kZXIzNjAiLCJwc2VEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlRCIsInJpeWFkaGNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbEQiLCJyaXlhZGhjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsUlQiLCJxZWNvbXFhIjoid2lkZ2V0X3VzZXJfdG9rZW4tcWVjb21xYSIsInNhbW9sZXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zYW1vbGV0Iiwic2VlaW5nbWFjaGluZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZWVpbmdtYWNoaW5lc2NvbSIsInNldWRpbmhlaXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2V1ZGluaGVpcm8iLCJzb2Z0d2FyZWFnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29mdHdhcmVhZyIsInNvZ2VjbGFpciI6IndpZGdldF91c2VyX3Rva2VuLXNvZ2VjbGFpciIsInNnY29tcGFueWl0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2djb21wYW55aXQiLCJzaGFyZWp1bmN0aW9uIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2hhcmVqdW5jdGlvbiIsInNtYXJ0bGFiLWN1c3RvbSI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic21hcnRsYWIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNwYWNlbW9uZXljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXNwYWNlbW9uZXljb21iciIsInN0b25leHdkZyI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leMKjLSF3d3cuc3RvbmV4LmNvbSIsInN0b3hpbyI6IndpZGdldF91c2VyX3Rva2VuLXN0b3hpbyIsInN0b25leCI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leCIsInRvcm9pbnZlc3RpbWVudG9zY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdG9yb2ludmVzdGltZW50b3Njb20iLCJ0aGVjc2Vjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10aGVjc2Vjb20iLCJ0cmFkZXJzY2x1YmJyYXNpbCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsIiwidHJhZGVyc2NsdWJicmFzaWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWxEIiwidHJhZGluZ3ZpZXciOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkaW5ndmlldyIsInh0b29scyI6IndpZGdldF91c2VyX3Rva2VuLXh0b29scyIsInR3aXR0ZXIiOiJ3aWRnZXRfdXNlcl90b2tlbi10d2l0dGVyIiwidmVsb2NpdHljb21wb3NpdGVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdmVsb2NpdHljb21wb3NpdGVzY29tIiwidm9jZXNhYWJyaWxjb21iciI6IndpZGdldF91c2VyX3Rva2VuLXZvY2VzYWFicmlsY29tYnIiLCJ3ZWFsdGhzaW1wbGUiOiJ3aWRnZXRfdXNlcl90b2tlbi13ZWFsdGhzaW1wbGXCoy0hbXkud2VhbHRoc2ltcGxlLmNvbSIsIndvcmxkY2hlc3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi13b3JsZGNoZXNzY29tIiwieENydHlKa3NwIjoid2lkZ2V0X3VzZXJfdG9rZW4teENydHlKa3NwIiwieHBpY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi14cGljb21iciJ9Jylbd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiXXx8IiIsUz12LnN0YXJ0c1dpdGgoQyk/di5zdWJzdHJpbmcoMTgpOiJ0cmFkaW5ndmlldyIKO3dpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uPW5ldyBUKHdpbmRvdy5XRUJTT0NLRVRfSE9TVCx7cGluZ1JlcXVpcmVkOndpbmRvdy5XU19IT1NUX1BJTkdfUkVRVUlSRUQscHJvSG9zdDp3aW5kb3cuV0VCU09DS0VUX1BST19IT1NULHJlY29ubmVjdEhvc3Q6d2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QsaW5pdGlhbEhvc3Q6d2luZG93LldFQlNPQ0tFVF9JTklUSUFMX0hPU1QsY29ubmVjdGlvblR5cGU6d2luZG93LldFQlNPQ0tFVF9DT05ORUNUSU9OX1RZUEUsYXBpS2V5OlN9KSx3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbkN0b3I9VH0pKCk7Cgk8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KCTxzY3JpcHQgbm9uY2U9Im1pak9GTEtNTVFzb1E0MHdZTmwwRHc9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IHQ9MTAxOTt2YXIgZSxzLG8sYSxkOyFmdW5jdGlvbih0KXt0LkFkYXB0aXZlPSJhZGFwdGl2ZSIsdC5SZWd1bGFyPSJyZWd1bGFyIix0LkNvbXBhY3Q9ImNvbXBhY3QifShlfHwoZT17fSkpLGZ1bmN0aW9uKHQpe3QuQWxsU3ltYm9scz0iYWxsX3N5bWJvbHMiLHQuTWFya2V0PSJtYXJrZXQiLHQuU3ltYm9sPSJzeW1ib2wifShzfHwocz17fSkpLGZ1bmN0aW9uKHQpe3QuQ3J5cHRvY3VycmVuY2llcz0iY3J5cHRvIix0LkN1cnJlbmNpZXM9ImZvcmV4Iix0LlN0b2Nrcz0ic3RvY2siLHQuSW5kaWNlcz0iaW5kZXgiLHQuRnV0dXJlcz0iZnV0dXJlcyIsdC5Cb25kcz0iY2ZkIn0ob3x8KG89e30pKSxmdW5jdGlvbih0KXt0LkhUTUw9Imh0bWwiLHQuUmVhY3Q9InJlYWN0In0oYXx8KGE9e30pKSxmdW5jdGlvbih0KXt0LlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGR8fChkPXt9KSk7Y29uc3QgYz13aW5kb3c7Yy5pbml0RGF0YT1jLmluaXREYXRhfHx7fTtsZXQgaT1jLmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihjLmluaXREYXRhLndpZGdldERlZmF1bHRzJiYoaT17Li4uYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cywuLi5pfSksdm9pZCAwIT09aSl7aWYodm9pZCAwIT09aS5jb2xvclRoZW1lJiZmdW5jdGlvbih0LGU9d2luZG93KXtjb25zdCBzPSJ0aGVtZS0iK3Qsbz1lLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbShvKSl0LnN0YXJ0c1dpdGgoInRoZW1lLSIpJiZ0IT09cyYmby5yZW1vdmUodCk7by5hZGQocyksZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT10fShpLmNvbG9yVGhlbWUpLChpLmlzVHJhbnNwYXJlbnR8fGkudHJhbnNwYXJlbmN5KSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXRyYW5zcGFyZW50Iiksdm9pZCAwIT09aS5kaXNwbGF5TW9kZSYmZnVuY3Rpb24ocyxvKXtpZihvPT09ZS5BZGFwdGl2ZSl7Y29uc3QgZT13aW5kb3cubWF0Y2hNZWRpYShgKG1heC13aWR0aDogJHt0fXB4KWApLG89KCk9PntzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIiwhZS5tYXRjaGVzKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixlLm1hdGNoZXMpfTtvKCksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG8pfWVsc2Ugcy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsbz09PWUuUmVndWxhcikscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsbz09PWUuQ29tcGFjdCl9KGRvY3VtZW50LmJvZHksaS5kaXNwbGF5TW9kZSksaS5ib2R5Q2xhc3Nlcylmb3IoY29uc3QgdCBvZiBpLmJvZHlDbGFzc2VzKWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0KTtpLmJvZHlfY2xhc3MmJmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChpLmJvZHlfY2xhc3MpLGkuYm9keUlkJiYoZG9jdW1lbnQuYm9keS5pZD1pLmJvZHlJZCl9fSkoKTsKCTwvc2NyaXB0PgoKCTxkaXYgaWQ9IndpZGdldC10aWNrZXItdGFwZS1jb250YWluZXIiPjwvZGl2PgoKPHNjcmlwdCBub25jZT0ibWlqT0ZMS01NUXNvUTQwd1lObDBEdz09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"time_used":13,"timings":{"blocked":-1,"dns":2,"connect":2,"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/15049.08e0888e7d45f371417a.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.576Z","timestamp":1785120763576,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/15049.08e0888e7d45f371417a.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/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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/81809.146bc8abb60920a25d2f.css","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":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.712Z","timestamp":1785120763712,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/81809.146bc8abb60920a25d2f.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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"cdn.gtranslate.net/widgets/latest/float.js","fqdn":"cdn.gtranslate.net","domain":"gtranslate.net","tld":"net"},"ip":{"addr":"104.26.13.42","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.976Z","timestamp":1785120760976,"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":"gtranslate.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 25 Jun 2026 02:04:42 GMT","end":"Wed, 23 Sep 2026 03:04:28 GMT"},"fingerprint":{"sha1":"7E:41:C7:FB:AD:E5:FE:5D:B3:02:94:54:88:D4:EE:DD:EA:46:BC:9C","sha256":"0F:62:03:25:71:9E:01:C5:E5:A6:FD:62:89:4B:D6:28:CC:04:66:24:A5:08:2F:E1:17:68:AA:E7:51:AA:E9:A3"}}},"request":{"raw":"GET /widgets/latest/float.js HTTP/1.1\r\nHost: cdn.gtranslate.net\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://360trustwealthavenue.stglen.com/\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\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: application/javascript\r\nserver: cloudflare\r\nlast-modified: Wed, 06 May 2026 19:42:51 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\nexpires: Thu, 01 Jul 2027 02:02:58 GMT\r\ncache-control: max-age=31536000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=TP08NNORVL%2BRCID2WFJqsJKMPqrO7UWe%2FxnzGnbxy2X77sHvZY0xOvShr%2BjxpECtciNvprKXUuje%2BLuTBdVzc5gmUVxVO3atuoVfFw7UdiwhY9AvACRZJQOtORNPf9ApwDfnpw%3D%3D\"}]}\r\nage: 2249382\r\ncf-cache-status: HIT\r\netag: W/\"69fb99bb-5a62\"\r\ncontent-encoding: br\r\ncf-ray: a21859745e055687-OSL\r\nX-Firefox-Spdy: h2\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":23138,"size_decoded":7507,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (3129)","md5":"68ee10aa7ede43f8bb3293b220daf775","sha1":"1f26a636577ea9aaa524c0a23ae8cf342be925e9","sha256":"76e28fc0425d80422e45305464ada45c7c9b4a00132c65012c737c22814c259f","sha512":"531d2baf5f4d61c0def2c5f45fd8d9b69b143c24d0474a01291d858b086b45c233d1cca885cc722d6e6eaff3f8cb62e637df797beca8f5aec20d090f0e23fe08","ssdeep":"384:UzCKMPZATN09o0mtvwfEXMb5TZ/dDszCnfYI:UVMhAh060svwcX0T1dhh","tlshash":"10a2c62921b3003a49531265efff165c607a02b78004ec24bfaeddc2dfd59a9caa77d5","first_seen":"2026-05-06T20:53:53.345523Z","last_seen":"2026-07-27T05:14:35.540478Z","times_seen":1739,"resource_available":true,"data":"LyohIENvcHlyaWdodCAoQykgR1RyYW5zbGF0ZSBJbmMuICovCihmdW5jdGlvbigpe2lmKCEoZG9jdW1lbnQuY3VycmVudFNjcmlwdCBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSlyZXR1cm47CiAgICB2YXIgZ3QgPSB3aW5kb3cuZ3RyYW5zbGF0ZVNldHRpbmdzIHx8IHt9OwogICAgZ3QgPSBndFtkb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgnZGF0YS1ndC13aWRnZXQtaWQnKV0gfHwgZ3Q7CgogICAgaWYoZ3QuZGVmYXVsdF9sYW5ndWFnZSA9PSBudWxsKSB7CiAgICAgICAgY29uc29sZS5sb2coJ2d0cmFuc2xhdGVTZXR0aW5ncyBpcyBub3QgcHJvcGVybHkgaW5pdGlhbGl6ZWQnKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIGxhbmdfYXJyYXlfZW5nbGlzaCA9IHsiYWYiOiJBZnJpa2FhbnMiLCJzcSI6IkFsYmFuaWFuIiwiYW0iOiJBbWhhcmljIiwiYXIiOiJBcmFiaWMiLCJoeSI6IkFybWVuaWFuIiwiYXoiOiJBemVyYmFpamFuaSIsImV1IjoiQmFzcXVlIiwiYmUiOiJCZWxhcnVzaWFuIiwiYm4iOiJCZW5nYWxpIiwiYnMiOiJCb3NuaWFuIiwiYmciOiJCdWxnYXJpYW4iLCJjYSI6IkNhdGFsYW4iLCJjZWIiOiJDZWJ1YW5vIiwibnkiOiJDaGljaGV3YSIsInpoLUNOIjoiQ2hpbmVzZSAoU2ltcGxpZmllZCkiLCJ6aC1UVyI6IkNoaW5lc2UgKFRyYWRpdGlvbmFsKSIsImNvIjoiQ29yc2ljYW4iLCJociI6IkNyb2F0aWFuIiwiY3MiOiJDemVjaCIsImRhIjoiRGFuaXNoIiwibmwiOiJEdXRjaCIsImVuIjoiRW5nbGlzaCIsImVvIjoiRXNwZXJhbnRvIiwiZXQiOiJFc3RvbmlhbiIsInRsIjoiRmlsaXBpbm8iLCJmaSI6IkZpbm5pc2giLCJmciI6IkZyZW5jaCIsImZ5IjoiRnJpc2lhbiIsImdsIjoiR2FsaWNpYW4iLCJrYSI6Ikdlb3JnaWFuIiwiZGUiOiJHZXJtYW4iLCJlbCI6IkdyZWVrIiwiZ3UiOiJHdWphcmF0aSIsImh0IjoiSGFpdGlhbiBDcmVvbGUiLCJoYSI6IkhhdXNhIiwiaGF3IjoiSGF3YWlpYW4iLCJpdyI6IkhlYnJldyIsImhpIjoiSGluZGkiLCJobW4iOiJIbW9uZyIsImh1IjoiSHVuZ2FyaWFuIiwiaXMiOiJJY2VsYW5kaWMiLCJpZyI6IklnYm8iLCJpZCI6IkluZG9uZXNpYW4iLCJnYSI6IklyaXNoIiwiaXQiOiJJdGFsaWFuIiwiamEiOiJKYXBhbmVzZSIsImp3IjoiSmF2YW5lc2UiLCJrbiI6Ikthbm5hZGEiLCJrayI6IkthemFraCIsImttIjoiS2htZXIiLCJrbyI6IktvcmVhbiIsImt1IjoiS3VyZGlzaCAoS3VybWFuamkpIiwia3kiOiJLeXJneXoiLCJsbyI6IkxhbyIsImxhIjoiTGF0aW4iLCJsdiI6IkxhdHZpYW4iLCJsdCI6IkxpdGh1YW5pYW4iLCJsYiI6Ikx1eGVtYm91cmdpc2giLCJtayI6Ik1hY2Vkb25pYW4iLCJtZyI6Ik1hbGFnYXN5IiwibXMiOiJNYWxheSIsIm1sIjoiTWFsYXlhbGFtIiwibXQiOiJNYWx0ZXNlIiwibWkiOiJNYW9yaSIsIm1yIjoiTWFyYXRoaSIsIm1uIjoiTW9uZ29saWFuIiwibXkiOiJNeWFubWFyIChCdXJtZXNlKSIsIm5lIjoiTmVwYWxpIiwibm8iOiJOb3J3ZWdpYW4iLCJwcyI6IlBhc2h0byIsImZhIjoiUGVyc2lhbiIsInBsIjoiUG9saXNoIiwicHQiOiJQb3J0dWd1ZXNlIiwicGEiOiJQdW5qYWJpIiwicm8iOiJSb21hbmlhbiIsInJ1IjoiUnVzc2lhbiIsInNtIjoiU2Ftb2FuIiwiZ2QiOiJTY290dGlzaCBHYWVsaWMiLCJzciI6IlNlcmJpYW4iLCJzdCI6IlNlc290aG8iLCJzbiI6IlNob25hIiwic2QiOiJTaW5kaGkiLCJzaSI6IlNpbmhhbGEiLCJzayI6IlNsb3ZhayIsInNsIjoiU2xvdmVuaWFuIiwic28iOiJTb21hbGkiLCJlcyI6IlNwYW5pc2giLCJzdSI6IlN1bmRhbmVzZSIsInN3IjoiU3dhaGlsaSIsInN2IjoiU3dlZGlzaCIsInRnIjoiVGFqaWsiLCJ0YSI6IlRhbWlsIiwidGUiOiJUZWx1Z3UiLCJ0aCI6IlRoYWkiLCJ0ciI6IlR1cmtpc2giLCJ1ayI6IlVrcmFpbmlhbiIsInVyIjoiVXJkdSIsInV6IjoiVXpiZWsiLCJ2aSI6IlZpZXRuYW1lc2UiLCJjeSI6IldlbHNoIiwieGgiOiJYaG9zYSIsInlpIjoiWWlkZGlzaCIsInlvIjoiWW9ydWJhIiwienUiOiJadWx1In07CiAgICB2YXIgbGFuZ19hcnJheV9uYXRpdmUgPSB7ImFmIjoiQWZyaWthYW5zIiwic3EiOiJTaHFpcCIsImFtIjoiXHUxMmEwXHUxMjFiXHUxMjJkXHUxMjliIiwiYXIiOiJcdTA2MjdcdTA2NDRcdTA2MzlcdTA2MzFcdTA2MjhcdTA2NGFcdTA2MjkiLCJoeSI6Ilx1MDU0MFx1MDU2MVx1MDU3NVx1MDU2NVx1MDU4MFx1MDU2NVx1MDU3NiIsImF6IjoiQXpcdTAyNTlyYmF5Y2FuIGRpbGkiLCJldSI6IkV1c2thcmEiLCJiZSI6Ilx1MDQxMVx1MDQzNVx1MDQzYlx1MDQzMFx1MDQ0MFx1MDQ0M1x1MDQ0MVx1MDQzYVx1MDQzMFx1MDQ0ZiBcdTA0M2NcdTA0M2VcdTA0MzJcdTA0MzAiLCJibiI6Ilx1MDlhY1x1MDliZVx1MDk4Mlx1MDliMlx1MDliZSIsImJzIjoiQm9zYW5za2kiLCJiZyI6Ilx1MDQxMVx1MDQ0YVx1MDQzYlx1MDQzM1x1MDQzMFx1MDQ0MFx1MDQ0MVx1MDQzYVx1MDQzOCIsImNhIjoiQ2F0YWxcdTAwZTAiLCJjZWIiOiJDZWJ1YW5vIiwibnkiOiJDaGljaGV3YSIsInpoLUNOIjoiXHU3YjgwXHU0ZjUzXHU0ZTJkXHU2NTg3IiwiemgtVFciOiJcdTdlNDFcdTlhZDRcdTRlMmRcdTY1ODciLCJjbyI6IkNvcnN1IiwiaHIiOiJIcnZhdHNraSIsImNzIjoiXHUwMTBjZVx1MDE2MXRpbmFcdTIwMGUiLCJkYSI6IkRhbnNrIiwibmwiOiJOZWRlcmxhbmRzIiwiZW4iOiJFbmdsaXNoIiwiZW8iOiJFc3BlcmFudG8iLCJldCI6IkVlc3RpIiwidGwiOiJGaWxpcGlubyIsImZpIjoiU3VvbWkiLCJmciI6IkZyYW5cdTAwZTdhaXMiLCJmeSI6IkZyeXNrIiwiZ2wiOiJHYWxlZ28iLCJrYSI6Ilx1MTBlNVx1MTBkMFx1MTBlMFx1MTBkN1x1MTBlM1x1MTBkYVx1MTBkOCIsImRlIjoiRGV1dHNjaCIsImVsIjoiXHUwMzk1XHUwM2JiXHUwM2JiXHUwM2I3XHUwM2JkXHUwM2I5XHUwM2JhXHUwM2FjIiwiZ3UiOiJcdTBhOTdcdTBhYzFcdTBhOWNcdTBhYjBcdTBhYmVcdTBhYTRcdTBhYzAiLCJodCI6IktyZXlvbCBheWlzeWVuIiwiaGEiOiJIYXJzaGVuIEhhdXNhIiwiaGF3IjoiXHUwMTRjbGVsbyBIYXdhaVx1MDJiYmkiLCJpdyI6Ilx1MDVlMlx1MDViNFx1MDVkMVx1MDViMFx1MDVlOFx1MDViNFx1MDVkOVx1MDVlYSIsImhpIjoiXHUwOTM5XHUwOTNmXHUwOTI4XHUwOTRkXHUwOTI2XHUwOTQwIiwiaG1uIjoiSG1vbmciLCJodSI6Ik1hZ3lhciIsImlzIjoiXHUwMGNkc2xlbnNrYSIsImlnIjoiSWdibyIsImlkIjoiQmFoYXNhIEluZG9uZXNpYSIsImdhIjoiR2FlaWxnZSIsIml0IjoiSXRhbGlhbm8iLCJqYSI6Ilx1NjVlNVx1NjcyY1x1OGE5ZSIsImp3IjoiQmFzYSBKYXdhIiwia24iOiJcdTBjOTVcdTBjYThcdTBjY2RcdTBjYThcdTBjYTEiLCJrayI6Ilx1MDQ5YVx1MDQzMFx1MDQzN1x1MDQzMFx1MDQ5YiBcdTA0NDJcdTA0NTZcdTA0M2JcdTA0NTYiLCJrbSI6Ilx1MTc5N1x1MTdiNlx1MTc5Zlx1MTdiNlx1MTc4MVx1MTdkMlx1MTc5OFx1MTdjMlx1MTc5YSIsImtvIjoiXHVkNTVjXHVhZDZkXHVjNWI0Iiwia3UiOiJcdTA2NDNcdTA2NDhcdTA2MzFcdTA2MmZcdTA2Y2NcdTIwMGUiLCJreSI6Ilx1MDQxYVx1MDQ0Ylx1MDQ0MFx1MDQzM1x1MDQ0Ylx1MDQzN1x1MDQ0N1x1MDQzMCIsImxvIjoiXHUwZTllXHUwZWIyXHUwZWFhXHUwZWIyXHUwZWE1XHUwZWIyXHUwZWE3IiwibGEiOiJMYXRpbiIsImx2IjoiTGF0dmllXHUwMTYxdSB2YWxvZGEiLCJsdCI6IkxpZXR1dmlcdTAxNzMga2FsYmEiLCJsYiI6IkxcdTAwZWJ0emVidWVyZ2VzY2giLCJtayI6Ilx1MDQxY1x1MDQzMFx1MDQzYVx1MDQzNVx1MDQzNFx1MDQzZVx1MDQzZFx1MDQ0MVx1MDQzYVx1MDQzOCBcdTA0NThcdTA0MzBcdTA0MzdcdTA0MzhcdTA0M2EiLCJtZyI6Ik1hbGFnYXN5IiwibXMiOiJCYWhhc2EgTWVsYXl1IiwibWwiOiJcdTBkMmVcdTBkMzJcdTBkMmZcdTBkM2VcdTBkMzNcdTBkMDIiLCJtdCI6Ik1hbHRlc2UiLCJtaSI6IlRlIFJlbyBNXHUwMTAxb3JpIiwibXIiOiJcdTA5MmVcdTA5MzBcdTA5M2VcdTA5MjBcdTA5NDAiLCJtbiI6Ilx1MDQxY1x1MDQzZVx1MDQzZFx1MDQzM1x1MDQzZVx1MDQzYiIsIm15IjoiXHUxMDE3XHUxMDE5XHUxMDJjXHUxMDA1XHUxMDJjIiwibmUiOiJcdTA5MjhcdTA5NDdcdTA5MmFcdTA5M2VcdTA5MzJcdTA5NDAiLCJubyI6Ik5vcnNrIGJva21cdTAwZTVsIiwicHMiOiJcdTA2N2VcdTA2OWFcdTA2MmFcdTA2NDgiLCJmYSI6Ilx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjYyIsInBsIjoiUG9sc2tpIiwicHQiOiJQb3J0dWd1XHUwMGVhcyIsInBhIjoiXHUwYTJhXHUwYTcwXHUwYTFjXHUwYTNlXHUwYTJjXHUwYTQwIiwicm8iOiJSb21cdTAwZTJuXHUwMTAzIiwicnUiOiJcdTA0MjBcdTA0NDNcdTA0NDFcdTA0NDFcdTA0M2FcdTA0MzhcdTA0MzkiLCJzbSI6IlNhbW9hbiIsImdkIjoiR1x1MDBlMGlkaGxpZyIsInNyIjoiXHUwNDIxXHUwNDQwXHUwNDNmXHUwNDQxXHUwNDNhXHUwNDM4IFx1MDQ1OFx1MDQzNVx1MDQzN1x1MDQzOFx1MDQzYSIsInN0IjoiU2Vzb3RobyIsInNuIjoiU2hvbmEiLCJzZCI6Ilx1MDYzM1x1MDY0Nlx1MDY4Y1x1MDY0YSIsInNpIjoiXHUwZGMzXHUwZGQyXHUwZDgyXHUwZGM0XHUwZGJkIiwic2siOiJTbG92ZW5cdTAxMGRpbmEiLCJzbCI6IlNsb3Zlblx1MDE2MVx1MDEwZGluYSIsInNvIjoiQWZzb29tYWFsaSIsImVzIjoiRXNwYVx1MDBmMW9sIiwic3UiOiJCYXNhIFN1bmRhIiwic3ciOiJLaXN3YWhpbGkiLCJzdiI6IlN2ZW5za2EiLCJ0ZyI6Ilx1MDQyMlx1MDQzZVx1MDRiN1x1MDQzOFx1MDQzYVx1MDRlMyIsInRhIjoiXHUwYmE0XHUwYmFlXHUwYmJmXHUwYmI0XHUwYmNkIiwidGUiOiJcdTBjMjRcdTBjNDZcdTBjMzJcdTBjNDFcdTBjMTdcdTBjNDEiLCJ0aCI6Ilx1MGU0NFx1MGUxN1x1MGUyMiIsInRyIjoiVFx1MDBmY3JrXHUwMGU3ZSIsInVrIjoiXHUwNDIzXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDU3XHUwNDNkXHUwNDQxXHUwNDRjXHUwNDNhXHUwNDMwIiwidXIiOiJcdTA2MjdcdTA2MzFcdTA2MmZcdTA2NDgiLCJ1eiI6Ik9cdTIwMTh6YmVrY2hhIiwidmkiOiJUaVx1MWViZm5nIFZpXHUxZWM3dCIsImN5IjoiQ3ltcmFlZyIsInhoIjoiaXNpWGhvc2EiLCJ5aSI6Ilx1MDVkOVx1MDVkOVx1MDVkM1x1MDVkOVx1MDVlOSIsInlvIjoiWW9yXHUwMGY5Ylx1MDBlMSIsInp1IjoiWnVsdSJ9OwoKICAgIHZhciBkZWZhdWx0X2xhbmd1YWdlID0gZ3QuZGVmYXVsdF9sYW5ndWFnZTsKICAgIHZhciBsYW5ndWFnZXMgPSBndC5sYW5ndWFnZXN8fE9iamVjdC5rZXlzKGxhbmdfYXJyYXlfZW5nbGlzaCk7CiAgICB2YXIgYWx0X2ZsYWdzID0gZ3QuYWx0X2ZsYWdzfHx7fTsKICAgIHZhciBmbGFnX3N0eWxlID0gZ3QuZmxhZ19zdHlsZXx8JzJkJzsKICAgIHZhciBmbGFnc19sb2NhdGlvbiA9IGd0LmZsYWdzX2xvY2F0aW9ufHwnaHR0cHM6Ly9jZG4uZ3RyYW5zbGF0ZS5uZXQvZmxhZ3MvJzsKICAgIHZhciB1cmxfc3RydWN0dXJlID0gZ3QudXJsX3N0cnVjdHVyZXx8J25vbmUnOwogICAgdmFyIGN1c3RvbV9kb21haW5zID0gZ3QuY3VzdG9tX2RvbWFpbnN8fHt9OwogICAgdmFyIHN3aXRjaGVyX2hvcml6b250YWxfcG9zaXRpb24gPSBndC5zd2l0Y2hlcl9ob3Jpem9udGFsX3Bvc2l0aW9ufHwnbGVmdCc7CiAgICB2YXIgc3dpdGNoZXJfdmVydGljYWxfcG9zaXRpb24gPSBndC5zd2l0Y2hlcl92ZXJ0aWNhbF9wb3NpdGlvbnx8J2JvdHRvbSc7CiAgICB2YXIgZmxvYXRfc3dpdGNoZXJfb3Blbl9kaXJlY3Rpb24gPSBndC5mbG9hdF9zd2l0Y2hlcl9vcGVuX2RpcmVjdGlvbnx8J3RvcCc7CiAgICB2YXIgbmF0aXZlX2xhbmd1YWdlX25hbWVzID0gZ3QubmF0aXZlX2xhbmd1YWdlX25hbWVzfHxmYWxzZTsKICAgIHZhciBkZXRlY3RfYnJvd3Nlcl9sYW5ndWFnZSA9IGd0LmRldGVjdF9icm93c2VyX2xhbmd1YWdlfHxmYWxzZTsKICAgIHZhciB3cmFwcGVyX3NlbGVjdG9yID0gZ3Qud3JhcHBlcl9zZWxlY3Rvcnx8Jy5ndHJhbnNsYXRlX3dyYXBwZXInOwoKICAgIHZhciBjdXN0b21fY3NzID0gZ3QuY3VzdG9tX2Nzc3x8Jyc7CiAgICB2YXIgbGFuZ19hcnJheSA9IG5hdGl2ZV9sYW5ndWFnZV9uYW1lcyAmJiBsYW5nX2FycmF5X25hdGl2ZSB8fCBsYW5nX2FycmF5X2VuZ2xpc2g7CgogICAgdmFyIHVfY2xhc3MgPSAnLmd0X2NvbnRhaW5lci0nK0FycmF5LmZyb20oJ2Zsb2F0Jyt3cmFwcGVyX3NlbGVjdG9yKS5yZWR1Y2UoZnVuY3Rpb24oaCxjKXtyZXR1cm4gMHwoMzEqaCtjLmNoYXJDb2RlQXQoMCkpfSwwKS50b1N0cmluZygzNik7CgogICAgdmFyIHdpZGdldF9jb2RlID0gJzwhLS0gR1RyYW5zbGF0ZTogaHR0cHM6Ly9ndHJhbnNsYXRlLmNvbSAtLT4nOwogICAgdmFyIHdpZGdldF9jc3MgPSBjdXN0b21fY3NzOwoKICAgIGZsYWdzX2xvY2F0aW9uICs9IChmbGFnX3N0eWxlPT0nM2QnPzMyOidzdmcnKSsnLyc7CiAgICB2YXIgZmxhZ19leHQgPSBmbGFnX3N0eWxlPT0nM2QnPycucG5nJzonLnN2Zyc7CgogICAgLy8gaGVscGVyIGZ1bmN0aW9ucwogICAgZnVuY3Rpb24gZ2V0X2ZsYWdfc3JjKGxhbmcpIHsKICAgICAgICBpZighYWx0X2ZsYWdzW2xhbmddKQogICAgICAgICAgICByZXR1cm4gZmxhZ3NfbG9jYXRpb24rbGFuZytmbGFnX2V4dDsKICAgICAgICBlbHNlIGlmKGFsdF9mbGFnc1tsYW5nXSA9PSAndXNhJykKICAgICAgICAgICAgcmV0dXJuIGZsYWdzX2xvY2F0aW9uKydlbi11cycrZmxhZ19leHQ7CiAgICAgICAgZWxzZSBpZihhbHRfZmxhZ3NbbGFuZ10gPT0gJ2NhbmFkYScpCiAgICAgICAgICAgIHJldHVybiBmbGFnc19sb2NhdGlvbisnZW4tY2EnK2ZsYWdfZXh0OwogICAgICAgIGVsc2UgaWYoYWx0X2ZsYWdzW2xhbmddID09ICdicmF6aWwnKQogICAgICAgICAgICByZXR1cm4gZmxhZ3NfbG9jYXRpb24rJ3B0LWJyJytmbGFnX2V4dDsKICAgICAgICBlbHNlIGlmKGFsdF9mbGFnc1tsYW5nXSA9PSAnbWV4aWNvJykKICAgICAgICAgICAgcmV0dXJuIGZsYWdzX2xvY2F0aW9uKydlcy1teCcrZmxhZ19leHQ7CiAgICAgICAgZWxzZSBpZihhbHRfZmxhZ3NbbGFuZ10gPT0gJ2FyZ2VudGluYScpCiAgICAgICAgICAgIHJldHVybiBmbGFnc19sb2NhdGlvbisnZXMtYXInK2ZsYWdfZXh0OwogICAgICAgIGVsc2UgaWYoYWx0X2ZsYWdzW2xhbmddID09ICdjb2xvbWJpYScpCiAgICAgICAgICAgIHJldHVybiBmbGFnc19sb2NhdGlvbisnZXMtY28nK2ZsYWdfZXh0OwogICAgICAgIGVsc2UgaWYoYWx0X2ZsYWdzW2xhbmddID09ICdxdWViZWMnKQogICAgICAgICAgICByZXR1cm4gZmxhZ3NfbG9jYXRpb24rJ2ZyLXFjJytmbGFnX2V4dDsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiBhbHRfZmxhZ3NbbGFuZ107CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0X2xhbmdfaHJlZihsYW5nKSB7CiAgICAgICAgdmFyIGhyZWYgPSAnIyc7CgogICAgICAgIGlmKHVybF9zdHJ1Y3R1cmUgPT0gJ3N1Yl9kaXJlY3RvcnknKSB7CiAgICAgICAgICAgIHZhciBndF9yZXF1ZXN0X3VyaSA9IChkb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgnZGF0YS1ndC1vcmlnLXVybCcpIHx8IChsb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKCcvJytjdXJyZW50X2xhbmcrJy8nKSAmJiAnLycrbG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKS5zbGljZSgyKS5qb2luKCcvJykgfHwgbG9jYXRpb24ucGF0aG5hbWUpKSArIGxvY2F0aW9uLnNlYXJjaCArIGxvY2F0aW9uLmhhc2g7CiAgICAgICAgICAgIGhyZWYgPSAobGFuZyA9PSBkZWZhdWx0X2xhbmd1YWdlKSAmJiBsb2NhdGlvbi5wcm90b2NvbCsnLy8nK2xvY2F0aW9uLmhvc3RuYW1lK2d0X3JlcXVlc3RfdXJpIHx8IGxvY2F0aW9uLnByb3RvY29sKycvLycrbG9jYXRpb24uaG9zdG5hbWUrJy8nK2xhbmcrZ3RfcmVxdWVzdF91cmk7CiAgICAgICAgfSBlbHNlIGlmKHVybF9zdHJ1Y3R1cmUgPT0gJ3N1Yl9kb21haW4nKSB7CiAgICAgICAgICAgIHZhciBndF9yZXF1ZXN0X3VyaSA9IChkb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgnZGF0YS1ndC1vcmlnLXVybCcpIHx8IGxvY2F0aW9uLnBhdGhuYW1lKSArIGxvY2F0aW9uLnNlYXJjaCArIGxvY2F0aW9uLmhhc2g7CiAgICAgICAgICAgIHZhciBkb21haW4gPSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgnZGF0YS1ndC1vcmlnLWRvbWFpbicpIHx8IGxvY2F0aW9uLmhvc3RuYW1lOwogICAgICAgICAgICBpZih0eXBlb2YgY3VzdG9tX2RvbWFpbnMgPT0gJ29iamVjdCcgJiYgY3VzdG9tX2RvbWFpbnNbbGFuZ10pCiAgICAgICAgICAgICAgICBocmVmID0gKGxhbmcgPT0gZGVmYXVsdF9sYW5ndWFnZSkgJiYgbG9jYXRpb24ucHJvdG9jb2wrJy8vJytkb21haW4rZ3RfcmVxdWVzdF91cmkgfHwgbG9jYXRpb24ucHJvdG9jb2wrJy8vJytjdXN0b21fZG9tYWluc1tsYW5nXStndF9yZXF1ZXN0X3VyaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgaHJlZiA9IChsYW5nID09IGRlZmF1bHRfbGFuZ3VhZ2UpICYmIGxvY2F0aW9uLnByb3RvY29sKycvLycrZG9tYWluK2d0X3JlcXVlc3RfdXJpIHx8IGxvY2F0aW9uLnByb3RvY29sKycvLycrbGFuZysnLicrZG9tYWluLnJlcGxhY2UoL153d3dcLi8sICcnKStndF9yZXF1ZXN0X3VyaTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBocmVmOwogICAgfQoKICAgIHZhciBjdXJyZW50X2xhbmcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJykuZ2V0QXR0cmlidXRlKCdsYW5nJyl8fGRlZmF1bHRfbGFuZ3VhZ2U7CiAgICBpZih1cmxfc3RydWN0dXJlID09ICdub25lJykgewogICAgICAgIHZhciBnb29ndHJhbnNfbWF0Y2hlcyA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaCgnKF58OykgP2dvb2d0cmFucz0oW147XSopKDt8JCknKTsKICAgICAgICBjdXJyZW50X2xhbmcgPSBnb29ndHJhbnNfbWF0Y2hlcyAmJiBnb29ndHJhbnNfbWF0Y2hlc1syXS5zcGxpdCgnLycpWzJdIHx8IGN1cnJlbnRfbGFuZzsKICAgIH0KCiAgICBpZighbGFuZ19hcnJheVtjdXJyZW50X2xhbmddKQogICAgICAgIGN1cnJlbnRfbGFuZyA9IGRlZmF1bHRfbGFuZ3VhZ2U7CgogICAgaWYodXJsX3N0cnVjdHVyZSA9PSAnbm9uZScpIHsKICAgICAgICB3aWRnZXRfY29kZSArPSAnPGRpdiBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MiI+PC9kaXY+JzsKCiAgICAgICAgd2lkZ2V0X2NzcyArPSAiZGl2LnNraXB0cmFuc2xhdGUsI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudDJ7ZGlzcGxheTpub25lIWltcG9ydGFudH0iOwogICAgICAgIHdpZGdldF9jc3MgKz0gImJvZHl7dG9wOjAhaW1wb3J0YW50fSI7CiAgICAgICAgd2lkZ2V0X2NzcyArPSAiZm9udCBmb250e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7cG9zaXRpb246aW5pdGlhbCFpbXBvcnRhbnR9IjsKICAgIH0KCiAgICB3aWRnZXRfY3NzICs9ICcuZ3RfZmxvYXRfc3dpdGNoZXJ7Zm9udC1mYW1pbHk6QXJpYWw7Zm9udC1zaXplOjIwcHg7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6IzU1NTtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoyMHB4O2JveC1zaGFkb3c6cmdiYSgwLDAsMCwwLjE1KSAwIDVweCAxNXB4O2JhY2tncm91bmQ6I2ZmZjtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpfSc7CiAgICB3aWRnZXRfY3NzICs9ICcuZ3RfZmxvYXRfc3dpdGNoZXIgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDozM3B4O2hlaWdodDphdXRvO21hcmdpbjowIDVweCAwIDA7Ym9yZGVyLXJhZGl1czozcHh9JzsKICAgIGlmKGZsb2F0X3N3aXRjaGVyX29wZW5fZGlyZWN0aW9uID09ICdsZWZ0JyB8fCBmbG9hdF9zd2l0Y2hlcl9vcGVuX2RpcmVjdGlvbiA9PSAncmlnaHQnKSB7CiAgICAgICAgdmFyIG1heF93aWR0aCA9IDAuNyAqIHdpbmRvdy5pbm5lcldpZHRoIC0gMTIwOwogICAgICAgIGlmKHdpbmRvdy5pbm5lcldpZHRoIDwgMTAwMCkKICAgICAgICAgICAgbWF4X3dpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSAyNjA7CiAgICAgICAgbWF4X3dpZHRoICs9ICdweCc7CgogICAgICAgIGlmKHN3aXRjaGVyX2hvcml6b250YWxfcG9zaXRpb24gPT0gJ2lubGluZScpCiAgICAgICAgICAgIG1heF93aWR0aCA9ICdjYWxjKDEwMCUgLSAxMjJweCknOwoKICAgICAgICAvLyB0b2RvOiBvcHRpbWl6ZQogICAgICAgIHdpZGdldF9jc3MgKz0gJy5ndF9mbG9hdF9zd2l0Y2hlciAuZ3Rfb3B0aW9uc3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojc3Nzt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxvYXQ6JytmbG9hdF9zd2l0Y2hlcl9vcGVuX2RpcmVjdGlvbisnO21heC13aWR0aDonK21heF93aWR0aCsnO292ZXJmbG93OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtJyt3aW5kb3cuaW5uZXJXaWR0aCsncHgpO29wYWNpdHk6MDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuOHMgY3ViaWMtYmV6aWVyKC4zLDEuMSwuNCwxLjEpfSc7CiAgICAgICAgd2lkZ2V0X2NzcyArPSAnLmd0X2Zsb2F0X3N3aXRjaGVyIC5ndF9vcHRpb25zIGF7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzonKyhmbGFnX3N0eWxlPT0nM2QnPzY6MTApKydweCAxNXB4O2NvbG9yOiM0NDQ7dHJhbnNpdGlvbjpjb2xvciAuNHMgbGluZWFyfSc7CiAgICAgICAgd2lkZ2V0X2NzcyArPSAnLmd0X2Zsb2F0X3N3aXRjaGVyIC5ndC1zZWxlY3RlZHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojg4ODtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZmxvYXQ6bGVmdDtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7b3ZlcmZsb3c6aGlkZGVuOycrKHN3aXRjaGVyX2hvcml6b250YWxfcG9zaXRpb24gIT0gJ2lubGluZScgJiYgJ3RleHQtYWxpZ246Jytzd2l0Y2hlcl9ob3Jpem9udGFsX3Bvc2l0aW9uKSsnfSc7CiAgICB9IGVsc2UgewogICAgICAgIHdpZGdldF9jc3MgKz0gJy5ndF9mbG9hdF9zd2l0Y2hlciAuZ3Rfb3B0aW9uc3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojc3NzttYXgtaGVpZ2h0OjI1MHB4O292ZXJmbG93LXk6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCk7b3BhY2l0eTowO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC44cyBjdWJpYy1iZXppZXIoLjMsMS4xLC40LDEuMSl9JzsKICAgICAgICB3aWRnZXRfY3NzICs9ICcuZ3RfZmxvYXRfc3dpdGNoZXIgLmd0X29wdGlvbnMgYXtkaXNwbGF5OmJsb2NrO3RleHQtZGVjb3JhdGlvbjpub25lO3BhZGRpbmc6JysoZmxhZ19zdHlsZT09JzNkJz82OjEwKSsncHggMTVweDtjb2xvcjojNDQ0O3RyYW5zaXRpb246Y29sb3IgLjRzIGxpbmVhcn0nOwogICAgICAgIHdpZGdldF9jc3MgKz0gJy5ndF9mbG9hdF9zd2l0Y2hlciAuZ3Qtc2VsZWN0ZWR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo4ODg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtvdmVyZmxvdzpoaWRkZW47Jysoc3dpdGNoZXJfaG9yaXpvbnRhbF9wb3NpdGlvbiAhPSAnaW5saW5lJyAmJiAndGV4dC1hbGlnbjonK3N3aXRjaGVyX2hvcml6b250YWxfcG9zaXRpb24pKyd9JzsKICAgIH0KICAgIHdpZGdldF9jc3MgKz0gJy5ndF9mbG9hdF9zd2l0Y2hlciAuZ3Rfb3B0aW9ucy5ndC1vcGVue29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpfSc7CgogICAgd2lkZ2V0X2NzcyArPSAnLmd0X2Zsb2F0X3N3aXRjaGVyIC5ndF9vcHRpb25zOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9JzsKICAgIHdpZGdldF9jc3MgKz0gJy5ndF9mbG9hdF9zd2l0Y2hlciAuZ3Rfb3B0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NXB4fSc7CiAgICB3aWRnZXRfY3NzICs9ICcuZ3RfZmxvYXRfc3dpdGNoZXIgLmd0X29wdGlvbnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6Izg4OH0nOwogICAgd2lkZ2V0X2NzcyArPSAnLmd0X2Zsb2F0X3N3aXRjaGVyIC5ndF9vcHRpb25zIGE6aG92ZXJ7YmFja2dyb3VuZDojNjA3MGEwO2NvbG9yOiNmZmZ9JzsKICAgIHdpZGdldF9jc3MgKz0gJy5ndF9mbG9hdF9zd2l0Y2hlciAuZ3Rfb3B0aW9ucyBhLmd0LWN1cnJlbnR7ZGlzcGxheTpub25lfSc7CiAgICB3aWRnZXRfY3NzICs9ICcuZ3RfZmxvYXRfc3dpdGNoZXIgLmd0LXNlbGVjdGVkIC5ndC1jdXJyZW50LWxhbmd7cGFkZGluZzonKyhmbGFnX3N0eWxlPT0nM2QnPzY6MTApKydweCAxNXB4O2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6Ym9sZH0nOwogICAgd2lkZ2V0X2NzcyArPSAnLmd0X2Zsb2F0X3N3aXRjaGVyIC5ndC1zZWxlY3RlZCAuZ3QtY3VycmVudC1sYW5nIHNwYW4uZ3QtbGFuZy1jb2Rle3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHh9JzsKCiAgICB2YXIgYXJyX2FuZ2xlID0gKGZsb2F0X3N3aXRjaGVyX29wZW5fZGlyZWN0aW9uID09ICdsZWZ0J3x8ZmxvYXRfc3dpdGNoZXJfb3Blbl9kaXJlY3Rpb24gPT0gJ3JpZ2h0Jyk/OTA6MDsKICAgIHdpZGdldF9jc3MgKz0gIi5ndF9mbG9hdF9zd2l0Y2hlciAuZ3Qtc2VsZWN0ZWQgLmd0LWN1cnJlbnQtbGFuZyBzcGFuLmd0X2Zsb2F0X3N3aXRjaGVyLWFycm93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyNHB4O3dpZHRoOjE1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI4NSAyODUnPjxwYXRoIGQ9J00yODIgNzYuNWwtMTQuMi0xNC4zYTkgOSAwIDAgMC0xMy4xIDBMMTQyLjUgMTc0LjQgMzAuMyA2Mi4yYTkgOSAwIDAgMC0xMy4yIDBMMyA3Ni41YTkgOSAwIDAgMCAwIDEzLjFsMTMzIDEzM2E5IDkgMCAwIDAgMTMuMSAwbDEzMy0xMzNhOSA5IDAgMCAwIDAtMTN6JyBzdHlsZT0nZmlsbDolMjM2NjYnLz48L3N2Zz5cIik7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1zaXplOjExcHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3RyYW5zaXRpb246YWxsIC4zczt0cmFuc2Zvcm06cm90YXRlKCIrKGFycl9hbmdsZS0xODApKyJkZWcpfSI7CiAgICB3aWRnZXRfY3NzICs9ICcuZ3RfZmxvYXRfc3dpdGNoZXIgLmd0LXNlbGVjdGVkIC5ndC1jdXJyZW50LWxhbmcgc3Bhbi5ndF9mbG9hdF9zd2l0Y2hlci1hcnJvdy5ndF9hcnJvd19yb3RhdGV7dHJhbnNmb3JtOnJvdGF0ZSgnK2Fycl9hbmdsZSsnZGVnKX0nOwoKICAgIGlmKHN3aXRjaGVyX2hvcml6b250YWxfcG9zaXRpb24gPT0gJ2lubGluZScpCiAgICAgICAgd2lkZ2V0X2NvZGUgKz0gJzxkaXYgaWQ9Imd0X2Zsb2F0X3dyYXBwZXIiPjxkaXYgY2xhc3M9Imd0X2Zsb2F0X3N3aXRjaGVyIG5vdHJhbnNsYXRlIiBzdHlsZT0ib3BhY2l0eTowIj4nOwogICAgZWxzZQogICAgICAgIHdpZGdldF9jb2RlICs9ICc8ZGl2IGlkPSJndF9mbG9hdF93cmFwcGVyIiBzdHlsZT0icG9zaXRpb246Zml4ZWQ7Jytzd2l0Y2hlcl92ZXJ0aWNhbF9wb3NpdGlvbisnOjIwcHg7Jytzd2l0Y2hlcl9ob3Jpem9udGFsX3Bvc2l0aW9uKyc6MjBweDt6LWluZGV4Ojk5OTk5OTsiPjxkaXYgY2xhc3M9Imd0X2Zsb2F0X3N3aXRjaGVyIG5vdHJhbnNsYXRlIiBzdHlsZT0ib3BhY2l0eTowIj4nOwoKICAgIHZhciBndF9jdXJyZW50X2RpdiA9ICc8ZGl2IGNsYXNzPSJndC1zZWxlY3RlZCI+PGRpdiBjbGFzcz0iZ3QtY3VycmVudC1sYW5nIj48aW1nIHNyYz0iJytnZXRfZmxhZ19zcmMoY3VycmVudF9sYW5nKSsnIiBhbHQ9IicrY3VycmVudF9sYW5nKyciPiA8c3BhbiBjbGFzcz0iZ3QtbGFuZy1jb2RlIj4nK2N1cnJlbnRfbGFuZysnPC9zcGFuPiA8c3BhbiBjbGFzcz0iZ3RfZmxvYXRfc3dpdGNoZXItYXJyb3ciPjwvc3Bhbj48L2Rpdj48L2Rpdj4nOwogICAgdmFyIGd0X29wdGlvbnNfZGl2ID0gJzxkaXYgY2xhc3M9Imd0X29wdGlvbnMiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPic7CiAgICBsYW5ndWFnZXMuZm9yRWFjaChmdW5jdGlvbihsYW5nKSB7CiAgICAgICAgdmFyIGVsX2EgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CiAgICAgICAgZWxfYS5ocmVmID0gZ2V0X2xhbmdfaHJlZihsYW5nKTsKICAgICAgICBlbF9hLmNsYXNzTGlzdC5hZGQoJ250dXJsJyk7CiAgICAgICAgY3VycmVudF9sYW5nID09IGxhbmcgJiYgZWxfYS5jbGFzc0xpc3QuYWRkKCdndC1jdXJyZW50Jyk7CiAgICAgICAgZWxfYS5zZXRBdHRyaWJ1dGUoJ2RhdGEtZ3QtbGFuZycsIGxhbmcpOwoKICAgICAgICB2YXIgZWxfaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CiAgICAgICAgZWxfaW1nLnNldEF0dHJpYnV0ZSgnZGF0YS1ndC1sYXp5LXNyYycsIGdldF9mbGFnX3NyYyhsYW5nKSk7CiAgICAgICAgZWxfaW1nLmFsdCA9IGxhbmc7CgogICAgICAgIGVsX2EuYXBwZW5kQ2hpbGQoZWxfaW1nKTsKICAgICAgICBlbF9hLmlubmVySFRNTCArPSAnICcgKyBsYW5nX2FycmF5W2xhbmddOwoKICAgICAgICBndF9vcHRpb25zX2RpdiArPSBlbF9hLm91dGVySFRNTDsKICAgIH0pOwogICAgZ3Rfb3B0aW9uc19kaXYgKz0gJzwvZGl2Pic7CgogICAgaWYoKHN3aXRjaGVyX3ZlcnRpY2FsX3Bvc2l0aW9uID09ICd0b3AnICYmIGZsb2F0X3N3aXRjaGVyX29wZW5fZGlyZWN0aW9uID09ICdib3R0b20nKSB8fCAoc3dpdGNoZXJfdmVydGljYWxfcG9zaXRpb24gPT0gJ2JvdHRvbScgJiYgZmxvYXRfc3dpdGNoZXJfb3Blbl9kaXJlY3Rpb24gPT0gJ2JvdHRvbScpKQogICAgICAgIHdpZGdldF9jb2RlICs9IGd0X2N1cnJlbnRfZGl2ICsgZ3Rfb3B0aW9uc19kaXY7CiAgICBlbHNlCiAgICAgICAgd2lkZ2V0X2NvZGUgKz0gZ3Rfb3B0aW9uc19kaXYgKyBndF9jdXJyZW50X2RpdjsKCiAgICB3aWRnZXRfY29kZSArPSAnPC9kaXY+PC9kaXY+JzsKCiAgICB2YXIgYWRkX2NzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICBhZGRfY3NzLmNsYXNzTGlzdC5hZGQoJ2d0cmFuc2xhdGVfY3NzJyk7CiAgICBhZGRfY3NzLnRleHRDb250ZW50ID0gd2lkZ2V0X2NzczsKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYWRkX2Nzcyk7CgogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh3cmFwcGVyX3NlbGVjdG9yKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2xhc3NMaXN0LmFkZCh1X2NsYXNzLnN1YnN0cmluZygxKSk7ZS5pbm5lckhUTUwrPXdpZGdldF9jb2RlfSk7CgogICAgaWYodXJsX3N0cnVjdHVyZSA9PSAnbm9uZScpIHsKICAgICAgICBmdW5jdGlvbiBnZXRfY3VycmVudF9sYW5nKCkge3ZhciBrZXlWYWx1ZSA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaCgnKF58OykgP2dvb2d0cmFucz0oW147XSopKDt8JCknKTtyZXR1cm4ga2V5VmFsdWUgPyBrZXlWYWx1ZVsyXS5zcGxpdCgnLycpWzJdIDogbnVsbDt9CiAgICAgICAgZnVuY3Rpb24gZmlyZV9ldmVudChlbGVtZW50LGV2ZW50KXt0cnl7aWYoZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3Qpe3ZhciBldnQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QoKTtlbGVtZW50LmZpcmVFdmVudCgnb24nK2V2ZW50LGV2dCl9ZWxzZXt2YXIgZXZ0PWRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7ZXZ0LmluaXRFdmVudChldmVudCx0cnVlLHRydWUpO2VsZW1lbnQuZGlzcGF0Y2hFdmVudChldnQpfX1jYXRjaChlKXt9fQogICAgICAgIGZ1bmN0aW9uIGxvYWRfdGxpYigpe2lmKCF3aW5kb3cuZ3RfdHJhbnNsYXRlX3NjcmlwdCl7d2luZG93Lmd0X3RyYW5zbGF0ZV9zY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7Z3RfdHJhbnNsYXRlX3NjcmlwdC5zcmM9J2h0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20vdHJhbnNsYXRlX2EvZWxlbWVudC5qcz9jYj1nb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdDInO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZ3RfdHJhbnNsYXRlX3NjcmlwdCk7fX0KICAgICAgICB3aW5kb3cuZG9HVHJhbnNsYXRlID0gZnVuY3Rpb24obGFuZ19wYWlyKXtpZihsYW5nX3BhaXIudmFsdWUpbGFuZ19wYWlyPWxhbmdfcGFpci52YWx1ZTtpZihsYW5nX3BhaXI9PScnKXJldHVybjt2YXIgbGFuZz1sYW5nX3BhaXIuc3BsaXQoJ3wnKVsxXTtpZihnZXRfY3VycmVudF9sYW5nKCkgPT0gbnVsbCAmJiBsYW5nID09IGxhbmdfcGFpci5zcGxpdCgnfCcpWzBdKXJldHVybjt2YXIgdGVDb21ibzt2YXIgc2VsPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTtmb3IodmFyIGk9MDtpPHNlbC5sZW5ndGg7aSsrKWlmKHNlbFtpXS5jbGFzc05hbWUuaW5kZXhPZignZ29vZy10ZS1jb21ibycpIT0tMSl7dGVDb21ibz1zZWxbaV07YnJlYWs7fWlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQyJyk9PW51bGx8fGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQyJykuaW5uZXJIVE1MLmxlbmd0aD09MHx8dGVDb21iby5sZW5ndGg9PTB8fHRlQ29tYm8uaW5uZXJIVE1MLmxlbmd0aD09MCl7c2V0VGltZW91dChmdW5jdGlvbigpe2RvR1RyYW5zbGF0ZShsYW5nX3BhaXIpfSw1MDApfWVsc2V7dGVDb21iby52YWx1ZT1sYW5nO2ZpcmVfZXZlbnQodGVDb21ibywnY2hhbmdlJyk7ZmlyZV9ldmVudCh0ZUNvbWJvLCdjaGFuZ2UnKX19CiAgICAgICAgd2luZG93Lmdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0Mj1mdW5jdGlvbigpe25ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoe3BhZ2VMYW5ndWFnZTpkZWZhdWx0X2xhbmd1YWdlLGF1dG9EaXNwbGF5OmZhbHNlfSwnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpfTsKCiAgICAgICAgaWYoY3VycmVudF9sYW5nICE9IGRlZmF1bHRfbGFuZ3VhZ2UpCiAgICAgICAgICAgIGxvYWRfdGxpYigpOwogICAgICAgIGVsc2UKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh1X2NsYXNzKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmVudGVyJyxsb2FkX3RsaWIpO2UuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsbG9hZF90bGliKX0pOwogICAgfQoKICAgIHZhciBndF9mbG9hdF9vcGVuID0gZmFsc2U7CiAgICBmdW5jdGlvbiBndF9oc2Nyb2xsKGV2dCl7dmFyIHRndCA9IGV2dC50YXJnZXQ7aWYodGd0LnRhZ05hbWUgPT0gJ0EnKXRndD10Z3QucGFyZW50Tm9kZTtlbHNlIGlmKHRndC50YWdOYW1lID09ICdJTUcnKXRndD10Z3QucGFyZW50Tm9kZS5wYXJlbnROb2RlO2lmKGV2dC50eXBlID09ICdtb3VzZXdoZWVsJyl7ZXZ0LnByZXZlbnREZWZhdWx0KCk7dGd0LnNjcm9sbExlZnQgLT0gTWF0aC5zaWduKGV2dC53aGVlbERlbHRhKSAqIDg4O31lbHNlIGlmKGV2dC50eXBlID09ICd0b3VjaHN0YXJ0Jyl7Z3RfdG91Y2hzdGFydF9wb3N4ID0gZ3RfdG91Y2hzdGFydF9wb3N4X3N0YXRpYyA9IGV2dC50b3VjaGVzWzBdLnBhZ2VYO2d0X3RvdWNoc3RhcnRfdGltZXN0YW1wID0gZXZ0LnRpbWVTdGFtcDt9ZWxzZSBpZihldnQudHlwZSA9PSAndG91Y2htb3ZlJyl7ZXZ0LnByZXZlbnREZWZhdWx0KCk7dGd0LnNjcm9sbExlZnQgKz0gTWF0aC5zaWduKGd0X3RvdWNoc3RhcnRfcG9zeCAtIGV2dC50b3VjaGVzWzBdLnBhZ2VYKSAqIDEwO2d0X3RvdWNoc3RhcnRfcG9zeCA9IGV2dC50b3VjaGVzWzBdLnBhZ2VYO31lbHNlIGlmKGV2dC50eXBlID09ICd0b3VjaGVuZCcpe3ZhciBzY3JvbGxfc3BlZWQgPSAoZ3RfdG91Y2hzdGFydF9wb3N4X3N0YXRpYyAtIGV2dC5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWCkgLyAoZXZ0LnRpbWVTdGFtcCAtIGd0X3RvdWNoc3RhcnRfdGltZXN0YW1wKTt0Z3Quc2Nyb2xsVG8oe2xlZnQ6IHRndC5zY3JvbGxMZWZ0ICsgc2Nyb2xsX3NwZWVkICogNTAwLCBiZWhhdmlvcjogJ3Ntb290aCd9KTt9fQogICAgZnVuY3Rpb24gZ3Rfc2hvd19mbG9hdF9zd2l0Y2hlcihlbCl7CiAgICAgICAgZ3RfZmxvYXRfb3Blbj10cnVlOwogICAgICAgIGlmKHN3aXRjaGVyX2hvcml6b250YWxfcG9zaXRpb24gPT0gJ2lubGluZScpCiAgICAgICAgICAgIGVsLnF1ZXJ5U2VsZWN0b3IodV9jbGFzcyArICcgLmd0X29wdGlvbnMnKS5zdHlsZS5tYXhXaWR0aCA9IChlbC5wYXJlbnROb2RlLmNsaWVudFdpZHRoIC0gZWwuY2xpZW50V2lkdGggLSAxKSArICdweCc7CiAgICAgICAgZWwucXVlcnlTZWxlY3RvckFsbCh1X2NsYXNzICsgJyAuZ3Rfb3B0aW9ucyBhIGltZzpub3QoW3NyY10pJykuZm9yRWFjaChmdW5jdGlvbihpbWcpe2ltZy5zZXRBdHRyaWJ1dGUoJ3NyYycsIGltZy5nZXRBdHRyaWJ1dGUoJ2RhdGEtZ3QtbGF6eS1zcmMnKSk7fSk7CiAgICAgICAgZWwucXVlcnlTZWxlY3Rvcih1X2NsYXNzICsgJyAuZ3Qtc2VsZWN0ZWQgc3Bhbi5ndF9mbG9hdF9zd2l0Y2hlci1hcnJvdycpLmNsYXNzTGlzdC5hZGQoJ2d0X2Fycm93X3JvdGF0ZScpOwogICAgICAgIGVsLnF1ZXJ5U2VsZWN0b3JBbGwodV9jbGFzcyArICcgLmd0X29wdGlvbnMnKS5mb3JFYWNoKGZ1bmN0aW9uKGUpewogICAgICAgICAgICBlLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgZS5jbGFzc0xpc3QuYWRkKCdndC1vcGVuJyk7CiAgICAgICAgICAgICAgICBpZihmbG9hdF9zd2l0Y2hlcl9vcGVuX2RpcmVjdGlvbiA9PSAnbGVmdCcgfHwgZmxvYXRfc3dpdGNoZXJfb3Blbl9kaXJlY3Rpb24gPT0gJ3JpZ2h0JykgewogICAgICAgICAgICAgICAgICAgIGUuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V3aGVlbCcsIGd0X2hzY3JvbGwpOwogICAgICAgICAgICAgICAgICAgIGUuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIGd0X2hzY3JvbGwpOwogICAgICAgICAgICAgICAgICAgIGUuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgZ3RfaHNjcm9sbCk7CiAgICAgICAgICAgICAgICAgICAgZS5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGd0X2hzY3JvbGwpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LDIwMCk7CiAgICAgICAgfSk7CiAgICB9CiAgICBmdW5jdGlvbiBndF9oaWRlX2Zsb2F0X3N3aXRjaGVyKCl7CiAgICAgICAgZ3RfZmxvYXRfb3Blbj1mYWxzZTsKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHVfY2xhc3MgKyAnIC5ndF9mbG9hdF9zd2l0Y2hlciAuZ3Qtc2VsZWN0ZWQgc3Bhbi5ndF9mbG9hdF9zd2l0Y2hlci1hcnJvdy5ndF9hcnJvd19yb3RhdGUnKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2xhc3NMaXN0LnJlbW92ZSgnZ3RfYXJyb3dfcm90YXRlJyl9KTsKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHVfY2xhc3MgKyAnIC5ndF9mbG9hdF9zd2l0Y2hlciAuZ3Rfb3B0aW9ucy5ndC1vcGVuJykuZm9yRWFjaChmdW5jdGlvbihlKXsKICAgICAgICAgICAgaWYoZmxvYXRfc3dpdGNoZXJfb3Blbl9kaXJlY3Rpb24gPT0gJ2xlZnQnIHx8IGZsb2F0X3N3aXRjaGVyX29wZW5fZGlyZWN0aW9uID09ICdyaWdodCcpIHsKICAgICAgICAgICAgICAgIGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V3aGVlbCcsIGd0X2hzY3JvbGwpOwogICAgICAgICAgICAgICAgZS5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZ3RfaHNjcm9sbCk7CiAgICAgICAgICAgICAgICBlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIGd0X2hzY3JvbGwpOwogICAgICAgICAgICAgICAgZS5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGd0X2hzY3JvbGwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGUuY2xhc3NMaXN0LnJlbW92ZSgnZ3Qtb3BlbicpOwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5zdHlsZS5kaXNwbGF5PSdub25lJ30sMjAwKTsKICAgICAgICB9KTsKICAgIH0KICAgIGZ1bmN0aW9uIGd0X3VwZGF0ZV9mbG9hdF9sYW5ndWFnZShlbCl7CiAgICAgICAgdmFyIGxhbmc9ZWwuZ2V0QXR0cmlidXRlKCdkYXRhLWd0LWxhbmcnKTsKICAgICAgICB2YXIgaW1nX3NyYz1lbC5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJ2FbZGF0YS1ndC1sYW5nPSInK2xhbmcrJyJdIGltZycpLmdldEF0dHJpYnV0ZSgnc3JjJyk7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe2VsLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignYS5ndC1jdXJyZW50JykuY2xhc3NMaXN0LnJlbW92ZSgnZ3QtY3VycmVudCcpO2VsLmNsYXNzTGlzdC5hZGQoJ2d0LWN1cnJlbnQnKTt9LDQwMCk7CiAgICAgICAgZWwucGFyZW50Tm9kZS5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJy5ndC1zZWxlY3RlZCBpbWcnKS5zZXRBdHRyaWJ1dGUoJ3NyYycsaW1nX3NyYyk7CiAgICAgICAgZWwucGFyZW50Tm9kZS5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJy5ndC1zZWxlY3RlZCBzcGFuLmd0LWxhbmctY29kZScpLmlubmVyVGV4dD1sYW5nOwogICAgICAgIGd0X2hpZGVfZmxvYXRfc3dpdGNoZXIoKTsKICAgIH0KCiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh1X2NsYXNzICsgJyAuZ3RfZmxvYXRfc3dpdGNoZXInKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uuc3R5bGUub3BhY2l0eT0xfSl9LDIwKTsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodV9jbGFzcyArICcgYVtkYXRhLWd0LWxhbmddJykuZm9yRWFjaChmdW5jdGlvbihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihldnQpewogICAgICAgIGlmKHVybF9zdHJ1Y3R1cmUgPT0gJ25vbmUnKSB7CiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBkb0dUcmFuc2xhdGUoZGVmYXVsdF9sYW5ndWFnZSsnfCcrZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZ3QtbGFuZycpKTsKICAgICAgICB9CiAgICAgICAgZ3RfdXBkYXRlX2Zsb2F0X2xhbmd1YWdlKGUpOwogICAgfSl9KTsKCiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHVfY2xhc3MgKyAnIGRpdi5ndC1zZWxlY3RlZCcpLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZXZ0KXtldnQuc3RvcFByb3BhZ2F0aW9uKCk7aWYoZ3RfZmxvYXRfb3BlbilndF9oaWRlX2Zsb2F0X3N3aXRjaGVyKCk7ZWxzZSBndF9zaG93X2Zsb2F0X3N3aXRjaGVyKGUucGFyZW50Tm9kZSk7fSk7CiAgICAgICAgZS5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZW50ZXInLGZ1bmN0aW9uKGV2dCl7ZXZ0LnRhcmdldC5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ndF9vcHRpb25zIGltZzpub3QoW3NyY10pJykuZm9yRWFjaChmdW5jdGlvbihpbWcpe2ltZy5zZXRBdHRyaWJ1dGUoJ3NyYycsIGltZy5nZXRBdHRyaWJ1dGUoJ2RhdGEtZ3QtbGF6eS1zcmMnKSl9KX0pOwogICAgfSk7CgogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7aWYoZ3RfZmxvYXRfb3BlbilndF9oaWRlX2Zsb2F0X3N3aXRjaGVyKCl9KTsKCiAgICBpZihkZXRlY3RfYnJvd3Nlcl9sYW5ndWFnZSAmJiB3aW5kb3cubG9jYWxTdG9yYWdlICYmIHdpbmRvdy5uYXZpZ2F0b3IgJiYgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2d0X2F1dG9zd2l0Y2gnKSA9PSBudWxsICYmICEvYm90fHNwaWRlcnxzbHVycHxmYWNlYm9vay9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpIHsKICAgICAgICB2YXIgYWNjZXB0X2xhbmd1YWdlID0gKG5hdmlnYXRvci5sYW5ndWFnZXx8bmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkudG9Mb3dlckNhc2UoKTsKICAgICAgICBzd2l0Y2goYWNjZXB0X2xhbmd1YWdlKSB7CiAgICAgICAgICAgIGNhc2UgJ3poJzoKICAgICAgICAgICAgY2FzZSAnemgtY24nOnZhciBwcmVmZXJyZWRfbGFuZ3VhZ2UgPSAnemgtQ04nO2JyZWFrOwogICAgICAgICAgICBjYXNlICd6aC10dyc6CiAgICAgICAgICAgIGNhc2UgJ3poLWhrJzp2YXIgcHJlZmVycmVkX2xhbmd1YWdlID0gJ3poLVRXJzticmVhazsKICAgICAgICAgICAgY2FzZSAnaGUnOnZhciBwcmVmZXJyZWRfbGFuZ3VhZ2UgPSAnaXcnO2JyZWFrOwogICAgICAgICAgICBkZWZhdWx0OnZhciBwcmVmZXJyZWRfbGFuZ3VhZ2UgPSBhY2NlcHRfbGFuZ3VhZ2Uuc3Vic3RyKDAsMik7YnJlYWs7CiAgICAgICAgfQoKICAgICAgICBpZihjdXJyZW50X2xhbmcgPT0gZGVmYXVsdF9sYW5ndWFnZSAmJiBwcmVmZXJyZWRfbGFuZ3VhZ2UgIT0gZGVmYXVsdF9sYW5ndWFnZSAmJiBsYW5ndWFnZXMuaW5jbHVkZXMocHJlZmVycmVkX2xhbmd1YWdlKSkgewogICAgICAgICAgICBpZih1cmxfc3RydWN0dXJlID09ICdub25lJykgewogICAgICAgICAgICAgICAgbG9hZF90bGliKCk7CiAgICAgICAgICAgICAgICB3aW5kb3cuZ3RfdHJhbnNsYXRlX3NjcmlwdC5vbmxvYWQ9ZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICBkb0dUcmFuc2xhdGUoZGVmYXVsdF9sYW5ndWFnZSsnfCcrcHJlZmVycmVkX2xhbmd1YWdlKTsKICAgICAgICAgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHVfY2xhc3MrJyBhW2RhdGEtZ3QtbGFuZz0iJytwcmVmZXJyZWRfbGFuZ3VhZ2UrJyJdJyk7CiAgICAgICAgICAgICAgICAgICAgZWwucXVlcnlTZWxlY3RvckFsbCgnaW1nOm5vdChbc3JjXSknKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uuc2V0QXR0cmlidXRlKCdzcmMnLCBlLmdldEF0dHJpYnV0ZSgnZGF0YS1ndC1sYXp5LXNyYycpKX0pOwogICAgICAgICAgICAgICAgICAgIGd0X3VwZGF0ZV9mbG9hdF9sYW5ndWFnZShlbCk7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodV9jbGFzcysnIGFbZGF0YS1ndC1sYW5nPSInK3ByZWZlcnJlZF9sYW5ndWFnZSsnIl0nKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2xvY2F0aW9uLmhyZWY9ZS5ocmVmfSk7CiAgICAgICAgfQoKICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ3RfYXV0b3N3aXRjaCcsIDEpOwogICAgfQp9KSgpOwo="}},"time_used":35,"timings":{"blocked":-1,"dns":2,"connect":3,"send":0,"wait":9,"receive":0,"ssl":18},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/temp/custom/img/commission-scheme-crypt1t1.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.991Z","timestamp":1785120760991,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/img/commission-scheme-crypt1t1.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 447025\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":447025,"size_decoded":447437,"mime_type":"image/png","magic":"PNG image data, 543 x 393, 8-bit/color RGBA, non-interlaced","md5":"f80bd26c7fb5e218096324264d3edc5d","sha1":"9eabedc99bb1f094e1982f1e26ee0a6b3cab7de9","sha256":"123b2ed87407b95e5194c483ddec3bc69ed8c8db39f43bc7eab1fdb7c2313816","sha512":"777ec93856333fe8fbb0dffdb88dd28445300cc3153e6ed25cd357f3c28b556b37858b83b7ff3bf0bd93de77b6ab39dbb48600ca9dc188e2707edaf0acedbcd3","ssdeep":"12288:nDOMih+/QRZec09Hy/wbKJI3BHyEBqZ6GV1G0n:nWbRA/eJIxHyEBQ6GVh","tlshash":"ca9423d56c63a58abbb1f3bdcaed3518cc496c9c6e279672150e8f0d840e6a558c0cb3","first_seen":"2024-08-04T01:29:35Z","last_seen":"2026-07-27T05:24:59.945129Z","times_seen":911,"resource_available":false,"data":"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yovB+rQccFWlvClK3qwrns0DRwPFXg6zzPNgEvjtQkynv1kYzkvF40ng2SzwXz12PJ9pPr3wfLFMOVsnTNLA4SBy+FTz0b3Iz95V/OrCslhrYiubg8qDQdM0gbOrwM3KcTu13GxgOkw4HqdoYznfKMlvKqWjNR0ECq1oG9VRkSUvKwSFqz2X1yWrteHLy4RPTg1/cGj4p/cTToY1qR5zW5eE6PAhkOvADw4qvrUT+GqVsqwcf32qmGQJj+dD8sEx3//gAd/GcG9k2VQb/u0nn/HzL8/5nxcJ//7NmB89GPHHD6/58cGaB6NmpeI/0N7q1atXr169evX6/0q6/xH06tWrV69evfrio1evXr169erVFx+9evXq1atXr1598dGrV69evXr16ouPXr169erVq1evvvjo1atXr169evXFR69evXr16tWrLz569erVq1evXr364qNXr169evXq1RcfvXr16tWrV69effHRq1evXr169eqLj169evXq1atXr7746NWrV69evXr1xUevXr169erVqy8+evXq1atXr169+uKjV69evXr16tUXH7169erVq1evXn3x0atXr169evXqi49evXr16tWrV6+++OjVq1evXr169cVHr169evXq1asvPnr16tWrV69evfrio1evXr169erVFx+9evXq1atXr1598dGrV69evXr16ouPXr169erVq1dffPTq1atXr169evXFR69evXr16tWrLz569erVq1evXr364qNXr169evXq1RcfvXr16tWrV69effHRq1evXr169fr/hf6fAQAJ8DWWBAUEGQAAAABJRU5ErkJggg=="}},"time_used":529,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":387,"receive":142,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.185Z","timestamp":1785120762185,"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=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\ncontent-type: image/png\r\ncontent-length: 883\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 05 Nov 2025 15:32:22 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 06:46:41 GMT\r\ncache-control: public, max-age=86400\r\netag: \"a60b84a23311e94dc9543f6771260fa7\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 72366\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: pwfN60wGJtWlGZzmRqWoSHyy5Ajz8UkUIan2ITZYCibuE98e5it-lw==\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":1454,"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-07-27T05:24:59.881392Z","times_seen":1019,"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":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/4642.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.225Z","timestamp":1785120762225,"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=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\ncontent-type: image/png\r\ncontent-length: 512\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 07 Mar 2025 07:10:13 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 03:09:40 GMT\r\ncache-control: public, max-age=86400\r\netag: \"9461694e94919b8ea6de7e3db0f232b5\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 85383\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: yuCHv9JAvjzHnaH4LtQVzLztIv5Cb4YabtGVFSCI-tgP8pQKhdjEEA==\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":512,"size_decoded":1083,"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-07-27T05:24:59.92491Z","times_seen":1021,"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":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/embed-widget/forex-heat-map/#%7B%22width%22%3A770%2C%22height%22%3A400%2C%22isTransparent%22%3Afalse%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22frameElementId%22%3Anull%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-heat-map%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%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://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:42.916Z","timestamp":1785120762916,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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/forex-heat-map/ 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\nReferer: https://360trustwealthavenue.stglen.com/\r\nSec-Fetch-Storage-Access: none\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/2 200 \r\ndate: Mon, 27 Jul 2026 02:52:42 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 02:52:58 GMT\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/ https://www.tradingview-widget.com/static/bundles/embed/ 'nonce-oqtPcPOIZBppePcXxDwoVg=='; default-src 'self' https: data: blob: wss: 'unsafe-inline'; base-uri 'none'; object-src '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 02:51:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bf0ab5be4df45475317ae818de5d5f57\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":"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":"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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":49745,"size_decoded":17057,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"379998701360b8b728098852b52cd84f","sha1":"b4f75bdb2c90a0aceb095541427bade28425f0e9","sha256":"d75221399568d1886acbd445594ddde4c4428c02ba5b263ec8892c3e18906f20","sha512":"84ac785ecbd8d1538bcf42a1bac26b82c40cdc545ccd7b4a96acd377d732351e342df5108cf93cf9ebabc09c0e4f00e1771f574821663dc036e53abd59761c89","ssdeep":"768:pEzEteeNzf5R6fNogFbLrB3ZMaoWvGDo+vHgzH6/8szcyzuvCSF56yMPz3:2zEteeNzf5R6fNogdB32Wn+66ceuvRMb","tlshash":"1723d853881a4b05dad64a057c33b203f92907a8955228987aacdcdc155ffc3f1a7bfe","first_seen":"2026-07-27T02:53:32.453376Z","last_seen":"2026-07-27T02:53:37.851546Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5Gb3JleCBoZWF0bWFwPC90aXRsZT4KCgk8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyIgY3Jvc3NvcmlnaW4+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTUyNy4xNWM1YzI1ZDI3YTU2YTBkZjc3Mi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA3MC41NWNiYzdhMWRhOTYzYjM4MjliMy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDY5MDcuYzVhZjhhYTdiNTA4MmIxODc1YTUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDMzMjUuMjU2ZmE1YTUyMTNiOWNiNzBmNWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTU5MzIuMmE3MGQzOTdjMzRmMmU5ZGU5NGYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjI2NzkuZWI1MmE1ZTYxYzZjYjc2NjUwYjMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cgo8c2NyaXB0IG5vbmNlPSJvcXRQY1BPSVpCcHBlUGNYeER3b1ZnPT0iPgoJd2luZG93LmxvY2FsZSA9ICdlbic7Cgl3aW5kb3cubGFuZ3VhZ2UgPSAnZW4nOwo8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9Im9xdFBjUE9JWkJwcGVQY1h4RHdvVmc9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7PC9zY3JpcHQ+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2ZvcmV4X2hlYXRfbWFwX3dpZGdldC4yZjZlYzU0MzAyNjI5Y2UwY2RkNC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNjMxOTUuMzQxMDU3YjY5YzEzMjY4ZTY2MzMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzMTQ4LjMyY2MwMWRjMDE3NTFiOTE2ODJjLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA3MDYuYTU5MTNhYTZhZDYyZDlkYmYwMzEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY1ODYyLjk1NzY0NzUyYzA5ZjNmMThmODkwLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTAzMS41MzVmMjdiNzc2ZjM5NGM3ZTQzYS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQ3MDguNzNkMmJjYTM3MjA3YzY3YTQxZjQuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc5MjA3LjZhNjJmYzgwM2QzZDA3ODk4OTM2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMTMxMi43ODBkNjAwYTI2OTZkZGY2ZWU0NC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTYwNjcuOWQyNDg4OWIyYWYzZWIzMDVkY2YuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2ZvcmV4X2hlYXRfbWFwX3dpZGdldC45ODU5ZGNkZDMzYjA0MTNlNWVlMC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+PHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9mb3JleF9oZWF0X21hcF93aWRnZXQuMmY2ZWM1NDMwMjYyOWNlMGNkZDQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi42MzE5NS4zNDEwNTdiNjljMTMyNjhlNjYzMy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzMTQ4LjMyY2MwMWRjMDE3NTFiOTE2ODJjLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MDcwNi5hNTkxM2FhNmFkNjJkOWRiZjAzMS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY1ODYyLjk1NzY0NzUyYzA5ZjNmMThmODkwLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTEwMzEuNTM1ZjI3Yjc3NmYzOTRjN2U0M2EuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc5MjA3LjZhNjJmYzgwM2QzZDA3ODk4OTM2LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTEzMTIuNzgwZDYwMGEyNjk2ZGRmNmVlNDQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNjA2Ny45ZDI0ODg5YjJhZjNlYjMwNWRjZi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2ZvcmV4X2hlYXRfbWFwX3dpZGdldC45ODU5ZGNkZDMzYjA0MTNlNWVlMC5qcyIgZGVmZXI+PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0ib3F0UGNQT0laQnBwZVBjWHhEd29WZz09Ij53aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlID0geyJzaG93X2ZlYXR1cmVkX2lwbyI6MS4wLCJibGFja19mcmlkYXlfcG9wdXAiOjEuMCwiYmxhY2tfZnJpZGF5X21haW5wYWdlIjoxLjAsImJsYWNrX2ZyaWRheV9leHRlbmRfbGltaXRhdGlvbiI6MS4wLCJlbmFibGVfdHJhZGluZ19yZXBsYXlfZm9yX3BvaW50X2luZGV4ZXMiOjEuMCwiaW5jcmVhc2VfbWV0YWluZm9fdmVyc2lvbiI6MC4zLCJjaGFydF9hdXRvc2F2ZV81bWluIjoxLjAsImNoYXJ0X2F1dG9zYXZlXzMwbWluIjoxLjAsInBlcmZvcm1hbmNlX3Rlc3RfbW9kZSI6MS4wLCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCI6MS4wLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzYwbWluIjoxLjAsInN1cHBvcnRfcGVyc2lzdGVudF9sb2dzIjoxLjAsIm5ld19zdG9yYWdlX3N1YnNjcmlwdGlvbl91cmwiOjEuMCwicmVtb3ZlX2FuY2hvcmVkX3RleHQiOjEuMCwiZW5hYmxlX3N0ZXBfYnlfc3RlcF9oaW50c19mb3JfZHJhd2luZ3MiOjEuMCwicHVzaHN0cmVhbV9iYXNpY190ZWxlbWV0cnkiOjEuMCwiYWxsb3dfYnJhY2tldHNfcHJvZml0X2xvc3MiOjEuMCwiZW5hYmxlX3RyYWRlZF9jb250ZXh0X2xpbmtpbmciOjEuMCwib3JkZXJfY29udGV4dF92YWxpZGF0aW9uX2luX2luc3RhbnRfbW9kZSI6MS4wLCJhbGVydHMtb24tZnVuZGFtZW50YWwtbWV0cmljcyI6MS4wLCJhbGVydHMtbm90aWZpY2F0aW9uLXNjaGVkdWxlIjoxLjAsImFsZXJ0cy13YXRjaGxpc3QtZXh0ZW5kZWQtaG91cnMiOjEuMCwiZW5hYmxlX3N5bWJvbF9jaGFuZ2VfcmVzdHJpY3Rpb25fb25fd2lkZ2V0cyI6MS4wLCJlbmFibGVfYXN4X3N5bWJvbF9yZXN0cmljdGlvbiI6MS4wLCJzeW1waG9ueV9hbGxvd19ub25fcGFydGl0aW9uZWRfY29va2llX29uX29sZF9zeW1waG9ueSI6MS4wLCJzeW1waG9ueV9ub3RpZmljYXRpb25fYmFkZ2VzIjoxLjAsInN5bXBob255X3VzZV9hZGtfZm9yX3VwZ3JhZGVfcmVxdWVzdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF90cmFja2luZyI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9zb2Z0X2xpbWl0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X2hhcmRfbGltaXQiOjEuMCwidGVsZWdyYW1fbWluaV9hcHBfcmVkdWNlX3NuYXBzaG90X3F1YWxpdHkiOjEuMCwibmV3c19zeW1ib2xfb3ZlcnZpZXdfa2V5X2ZhY3RzIjoxLjAsInRpbWVvdXRfZGphbmdvX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb191c2Vyc2V0dGluZ3NfZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX2NoYXJ0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fc3ltYm9sc19saXN0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fbWluZHNfZGIiOjAuMDUsInRpbWVvdXRfZGphbmdvX2xvZ2dpbmdfZGIiOjAuMjUsImRpc2FibGVfc2VydmljZXNfbW9uaXRvcl9tZXRyaWNzIjoxLjAsImVuYWJsZV9zaWduaW5fcmVjYXB0Y2hhIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sX2NvbW1lbnRzIjoxLjAsImVuYWJsZV9zcGFtZGV0ZWN0b3JtbF9jaGF0IjoxLjAsImVuYWJsZV9taW5kc19zcGFtZGV0ZWN0b3JtbCI6MS4wLCJiYWNrZW5kLWNvbm5lY3Rpb25zLWluLXRva2VuIjoxLjAsIm9uZV9jb25uZWN0aW9uX3dpdGhfZXhjaGFuZ2VzIjoxLjAsIm1vYmlsZS1hZHMtaW9zIjoxLjAsIm1vYmlsZS1hZHMtYW5kcm9pZCI6MS4wLCJnb29nbGUtb25lLXRhcC1zaWduaW4iOjEuMCwiYnJhaW50cmVlLWdvcHJvLWluLW9yZGVyLWRpYWxvZyI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5IjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5IjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktZnJvbS1pb3MtYXBwIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktdHJpYWwiOjEuMCwidHJpcGxlYS1wYXltZW50cyI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheS10cmlhbCI6MS4wLCJicmFpbnRyZWUtb25lLXVzZC12ZXJpZmljYXRpb24iOjEuMCwiYnJhaW50cmVlLTNkcy1lbmFibGVkIjoxLjAsImJyYWludHJlZS0zZHMtc3RhdHVzLWNoZWNrIjoxLjAsImJyYWludHJlZS1hZGRpdGlvbmFsLWNhcmQtY2hlY2tzLWZvci10cmlhbCI6MS4wLCJicmFpbnRyZWUtaW5zdGFudC1zZXR0bGVtZW50IjoxLjAsImJyYWludHJlZV9yZWN1cnJpbmdfYmlsbGluZ19zY2hlZHVsZXJfc3Vic2NyaXB0aW9uIjoxLjAsImNoZWNrb3V0X21hbnVhbF9jYXB0dXJlX3JlcXVpcmVkIjoxLjAsImNoZWNrb3V0LXN1YnNjcmlwdGlvbnMiOjEuMCwiY2hlY2tvdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY29tbWVyY2lhbF9jYXJkX3RyaWFsIjoxLjAsImVuYWJsZV9wYXltZW50c18zZHNfb3B0aW1pemF0aW9uIjoxLjAsImNvdW50cnlfb2ZfaXNzdWFuY2VfdnNfYmlsbGluZ19jb3VudHJ5IjoxLjAsImNoZWNrb3V0X3Nob3dfaW5zdGVhZF9vZl9icmFpbnRyZWUiOjEuMCwiY2hlY2tvdXQtM2RzIjoxLjAsImNoZWNrb3V0LXBheXBhbCI6MS4wLCJjaGVja291dF9pbmNsdWRlX2FjY291bnRfaG9sZGVyIjoxLjAsImNoZWNrb3V0LXBheXBhbC10cmlhbCI6MS4wLCJhbm51YWxfdG9fbW9udGhseV9kb3duZ3JhZGVfYXR0ZW1wdCI6MS4wLCJyYXpvcnBheV90cmlhbF8xMF9pbnIiOjEuMCwicmF6b3JwYXktY2FyZC1vcmRlci10b2tlbi1zZWN0aW9uIjoxLjAsInJhem9ycGF5LWNhcmQtc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS11cGktc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS1zMy1pbnZvaWNlLXVwbG9hZCI6MS4wLCJyYXpvcnBheV9pbmNsdWRlX2RhdGVfb2ZfYmlydGgiOjEuMCwiZGxvY2FsLXBheW1lbnRzIjoxLjAsInJldm9sdXQtcGF5LXBheW1lbnRzIjoxLjAsInJldm9sdXQtY2FyZC1wYXltZW50cyI6MC41LCJkbG9jYWwtcGl4LWF1dG9tYXRpY28iOjEuMCwiYnJhaW50cmVlX3RyYW5zYWN0aW9uX3NvdXJjZSI6MS4wLCJ2ZXJ0ZXgtdGF4IjoxLjAsInZlcnRleC10YXgtZml4IjoxLjAsInJlY2VpcHRfaW5fZW1haWxzIjoxLjAsImFkd29yZHMtYW5hbHl0aWNzIjoxLjAsImNtMzYwLWFuYWx5dGljcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfaW9zIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9hbmRyb2lkIjoxLjAsInJlcXVpcmVkX2FncmVlbWVudF9mb3JfcnQiOjEuMCwiY2hlY2tfbWFya2V0X2RhdGFfbGltaXRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2RhdGEiOjEuMCwiZm9yY2VfdG9fdXBncmFkZV90b19leHBlcnQiOjEuMCwic2VuZF90cmFkZXZhbl9pbnZvaWNlIjoxLjAsInNob3dfcGVwZV9hbmltYXRpb24iOjEuMCwic2VuZF9uZXh0X3BheW1lbnRfaW5mb19yZWNlaXB0IjoxLjAsInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iOjEuMCwic2NyZWVuZXItYWxlcnRzLXJlYWQtb25seSI6MS4wLCJzY3JlZW5lcl9ib25kX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9zdG9ja19haV9maWx0ZXJzX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfaXNfYWxsb3dlZF90b19jcmVhdGVfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JhdGluZ19jb2x1bW5zX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3NvcnRpbmdfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfZ3JvdXBfYnlfaXNpbl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zeW1ib2xfc2VhcmNoX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JlZ2lzdHJhdGlvbl9iYW5uZXJfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNlc190cmFja2luZyI6MS4wLCJzZW5kX2ZpbmFuY2lhbF9ub3RpZmljYXRpb25zIjoxLjAsInNwYXJrX3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya19jYXRlZ29yeV90cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfdGFnc190cmFuc2xhdGlvbnMiOjEuMCwicHJvX3BsYW5faW5pdGlhbF9yZWZ1bmRzX2Rpc2FibGVkIjoxLjAsInByZXZpb3VzX21vbm9wcm9kdWN0X3B1cmNoYXNlc19yZWZ1bmRzX2VuYWJsZWQiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9ucyI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zX2ZlZWQiOjEuMCwiZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJldGhvY2FfYWxlcnRfbm90aWZpY2F0aW9uX3dlYmhvb2siOjEuMCwiaGlkZV9zdXNwaWNpb3VzX3VzZXJzX2lkZWFzIjoxLjAsImRpc2FibGVfcHVibGlzaF9zdHJhdGVneV9yYW5nZV9iYXNlZF9jaGFydCI6MS4wLCJyZXN0cmljdF9zaW11bHRhbmVvdXNfcmVxdWVzdHMiOjEuMCwibG9naW5fZnJvbV9uZXdfZGV2aWNlX2VtYWlsIjoxLjAsInNzcl93b3JrZXJfbm93YWl0IjoxLjAsImJyb2tlcl9BMUNBUElUQUwiOjEuMCwiYnJva2VyX0FDVElWVFJBREVTIjoxLjAsImJyb2tlcl9BTENIRU1ZTUFSS0VUUyI6MS4wLCJicm9rZXJfQUxJQ0VCTFVFIjoxLjAsImhpZGVfQUxPUl9vbl9pb3MiOjEuMCwiaGlkZV9BTE9SX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9BTE9SX29uX21vYmlsZV93ZWIiOjEuMCwiYWxvci1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0FMUEFDQSI6MS4wLCJicm9rZXJfQUxSQU1aIjoxLjAsImJyb2tlcl9BTVAiOjEuMCwiYnJva2VyX0FOR0VMT05FIjoxLjAsImJyb2tlcl9BVkFfRlVUVVJFUyI6MS4wLCJBVkFfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9CMlBSSU1FIjoxLjAsImJyb2tlcl9CQUpBSiI6MS4wLCJicm9rZXJfQkVZT05EIjoxLjAsImJyb2tlcl9CSU5BTkNFIjoxLjAsImVuYWJsZV9iaW5hbmNlYXBpc19iYXNlX3VybCI6MS4wLCJicm9rZXJfQklOR0JPTiI6MS4wLCJicm9rZXJfQklUQVpaQSI6MS4wLCJicm9rZXJfQklUR0VUIjoxLjAsImJyb2tlcl9CSVRNRVgiOjEuMCwiYnJva2VyX0JJVFNUQU1QIjoxLjAsImJyb2tlcl9CTEFDS0JVTEwiOjEuMCwiYnJva2VyX0JMVUVCRVJSWU1BUktFVFMiOjEuMCwiYnJva2VyX0JUQ0MiOjEuMCwiYnJva2VyX0JZQklUIjoxLjAsImJyb2tlcl9DQVBJVEFMQ09NIjoxLjAsImJyb2tlcl9DQVBUUkFERVIiOjEuMCwiQ0FQVFJBREVSX3NlcGFyYXRlX2ludGVncmF0aW9uX21pZ3JhdGlvbl93YXJuaW5nIjoxLjAsImJyb2tlcl9DRkkiOjEuMCwiYnJva2VyX0NHU0kiOjEuMCwiYnJva2VyX0NJVFlJTkRFWCI6MS4wLCJjaXR5aW5kZXhfc3ByZWFkYmV0dGluZyI6MS4wLCJDTEVBUlNUUkVFVF9iZXRhIjoxLjAsImJyb2tlcl9DTUNNQVJLRVRTIjoxLjAsImJyb2tlcl9DT0JSQVRSQURJTkciOjEuMCwiYnJva2VyX0NPSU5CQVNFIjoxLjAsImNvaW5iYXNlX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJjb2luYmFzZV9jYW5jZWxfcG9zaXRpb25fYnJhY2tldHMiOjEuMCwiYnJva2VyX0NPSU5KQVIiOjEuMCwiQ09JTkpBUl9iZXRhIjoxLjAsImJyb2tlcl9DT0lOU1dJVENIIjoxLjAsImJyb2tlcl9DT0lOVyI6MS4wLCJicm9rZXJfQ09MTUVYIjoxLjAsImhpZGVfQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiY3FnLXJlYWx0aW1lLWJhbmR3aWR0aC1saW1pdCI6MS4wLCJicm9rZXJfQ1JZUFRPQ09NIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25faW9zIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0NYTSI6MS4wLCJicm9rZXJfREFPTCI6MS4wLCJicm9rZXJfREFSV0lORVgiOjEuMCwiREFSV0lORVhfYmV0YSI6MS4wLCJicm9rZXJfREVMVEEiOjEuMCwiYnJva2VyX0RFUkFZQUgiOjEuMCwiYnJva2VyX0RFUklWIjoxLjAsImJyb2tlcl9ESEFOIjoxLjAsImJyb2tlcl9ETlNFIjoxLjAsImJyb2tlcl9ET1JNQU4iOjEuMCwiaGlkZV9EVU1NWV9vbl9pb3MiOjEuMCwiaGlkZV9EVU1NWV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRFVNTVlfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRUFTWU1BUktFVFMiOjEuMCwiYnJva2VyX0VDT1ZBTE9SRVMiOjEuMCwiYnJva2VyX0VER0VDTEVBUiI6MS4wLCJlZGdlY2xlYXJfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfRUlHSFRDQVAiOjEuMCwiYnJva2VyX0VSUkFOVEUiOjEuMCwiYnJva2VyX0VTQUZYIjoxLjAsIkZJREVMSVRZX2JldGEiOjEuMCwiRklERUxJVFlfdXNfcmVsZWFzZSI6MC4yNSwiZmlkZWxpdHlfc2VjdXJpdHlfdG9rZW4iOjEuMCwiYnJva2VyX0ZPUkVYQ09NIjoxLjAsImZvcmV4Y29tX3Nlc3Npb25fdjIiOjEuMCwiYnJva2VyX0ZQTUFSS0VUUyI6MS4wLCJoaWRlX0ZUWF9vbl9pb3MiOjEuMCwiaGlkZV9GVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImZ0eF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZVU0lPTk1BUktFVFMiOjEuMCwiZnhjbV9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GWENNIjoxLjAsImhpZGVfRlhPUEVOX29uX2lvcyI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlhPUEVOX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0ZYUFJPIjoxLjAsImJyb2tlcl9GWFRGIjoxLjAsImJyb2tlcl9GWUVSUyI6MS4wLCJicm9rZXJfR0FURSI6MS4wLCJicm9rZXJfR0JFQlJPS0VSUyI6MS4wLCJnZW1pbmktYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HRU5JQUxJTlZFU1RJTUVOVE9TIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25faW9zIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX21vYmlsZV93ZWIiOjEuMCwiZ2xvYmFscHJpbWUtYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HT01BUktFVFMiOjEuMCwiYnJva2VyX0dPVFJBREUiOjEuMCwiZ290cmFkZV9lbmFibGVfc3RyZWFtaW5nX2VuZHBvaW50cyI6MS4wLCJicm9rZXJfSEVSRU5ZQSI6MS4wLCJoaWRlX0hUWF9vbl9pb3MiOjEuMCwiaGlkZV9IVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0hUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9JQktSIjoxLjAsImNoZWNrX2lia3Jfc2lkZV9tYWludGVuYW5jZSI6MS4wLCJpYmtyX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3BhcmFsbGVsX3Byb3ZpZGVyX2luaXRpYWxpemF0aW9uIjoxLjAsImlia3Jfd3NfYWNjb3VudF9zdW1tYXJ5IjoxLjAsImlia3Jfd3Nfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3N1YnNjcmliZV90b19vcmRlcl91cGRhdGVzX2ZpcnN0IjoxLjAsImlia3Jfd3NfYWNjb3VudF9sZWRnZXIiOjEuMCwiYnJva2VyX0lCUk9LRVIiOjEuMCwiYnJva2VyX0lDTUFSS0VUUyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0FTSUMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19FVSI6MS4wLCJicm9rZXJfSUciOjEuMCwiYnJva2VyX0lORFNUT0NLUyI6MS4wLCJicm9rZXJfSU5GT1lBVElSSU0iOjEuMCwiYnJva2VyX0lOTk9WRVNUWCI6MS4wLCJicm9rZXJfSU5URVJBQ1RJVkVJTCI6MS4wLCJicm9rZXJfSU5WRVNUUkFERSI6MS4wLCJJTlZFU1RSQURFX2JldGEiOjEuMCwiYnJva2VyX0lST05CRUFNIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tJV09PTSI6MS4wLCJraXdvb21fdXNlX3NlcGFyYXRlX3N0cmVhbWluZ191cmwiOjEuMCwiYnJva2VyX0tPVEFLIjoxLjAsImhpZGVfS09UQUtfb25faW9zIjoxLjAsImhpZGVfS09UQUtfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0tPVEFLX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tSQUtFTiI6MS4wLCJoaWRlX0tSQUtFTl9vbl9pb3MiOjEuMCwiaGlkZV9LUkFLRU5fb25fYW5kcm9pZCI6MS4wLCJLUkFLRU5fYmV0YSI6MS4wLCJrcmFrZW5fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9LU0VDVVJJVElFUyI6MS4wLCJicm9rZXJfTElCRVJBVE9SIjoxLjAsImJyb2tlcl9NRVhDIjoxLjAsImJyb2tlcl9NRVhFTSI6MS4wLCJicm9rZXJfTUlEQVMiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX01PT01PTyI6MS4wLCJicm9rZXJfTU9USUxBTE9TV0FMIjoxLjAsImJyb2tlcl9OSU5KQVRSQURFUiI6MS4wLCJicm9rZXJfT0FOREEiOjEuMCwib2FuZGFfc2VydmVyX2xvZ2dpbmciOjEuMCwib2FuZGFfb2F1dGhfbXVsdGlwbGV4aW5nIjoxLjAsImJyb2tlcl9PS1giOjEuMCwiYnJva2VyX09QT0ZJTkFOQ0UiOjEuMCwiYnJva2VyX09QVElNVVMiOjEuMCwiYnJva2VyX09TTUFOTEkiOjEuMCwiYnJva2VyX09TTUFOTElGWCI6MS4wLCJwYXBlcl9mb3JjZV9jb25uZWN0X3B1c2hzdHJlYW0iOjEuMCwicGFwZXJfc3ViYWNjb3VudF9jdXN0b21fY3VycmVuY3kiOjEuMCwicGFwZXJfb3V0c2lkZV9ydGgiOjEuMCwiYnJva2VyX1BBWVRNIjoxLjAsImJyb2tlcl9QRVBQRVJTVE9ORSI6MS4wLCJicm9rZXJfUEhFTUVYIjoxLjAsImJyb2tlcl9QSElMTElQQ0FQSVRBTF9UUiI6MS4wLCJicm9rZXJfUEhJTExJUE5PVkEiOjEuMCwiYnJva2VyX1BMVVM1MDAiOjEuMCwicGx1czUwMF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIlBMVVM1MDBVU19iZXRhIjoxLjAsImJyb2tlcl9QVVJQTEVUUkFESU5HIjoxLjAsImJyb2tlcl9RVUVTVFJBREUiOjEuMCwiYnJva2VyX1JBVkFCVVJTQVRJTCI6MS4wLCJSQVZBQlVSU0FUSUxfYmV0YSI6MS4wLCJicm9rZXJfUklZQURDQVBJVEFMIjoxLjAsImJyb2tlcl9ST0JPTUFSS0VUUyI6MS4wLCJicm9rZXJfUkVQTEFZQlJPS0VSIjoxLjAsImJyb2tlcl9TQU1VRUwiOjEuMCwiYnJva2VyX1NBWE9CQU5LIjoxLjAsImJyb2tlcl9TSEFSRU1BUktFVCI6MS4wLCJicm9rZXJfU0tJTExJTkciOjEuMCwiYnJva2VyX1NQUkVBREVYIjoxLjAsImJyb2tlcl9TV0lTU1FVT1RFIjoxLjAsImJyb2tlcl9TVE9ORVgiOjEuMCwiYnJva2VyX1RBU1RZRlgiOjEuMCwiYnJva2VyX1RBU1RZVFJBREUiOjEuMCwiYnJva2VyX1RISU5LTUFSS0VUUyI6MS4wLCJ0aGlua21hcmtldHNfYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJicm9rZXJfVElDS01JTEwiOjEuMCwiaGlkZV9USUdFUl9vbl9pb3MiOjEuMCwiaGlkZV9USUdFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVElHRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfVFJBREVOQVRJT04iOjEuMCwiYnJva2VyX1RSQURFU1RBVElPTiI6MS4wLCJ0cmFkZXN0YXRpb25fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInRyYWRlc3RhdGlvbl9hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsInRyYWRlc3RhdGlvbl9zdHJlYW1pbmdfc2VydmVyX2xvZ2dpbmciOjEuMCwiYnJva2VyX1RSQURFWkVSTyI6MS4wLCJicm9rZXJfVFJBRElFUiI6MS4wLCJicm9rZXJfVFJBRElFUl9GVVRVUkVTIjoxLjAsInRyYWRpZXJfZnV0dXJlc19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9UUkFET1ZBVEUiOjEuMCwiaGlkZV9UUkFEVV9vbl9pb3MiOjEuMCwiaGlkZV9UUkFEVV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVFJBRFVfb25fbW9iaWxlX3dlYiI6MS4wLCJ0cmFkdV9zcHJlYWRfYmV0IjoxLjAsImJyb2tlcl9UUklWRSI6MS4wLCJicm9rZXJfVkFOVEFHRSI6MS4wLCJicm9rZXJfVkVMT0NJVFkiOjEuMCwiYnJva2VyX1dFQlVMTCI6MS4wLCJicm9rZXJfV0VCVUxMSkFQQU4iOjEuMCwiYnJva2VyX1dFQlVMTFBBWSI6MS4wLCJicm9rZXJfV0VCVUxMVUsiOjEuMCwiYnJva2VyX1dISVRFQklUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1QiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVF9GVVRVUkVTIjoxLjAsIldIU0VMRklOVkVTVF9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1hDVUJFIjoxLjAsImJyb2tlcl9ZTEciOjEuMCwiYnJva2VyX2lkX3Nlc3Npb24iOjEuMCwiZGlzYWxsb3dfY29uY3VycmVudF9zZXNzaW9ucyI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXJfZm9yX3VudGVzdGVkX2Jyb2tlcnMiOjEuMCwibW9iaWxlX3RyYWRpbmdfd2ViIjoxLjAsIm1vYmlsZV90cmFkaW5nX2lvcyI6MS4wLCJtb2JpbGVfdHJhZGluZ19hbmRyb2lkIjoxLjAsImNvbnRpbnVvdXNfZnJvbnRfY29udHJhY3RfdHJhZGluZyI6MS4wLCJ0cmFkaW5nX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJvYXV0aDJfY29kZV9mbG93X3Byb3ZpZGVyX3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9vYXV0aDJfY29kZV9mbG93X211bHRpcGxleGluZyI6MS4wLCJyZXN0X2xvZ291dF9vbl80MjkiOjEuMCwicmV2aWV3X3BvcHVwX29uX2NoYXJ0IjoxLjAsInNob3dfY29uY3VycmVudF9jb25uZWN0aW9uX3dhcm5pbmciOjEuMCwiZW5hYmxlX3RyYWRpbmdfc2VydmVyX2xvZ2dlciI6MS4wLCJvcmRlcl9wcmVzZXRzIjoxLjAsIm9yZGVyX3RpY2tldF9yZXNpemFibGVfZHJhd2VyX29uIjoxLjAsInJlc3RfdXNlX2FzeW5jX21hcHBlciI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9iYW5uZXJfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2ciOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2dfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fbGVhZGVyYm9hcmQiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fcHJldmlvdXNfY29tcGV0aXRpb25zIjoxLjAsImFtcF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJsdWVsaW5lX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiZG9ybWFuX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiaXJvbmJlYW1fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJvcHRpbXVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwic3RvbmV4X29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwieWxnX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwidHJhZGluZ19nZW5lcmFsX2V2ZW50c19nYV90cmFja2luZyI6MS4wLCJyZXBsYXlfcmVzdWx0X3NoYXJpbmciOjEuMCwicmVwbGF5X3RyYWRpbmdfYnJhY2tldHMiOjEuMCwiaGlkZV9hbGxfYnJva2Vyc19idXR0b25faW5faW9zX2FwcCI6MS4wLCJmb3JjZV9tYXhfYWxsb3dlZF9wdWxsaW5nX2ludGVydmFscyI6MS4wLCJwYXBlcl9kZWxheV90cmFkaW5nIjoxLjAsImVuYWJsZV9maXJzdF90b3VjaF9pc19zZWxlY3Rpb24iOjEuMCwiY2xlYXJfcHJvamVjdF9vcmRlcl9vbl9vcmRlcl90aWNrZXRfY2xvc2UiOjEuMCwiZW5hYmxlX25ld19iZWhhdmlvcl9vZl9jb25maXJtX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsInJlbmV3X3Rva2VuX3ByZWVtcHRpb25fMzAiOjEuMCwiZG9fbm90X29wZW5fb3RfZnJvbV9wbHVzX2J1dHRvbiI6MS4wLCJicm9rZXJfc2lkZV9wcm9tb3Rpb24iOjEuMCwiZW5hYmxlX25ld190cmFkaW5nX21lbnVfc3RydWN0dXJlIjoxLjAsInF1aWNrX3RyYWRpbmdfcGFuZWwiOjEuMCwicGFwZXJfb3JkZXJfY29uZmlybWF0aW9uX2RpYWxvZyI6MS4wLCJwYXBlcl9tdWx0aXBsZV9sZXZlbHNfZW5hYmxlZCI6MS4wLCJwYXBlcl9tYXJnaW5fY29udHJvbCI6MS4wLCJlbmFibGVfc2VnbWVudGF0aW9uX3BhcGVyX3RyYWRpbmciOjEuMCwiZW5hYmxlX2NoYXJ0X2FkYXB0aXZlX3Rwc2xfYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwiZW5hYmxlX21hcmtldF9wcm9qZWN0X29yZGVyIjoxLjAsImVuYWJsZV9zeW1ib2xzX3BvcHVsYXJpdHlfc2hvd2luZyI6MS4wLCJlbmFibGVfdHJhbnNsYXRpb25zX3MzX3VwbG9hZCI6MS4wLCJldGZfZnVuZF9mbG93c19vbmx5X2RheXNfcmVzb2x1dGlvbnMiOjEuMCwiZGlzYWJsZV9zbm93cGxvd19wbGF0Zm9ybV9ldmVudHMiOjEuMCwibm90aWZ5X2lkZWFfbW9kc19hYm91dF9maXJzdF9wdWJsaWNhdGlvbiI6MS4wLCJlbmFibGVfd2FmX3RyYWNraW5nIjoxLjAsIm5ld19lcnJvcnNfZmxvdyI6MS4wLCJxdW90ZS10b2tlbi1maWx0ZXItb3duLXNjcmlwdHMtYnktYWNjZXNzIjoxLjAsImtlZXBfaW5kaWNhdG9yc19zZWFyY2hfc3RhdGUiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3RhYl9zY3JvbGxfc3RhdGUiOjEuMCwiY29uZmlndXJhYmxlX3NlYXJjaF9hbmRfZmlsdHJhdGlvbiI6MS4wLCJwaW5lX2VkaXRvcl93cmFwX29uX2xpbmVfc3BsaXQiOjEuMCwic3ltYm9sX3NlYXJjaF9jb3VudHJ5X3NvdXJjZXMiOjEuMCwid2F0Y2hsaXN0c19kaWFsb2dfc2Nyb2xsX3RvX2FjdGl2ZSI6MS4wLCJib3R0b21fcGFuZWxfdHJhY2tfZXZlbnRzIjoxLjAsInNub3dwbG93X2JlYWNvbl9mZWF0dXJlIjoxLjAsInNob3dfZGF0YV9wcm9ibGVtc19pbl9oZWxwX2NlbnRlciI6MS4wLCJlbmFibGVfYXBwbGVfZGV2aWNlX2NoZWNrIjoxLjAsImVuYWJsZV9hcHBsZV9pbnRyb19vZmZlcl9zaWduYXR1cmUiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX29mZmVyX3NpZ25hdHVyZV92MiI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfYW5kcm9pZCI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2lvcyI6MS4wLCJlbmFibGVfbWFudGljb3JlX2NsdXN0ZXIiOjEuMCwiZW5hYmxlX3B1c2hzdHJlYW1fYXV0aCI6MS4wLCJlbmFibGVfZW52b3lfcHJveHkiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3BhcGVydHJhZGluZyI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfc2NyZWVuZXIiOjEuMCwib3B0aW9uc19yZWR1Y2VfcG9sbGluZ19pbnRlcnZhbCI6MS4wLCJvcHRpb25zX2J1aWxkZXJfZ3JvdXBfYWN0aW9ucyI6MS4wLCJvcHRpb25zX2NoYWluX3NpZ21hX2ZpbHRlciI6MS4wLCJvcHRpb25zX2Jyb2tlcl9zdHJhdGVnaWVzIjoxLjAsInNob3dfdG9hc3RfYWJvdXRfdW5yZWFkX21lc3NhZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcGF5b3V0IjoxLjAsImVuYWJsZV9lbWFpbF9jaGFuZ2VfbG9nZ2luZyI6MS4wLCJlbmFibGVfZW1haWxfb25fcGFydG5lcl9zdGF0dXNfY2hhbmdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW1fYXBwbHkiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbSI6MS4wLCJjb21wcmVzc19jYWNoZV9kYXRhIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZyI6MS4wLCJuZXdzX3NjcmVlbmVyX3BhZ2VfY2xpZW50IjoxLjAsImVuYWJsZV9kZWNsYXJhdGlvbl9wb3B1cF9vbl9sb2FkIjoxLjAsInNob3dfZGF0YV9ib25kc19mcmVlX3VzZXJzIjoxLjAsImVuYWJsZV9tb2Rlcm5fcmVuZGVyX21vZGUiOjEuMCwiZW5hYmxlX3Byb2ZfcG9wdXBfZnJlZSI6MS4wLCJpb3NfYXBwX25ld3NfYW5kX21pbmRzIjoxLjAsImRvX25vdF9kaXNjbG9zZV9waG9uZV9vY2N1cGFuY3kiOjEuMCwiZW5hYmxlX3JlZGlyZWN0X3RvX3dpZGdldF9kb2N1bWVudGF0aW9uX29mX2FueV9sb2NhbGl6YXRpb24iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX2hpYmVybmF0aW9uIjoxLjAsIm5ld3Nfc3RyZWFtaW5nX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIjoxLjAsInBhc3NfcmVjb3Zlcnlfc2VhcmNoX2hpZGVfaW5mbyI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfb25fc2NyZWVuZXIiOjEuMCwiZW5hYmxlX2ZvcmNlZF9lbWFpbF9jb25maXJtYXRpb24iOjEuMCwic2hvd19naWZ0X2J1dHRvbiI6MS4wLCJhZGRyZXNzX3ZhbGlkYXRpb25fZW5hYmxlZCI6MS4wLCJkaXNhYmxlX3VudmVyaWZpZWRfYWRkcmVzcyI6MS4wLCJnZW5lcmF0ZV9pbnZvaWNlX251bWJlcl9ieV9jb3VudHJ5IjoxLjAsInNob3dfZmF2b3JpdGVfbGF5b3V0cyI6MS4wLCJlbmFibGVfc29jaWFsX2F1dGhfY29uZmlybWF0aW9uIjoxLjAsImVuYWJsZV9hZF9ibG9ja19kZXRlY3QiOjEuMCwidHZkX25ld190YWJfbGlua2luZyI6MS4wLCJ0dmRfdGltZV9hbmRfZGF0ZV9yYW5nZV9saW5raW5nIjoxLjAsInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ1c2VfZGVza3RvcF9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwid3JvbmdfYWNjb3VudF9kaWFsb2dfcHJpbWFyeV9zd2l0Y2giOjEuMCwiZW5hYmxlX2xpbmd1YV9sYW5nX2NoZWNrIjoxLjAsImdldF9zYXZlZF9hY3RpdmVfbGlzdF9iZWZvcmVfZ2V0dGluZ19hbGxfbGlzdHMiOjEuMCwid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iOjEuMCwic2hvd19yZWZlcnJhbF9ub3RpZmljYXRpb25fZGlhbG9nIjoxLjAsInNldF9uZXdfYmxhY2tfY29sb3IiOjEuMCwibmV3c191c2VfbmV3c19tZWRpYXRvciI6MS4wLCJhbGxvd190cmFpbGluZ193aGl0ZXNwYWNlX2luX251bWJlcl90b2tlbiI6MS4wLCJyZXN0cmljdF9wd25lZF9wYXNzd29yZF9zZXQiOjEuMCwibm90aWZfc2V0dGluZ3NfZW5hYmxlX25ld19zdG9yZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV93cml0ZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV9yZWFkIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrLWZvci1pbml0aWFsLXB1cmNoYXNlIjoxLjAsImVuYWJsZV9tZXRhZGVmZW5kZXJfY2hlY2tfZm9yX2FncmVlbWVudCI6MS4wLCJzaG93X2Rvd25sb2FkX3lpZWxkX2N1cnZlc19kYXRhIjoxLjAsIm1vdmVfa2V5X3Rlbm9yc190b19zZXR0aW5ncyI6MS4wLCJzaG93X3lpZWxkX2N1cnZlc19tYXAiOjEuMCwiZGlzYWJsZV93aWRnZXRiYXJfaW5fYXBwcyI6MS4wLCJoaWRlX3B1YmxpY2F0aW9uc19vZl9iYW5uZWRfdXNlcnMiOjEuMCwiZW5hYmxlX3N1bW1hcnlfdXBkYXRlc19mcm9tX2NoYXJ0X3Nlc3Npb24iOjEuMCwic2hvd19uZXdzX2Zsb3dfdG9vbF9yaWdodF9iYXIiOjEuMCwiZW5hYmxlX2NoYXJ0X3NhdmluZ19zdGF0cyI6MS4wLCJlbmFibGVfc2F2aW5nX3NhbWVfY2hhcnRfcmF0ZV9saW1pdCI6MS4wLCJuZXdzX2FsZXJ0c19lbmFibGVkIjoxLjAsIm5ld3NfbXVsdGlwbGVfYWxlcnRzX2VuYWJsZWQiOjEuMCwicmVmdW5kX3Vudm9pZGFibGVfY291cG9uc19lbmFibGVkIjoxLjAsImVuYWJsZV9zbm93cGxvd19lbWFpbF90cmFja2luZyI6MS4wLCJuZXdzX2VuYWJsZV9zZW50aW1lbnQiOjEuMCwidXNlX2luX3N5bWJvbF9zZWFyY2hfb3B0aW9uc19tY3hfZXhjaGFuZ2UiOjEuMCwiZW5hYmxlX3VzZXJzZXR0aW5nc19zeW1ib2xzX3Blcl9yb3dfc29mdF9saW1pdCI6MC4xLCJmb3JiaWRfbG9naW5fd2l0aF9wd25lZF9wYXNzd29yZHMiOjEuMCwiZGVidWdfZ2V0X3Rlc3RfYmFyc19kYXRhIjoxLjAsIm5ld3NfdXNlX21lZGlhdG9yX3N0b3J5IjoxLjAsIm5ld3NfZmxvd19yZWNvbmZpZ3VyZV9maWx0ZXJzIjoxLjAsImJsYWNrX2ZyaWRheV9lbmFibGVfc2tpcF90b19wYXltZW50IjoxLjAsImhpZGVfdHJhZGluZ19idXR0b25fb25fYm90dG9tX3BhbmVsX2FuZF9yZXBsYXlfdGFiIjoxLjAsImhpZGVfdHJhZGVfYnV0dG9uX2hpbnRfaW5faGVhZGVyX3Rvb2xiYXIiOjEuMCwiaGlkZV9zZWVfb25fc3VwZXJfY2hhcnRzX2J1dHRvbiI6MS4wLCJoaWRlX3N5bWJvbF9wYWdlX2NoYXJ0X3R5cGVfc3dpdGNoZXIiOjEuMCwiZGlzYWJsZV9jaGF0X3NwYW1fcHJvdGVjdGlvbl9mb3JfcHJlbWl1bV91c2VycyI6MS4wLCJkaXNhYmxlX3B1YmxpY19waW5lX3NjcmlwdF9wdWJsaXNoX2xpbWl0cyI6MS4wLCJtYWtlX3RyYWRpbmdfcGFuZWxfY29udGV4dHVhbF90YWIiOjEuMCwicmVjb25uZWN0X2dhaW5fc2Vzc2lvbl9vbl9sc19lcnJvciI6MS4wLCJjaGVja291dC1mbG93LXBheW1lbnRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2t5YyI6MS4wLCJpbmRpYV9leGNsdWRlX2JyYWludHJlZV90YWIiOjEuMCwibWFjcm9fbWFwc19oaWRlX3Rvb2x0aXBfY2hhcnRfYnV0dG9uIjoxLjAsImZvcmNlX2t5Y19mb3Jfbm9ucHJvX3B1cmNoYXNlX2J5X2NvbW1lcmNpYWwiOjEuMCwic2hvd19zcGxpdF9wYW5lbF9mdWxsc2NyZWVuX2J1dHRvbiI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX21vdmVfYnV0dG9uX3RvX3RpdGxlIjoxLjAsIm9yZGVyX3ByZXNldHNfY3J1ZF9zdG9yYWdlIjoxLjAsIm9yZGVyX3ByZXNldHNfcmVtb3ZlX2Zyb21fdHZfc2V0dGluZ3MiOjEuMCwiY2hlY2tvdXQtZmxvdy10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheSI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsIjoxLjAsImZvcmJpZF9zaWdudXBfd2l0aF9mYWtlX2dtYWlsX2RvbWFpbnMiOjEuMCwic2hvd19pbXBvcnRfZnJvbV9wYXBlcl90cmFkaW5nX2J1dHRvbiI6MS4wLCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwtdHJpYWwiOjEuMCwidm9pZF9ub3RfZm91bmRfY2tvX3BheW1lbnRfaW5fYXBwcm92ZWRfd2ViaG9vayI6MS4wLCJzaG93X3BhbmVsX2NvbGxhcHNlX2J1dHRvbiI6MS4wLCJkZWxheV9zdGF0dXNfb25fbGFzdF9iYXIiOjAuM307CndpbmRvdy5pbml0RGF0YSA9IHt9OwoJCXdpbmRvdy5TM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwgPSAiaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIjsKCndpbmRvdy5pbml0RGF0YSA9IHsid2lkZ2V0RGVmYXVsdHMiOnsid2lkdGgiOjc3MCwiaGVpZ2h0Ijo0MDAsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJjdXJyZW5jaWVzIjpbIkVVUiIsIlVTRCIsIkpQWSIsIkdCUCIsIkNIRiIsIkFVRCIsIkNBRCIsIk5aRCIsIkNOWSJdLCJmcmFtZUVsZW1lbnRJZCI6bnVsbCwiYXV0b3NpemUiOmZhbHNlLCJjb2xvclRoZW1lIjoibGlnaHQiLCJsb2NhbGUiOiJlbiJ9fTsKCQl3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm8gPSB7Imxhbmd1YWdlIjoiZW4iLCJsYW5ndWFnZV9uYW1lIjoiRW5nbGlzaCIsImZsYWciOiJ1cyIsImdlb2lwX2NvZGUiOiJ1cyIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJFbmdsaXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfTsKCQl3aW5kb3cuaW5pdERhdGEuc2V0dGluZ3MgPSB7J1MzX0xPR09fU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8nLCAnUzNfTkVXU19JTUFHRV9TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL25ld3MvJywgJ1dFQlBBQ0tfU1RBVElDX1BBVEgnOiAnaHR0cHM6Ly9zdGF0aWMudHJhZGluZ3ZpZXcuY29tL3N0YXRpYy9idW5kbGVzLycsICdUUkFESU5HX1VSTFMnOiB7J2ZyZWUnOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmctZnJlZS50cmFkaW5ndmlldy5jb20nLCAncHJvJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLnRyYWRpbmd2aWV3LmNvbSd9LCAnQ09OVEVTVFNfVVJMJzogJy9wYXBlci10cmFkaW5nJywgJ0NSVURfU1RPUkFHRV9VUkwnOiAnaHR0cHM6Ly9jcnVkLXN0b3JhZ2UudHJhZGluZ3ZpZXcuY29tJ307PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0ib3F0UGNQT0laQnBwZVBjWHhEd29WZz09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgZT17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtjb25zdCB0PXdpbmRvdzt0LmluaXREYXRhPXQuaW5pdERhdGF8fHt9O2NvbnN0IGE9L1wrL2csbj0vPFwvP1tePl0rKD58JCkvZyxzPWU9PmRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoYSwiICIpKS5yZXBsYWNlKG4sIiIpLG89dC5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGM9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtsZXQgbCxyPWMuZXhlYyhvKTtmb3IoO251bGwhPT1yOylpW3MoclsxXSldPXMoclsyXSkscj1jLmV4ZWMobyk7dHJ5e2w9SlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQodC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWx8fChsPXt9KX1jYXRjaChlKXtsPXt9fXZhciBoO3QuaW5pdERhdGEucXVlcnlTZXR0aW5ncz1pLHQuaW5pdERhdGEuaGFzaFNldHRpbmdzPShoPWwsT2JqZWN0LmtleXMoaCkuZm9yRWFjaCgodD0+e2VbdF0mJmRlbGV0ZSBoW3RdfSkpLGgpfSkoKTsKCTwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9Im9xdFBjUE9JWkJwcGVQY1h4RHdvVmc9PSI+d2luZG93LlNTX0hPU1QgPSAic3ltYm9sLXNlYXJjaC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7CgkJd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQgPSBmYWxzZTsKCgoJCXdpbmRvdy5sb2NhbGVfZG9tYWlucyA9IHsiZW4iOiJ3d3cudHJhZGluZ3ZpZXcuY29tIiwiYXJfQUUiOiJhci50cmFkaW5ndmlldy5jb20iLCJiciI6ImJyLnRyYWRpbmd2aWV3LmNvbSIsImRlX0RFIjoiZGUudHJhZGluZ3ZpZXcuY29tIiwiZXMiOiJlcy50cmFkaW5ndmlldy5jb20iLCJmciI6ImZyLnRyYWRpbmd2aWV3LmNvbSIsImhlX0lMIjoiaWwudHJhZGluZ3ZpZXcuY29tIiwiaWQiOiJpZC50cmFkaW5ndmlldy5jb20iLCJpbiI6ImluLnRyYWRpbmd2aWV3LmNvbSIsIml0IjoiaXQudHJhZGluZ3ZpZXcuY29tIiwiamEiOiJqcC50cmFkaW5ndmlldy5jb20iLCJrciI6ImtyLnRyYWRpbmd2aWV3LmNvbSIsIm1zX01ZIjoibXkudHJhZGluZ3ZpZXcuY29tIiwicGwiOiJwbC50cmFkaW5ndmlldy5jb20iLCJydSI6InJ1LnRyYWRpbmd2aWV3LmNvbSIsInRoX1RIIjoidGgudHJhZGluZ3ZpZXcuY29tIiwidHIiOiJ0ci50cmFkaW5ndmlldy5jb20iLCJ2aV9WTiI6InZuLnRyYWRpbmd2aWV3LmNvbSIsInpoX0NOIjoiY24udHJhZGluZ3ZpZXcuY29tIiwiemhfVFciOiJ0dy50cmFkaW5ndmlldy5jb20iLCJjYV9FUyI6ImVzLnRyYWRpbmd2aWV3LmNvbSJ9OwoKCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyA9IHdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgfHwgW107CgkJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLnB1c2goJ3dpZGdldCcpOwoKCQl3aW5kb3cuVHJhZGluZ1ZpZXcgPSB3aW5kb3cuVHJhZGluZ1ZpZXcgfHwge307Cjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9Im9xdFBjUE9JWkJwcGVQY1h4RHdvVmc9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7CgkJd2luZG93LkJVSUxEX1RJTUUgPSAiMjAyNi0wNy0yNFQxMTo0MDowOCI7CgkJd2luZG93LldFQlNPQ0tFVF9IT1NUID0gIndpZGdldGRhdGEudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1RfRk9SX1JFQ09OTkVDVCA9ICJ3aWRnZXRkYXRhLWJhY2t1cC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy51c2VyID0geyd1c2VybmFtZSc6ICdHdWVzdCcsICdmb2xsb3dpbmcnOiAnMCcsICdmb2xsb3dlcnMnOiAnMCcsICdpZ25vcmVfbGlzdCc6IHt9LCAnZG9fbm90X3RyYWNrJzogdHJ1ZX07PC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJvcXRQY1BPSVpCcHBlUGNYeER3b1ZnPT0iPmxldCBwYXJhbXMgPSB7fTsKCQkJY29uc3QgaHR0cFJlZyA9IG5ldyBSZWdFeHAoJ15odHRwKHMpPzovLycpOwoKCQkJdHJ5IHsKCQkJCXBhcmFtcyA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSk7CgkJCX0gY2F0Y2ggKGUpIHsKCQkJCXBhcmFtcyA9IHt9OwoJCQl9CgoJCQl3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1MgPSB7CgkJCQknd3NfYW5jZXN0b3Jfb3JpZ2luJzogd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyAmJiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCA/IHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnNbd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGggLSAxXS5yZXBsYWNlKGh0dHBSZWcsICcnKSA6IG51bGwsCgkJCQknd3NfcGFnZV91cmknOiBwYXJhbXNbJ3BhZ2UtdXJpJ10sCgkJCX07KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSx0PSExKXtjb25zdHtzZWFyY2hQYXJhbXM6bn09bmV3IFVSTChTdHJpbmcobG9jYXRpb24pKTtsZXQgcz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwX25ldyIpLG89InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcCIpO2lmKCF0KXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZSsiPSIsbj1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl7bGV0IHM9bltlXTtmb3IoOyIgIj09PXMuY2hhckF0KDApOylzPXMuc3Vic3RyaW5nKDEscy5sZW5ndGgpO2lmKDA9PT1zLmluZGV4T2YodCkpcmV0dXJuIHMuc3Vic3RyaW5nKHQubGVuZ3RoLHMubGVuZ3RoKX1yZXR1cm4gbnVsbH0oInR2X2FwcCIpfHwiIjtzfHw9WyJhbmRyb2lkIiwiYW5kcm9pZF9ucHMiXS5pbmNsdWRlcyhlKSxvfHw9ImlvcyI9PT1lfXJldHVybiEoIm5ldyIhPT1lJiYiYW55IiE9PWV8fCFzKXx8ISgibmV3Ij09PWV8fCFvKX1jb25zdCB0PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixuPXQmJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LHM9KHQmJm4mJndpbmRvdyx0JiYobnx8bmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSx0JiZ3aW5kb3cuY2hyb21lJiZ3aW5kb3cuY2hyb21lLnJ1bnRpbWUsdCYmd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJmaXJlZm94IiksdCYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHQmJkJvb2xlYW4obmF2aWdhdG9yLnZlbmRvcikmJm5hdmlnYXRvci52ZW5kb3IuaW5kZXhPZigiQXBwbGUiKT4tMSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkNyaU9TIikmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiRnhpT1MiKSx0JiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSxvPXQmJi9CbGFja0JlcnJ5L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxpPXQmJi9pUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkscj10JiYvT3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksYz10JiYoIk1hY0ludGVsIj09PW5hdmlnYXRvci5wbGF0Zm9ybSYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjF8fC9pUGFkLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGE9c3x8b3x8aXx8cjtjb25zdCBfPW5ldyBNYXA7ZnVuY3Rpb24gZCgpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHQ9d2luZG93LmxvY2F0aW9uLmhvc3Qsbj1gJHt0fSR7ZX1gO3JldHVybiBfLmhhcyhuKXx8Xy5zZXQobixmdW5jdGlvbihlLHQpe2NvbnN0IG49WyJed2lkZ2V0LWRvY3MiXTtmb3IoY29uc3QgZSBvZiBuKWlmKG5ldyBSZWdFeHAoZSkudGVzdCh0KSlyZXR1cm4hMDtjb25zdCBzPVsiXndpZGdldGVtYmVkLz8kIiwiXmNtZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0c3RhdGljLz8kIiwiXihbMC05YS16QS1aLV0rKT8vP21lZGl1bXdpZGdldGVtYmVkLz8kIiwiXnR3aXR0ZXItY2hhcnQvPyQiLCJedGVsZWdyYW0vY2hhcnQvPyQiLCJeZW1iZWQvKFswLTlhLXpBLVpdezh9KS8/JCIsIl53aWRnZXRwb3B1cC8/JCIsIl5leHRlbnNpb24vPyQiLCJeaWRlYS1wb3B1cC8/JCIsIl5ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXm1hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeZXZlbnRzd2lkZ2V0ZW1iZWQvPyQiLCJedGlja2Vyc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4Y3Jvc3NyYXRlc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4aGVhdG1hcHdpZGdldGVtYmVkLz8kIiwiXm1hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnNjcmVlbmVyd2lkZ2V0Lz8kIiwiXmNyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJedGVjaG5pY2FsLWFuYWx5c2lzLXdpZGdldC1lbWJlZC8kIiwiXnNpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3NpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeZW1iZWQtd2lkZ2V0LyhbMC05YS16QS1aLV0rKS8oKFswLTlhLXpBLVotXSspLyk/JCIsIl53aWRnZXQtZG9jcy8oWzAtOWEtekEtWi1dKykvKFswLTlhLXpBLVotL10rKT8kIl0sbz1lLnJlcGxhY2UoL15cLy8sIiIpO2xldCBpO2ZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7ZS0tKWlmKGk9bmV3IFJlZ0V4cChzW2VdKSxpLnRlc3QobykpcmV0dXJuITA7cmV0dXJuITF9KGUsdCkpLF8uZ2V0KG4pPz8hMX1jb25zdCBoPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2NvbnN0IGw9e0FuZHJvaWQ6KCk9PnMsQmxhY2tCZXJyeTooKT0+byxpT1M6KCk9PmksT3BlcmE6KCk9PnIsaXNJUGFkOigpPT5jLGFueTooKT0+YX07aC5pc01vYmlsZT1sLGgub25XaWRnZXQ9ZDtjb25zdCB1PSgpPT57fSxnPSJ+bX4iO2NsYXNzIG17Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuY29ubmVjdGVkPSExLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9iYXNlPWUsdGhpcy5fb3B0aW9ucz17dGltZW91dDp0LnRpbWVvdXR8fDJlNCxjb25uZWN0aW9uVHlwZTp0LmNvbm5lY3Rpb25UeXBlLGFwaUtleTp0LmFwaUtleX19Y29ubmVjdCgpe3RoaXMuX3NvY2tldD1uZXcgV2ViU29ja2V0KHRoaXMuX3ByZXBhcmVVcmwoKSksCnRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9ZT0+e2lmKCJzdHJpbmciIT10eXBlb2YgZS5kYXRhKXRocm93IG5ldyBUeXBlRXJyb3IoYFRoZSBXZWJTb2NrZXQgbWVzc2FnZSBzaG91bGQgYmUgYSBzdHJpbmcuIFJlY2lldmVkICR7T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUuZGF0YSl9YCk7dGhpcy5fb25EYXRhKGUuZGF0YSl9LHRoaXMuX3NvY2tldC5vbmNsb3NlPXRoaXMuX29uQ2xvc2UuYmluZCh0aGlzKSx0aGlzLl9zb2NrZXQub25lcnJvcj10aGlzLl9vbkVycm9yLmJpbmQodGhpcyl9c2VuZChlKXt0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5zZW5kKHRoaXMuX2VuY29kZShlKSl9ZGlzY29ubmVjdCgpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub25tZXNzYWdlPXUsdGhpcy5fc29ja2V0Lm9uY2xvc2U9dSx0aGlzLl9zb2NrZXQub25lcnJvcj11LHRoaXMuX3NvY2tldC5jbG9zZSgpKX1fY2xlYXJJZGxlVGltZW91dCgpe251bGwhPT10aGlzLl90aW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX3RpbWVvdXQ9bnVsbCl9X2VuY29kZShlKXtsZXQgdCxuPSIiO2NvbnN0IHM9QXJyYXkuaXNBcnJheShlKT9lOltlXSxvPXMubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bztlKyspdD1udWxsPT09c1tlXXx8dm9pZCAwPT09c1tlXT8iIjptLl9zdHJpbmdpZnkoc1tlXSksbis9Zyt0Lmxlbmd0aCtnK3Q7cmV0dXJuIG59X2RlY29kZShlKXtjb25zdCB0PVtdO2xldCBuLHM7ZG97aWYoZS5zdWJzdHJpbmcoMCwzKSE9PWcpcmV0dXJuIHQ7bj0iIixzPSIiO2NvbnN0IG89KGU9ZS5zdWJzdHJpbmcoMykpLmxlbmd0aDtmb3IobGV0IHQ9MDt0PG87dCsrKXtpZihzPU51bWJlcihlLnN1YnN0cmluZyh0LHQrMSkpLE51bWJlcihlLnN1YnN0cmluZyh0LHQrMSkpIT09cyl7ZT1lLnN1YnN0cmluZyhuLmxlbmd0aCszKSxuPU51bWJlcihuKTticmVha31uKz1zfXQucHVzaChlLnN1YnN0cmluZygwLG4pKSxlPWUuc3Vic3RyaW5nKG4pfXdoaWxlKCIiIT09ZSk7cmV0dXJuIHR9X29uRGF0YShlKXt0aGlzLl9zZXRUaW1lb3V0KCk7Y29uc3QgdD10aGlzLl9kZWNvZGUoZSksbj10Lmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXRoaXMuX29uTWVzc2FnZSh0W2VdKX1fc2V0VGltZW91dCgpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQodGhpcy5fb25UaW1lb3V0LmJpbmQodGhpcyksdGhpcy5fb3B0aW9ucy50aW1lb3V0KX1fb25UaW1lb3V0KCl7dGhpcy5kaXNjb25uZWN0KCksdGhpcy5fb25EaXNjb25uZWN0KHtjb2RlOjRlMyxyZWFzb246InNvY2tldC5pbyB0aW1lb3V0Iix3YXNDbGVhbjohMX0pfV9vbk1lc3NhZ2UoZSl7dGhpcy5zZXNzaW9uaWQ/dGhpcy5fY2hlY2tJZkhlYXJ0YmVhdChlKT90aGlzLl9vbkhlYXJ0YmVhdChlLnNsaWNlKDMpKTp0aGlzLl9jaGVja0lmSnNvbihlKT90aGlzLl9iYXNlLm9uTWVzc2FnZShKU09OLnBhcnNlKGUuc2xpY2UoMykpKTp0aGlzLl9iYXNlLm9uTWVzc2FnZShlKToodGhpcy5zZXNzaW9uaWQ9ZSx0aGlzLl9vbkNvbm5lY3QoKSl9X2NoZWNrSWZIZWFydGJlYXQoZSl7cmV0dXJuIHRoaXMuX2NoZWNrTWVzc2FnZVR5cGUoZSwiaCIpfV9jaGVja0lmSnNvbihlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJqIil9X2NoZWNrTWVzc2FnZVR5cGUoZSx0KXtyZXR1cm4gZS5zdWJzdHJpbmcoMCwzKT09PSJ+Iit0KyJ+In1fb25IZWFydGJlYXQoZSl7dGhpcy5zZW5kKCJ+aH4iK2UpfV9vbkNvbm5lY3QoKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLl9iYXNlLm9uQ29ubmVjdCgpfV9vbkRpc2Nvbm5lY3QoZSl7dGhpcy5fY2xlYXIoKSx0aGlzLl9iYXNlLm9uRGlzY29ubmVjdChlKSx0aGlzLnNlc3Npb25pZD1udWxsfV9jbGVhcigpe3RoaXMuY29ubmVjdGVkPSExfV9wcmVwYXJlVXJsKCl7Y29uc3QgdD1rKHRoaXMuX2Jhc2UuaG9zdCk7aWYodC5wYXRobmFtZSs9InNvY2tldC5pby93ZWJzb2NrZXQiLHQucHJvdG9jb2w9IndzczoiLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZnJvbSIsd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEsNTApKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImRhdGUiLHdpbmRvdy5CVUlMRF9USU1FfHwiIiksZSgiYW55IikmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiY2xpZW50IiwibW9iaWxlIiksdGhpcy5fb3B0aW9ucy5jb25uZWN0aW9uVHlwZSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ0eXBlIix0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlKSx3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1Mpe2NvbnN0e3dzX3BhZ2VfdXJpOmUsd3NfYW5jZXN0b3Jfb3JpZ2luOm59PXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUztlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInBhZ2UtdXJpIixlKSxuJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFuY2VzdG9yLW9yaWdpbiIsbil9Y29uc3Qgbj13aW5kb3cubG9jYXRpb24uc2VhcmNoLmluY2x1ZGVzKCJ3aWRnZXRfdG9rZW4iKXx8d2luZG93LmxvY2F0aW9uLmhhc2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpO3JldHVybiBkKCl8fG58fHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXV0aCIsInNlc3Npb25pZCIpLHZvaWQgMCE9PXRoaXMuX29wdGlvbnMuYXBpS2V5JiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLHRoaXMuX29wdGlvbnMuYXBpS2V5KSx0LmhyZWZ9X29uQ2xvc2UoZSl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX29uRGlzY29ubmVjdChlKX1fb25FcnJvcihlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fY2xlYXIoKSx0aGlzLl9iYXNlLmVtaXQoImVycm9yIixbZV0pLHRoaXMuc2Vzc2lvbmlkPW51bGx9c3RhdGljIF9zdHJpbmdpZnkoZSl7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk/In5qfiIrSlNPTi5zdHJpbmdpZnkoZSk6U3RyaW5nKGUpfX1jbGFzcyB3e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ob3N0PWUsCnRoaXMuX2Nvbm5lY3Rpbmc9ITEsdGhpcy5fZXZlbnRzPXt9LHRoaXMudHJhbnNwb3J0PXRoaXMuX2dldFRyYW5zcG9ydCh0KX1pc0Nvbm5lY3RlZCgpe3JldHVybiEhdGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmNvbm5lY3RlZH1pc0Nvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGluZ31jb25uZWN0KCl7dGhpcy5pc0Nvbm5lY3RlZCgpfHwodGhpcy5fY29ubmVjdGluZyYmdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fY29ubmVjdGluZz0hMCx0aGlzLnRyYW5zcG9ydC5jb25uZWN0KCkpfXNlbmQoZSl7dGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmNvbm5lY3RlZCYmdGhpcy50cmFuc3BvcnQuc2VuZChlKX1kaXNjb25uZWN0KCl7dGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmRpc2Nvbm5lY3QoKX1vbihlLHQpe2UgaW4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzW2VdPVtdKSx0aGlzLl9ldmVudHNbZV0ucHVzaCh0KX1vZmZBbGwoKXt0aGlzLl9ldmVudHM9e319b25NZXNzYWdlKGUpe3RoaXMuZW1pdCgibWVzc2FnZSIsW2VdKX1lbWl0KGUsdD1bXSl7aWYoZSBpbiB0aGlzLl9ldmVudHMpe2NvbnN0IG49dGhpcy5fZXZlbnRzW2VdLmNvbmNhdCgpLHM9bi5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxzO2UrKyluW2VdLmFwcGx5KHRoaXMsdCl9fW9uQ29ubmVjdCgpe3RoaXMuY2xlYXIoKSx0aGlzLmVtaXQoImNvbm5lY3QiKX1vbkRpc2Nvbm5lY3QoZSl7dGhpcy5lbWl0KCJkaXNjb25uZWN0IixbZV0pfWNsZWFyKCl7dGhpcy5fY29ubmVjdGluZz0hMX1fZ2V0VHJhbnNwb3J0KGUpe3JldHVybiBuZXcgbSh0aGlzLGUpfX1mdW5jdGlvbiBrKGUpe2NvbnN0IHQ9LTEhPT1lLmluZGV4T2YoIi8iKT9uZXcgVVJMKGUpOm5ldyBVUkwoIndzczovLyIrZSk7aWYoIndzczoiIT09dC5wcm90b2NvbCYmImh0dHBzOiIhPT10LnByb3RvY29sKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB3ZWJzb2NrZXQgYmFzZSAiK2UpO3JldHVybiB0LnBhdGhuYW1lLmVuZHNXaXRoKCIvIil8fCh0LnBhdGhuYW1lKz0iLyIpLHQuc2VhcmNoPSIiLHQudXNlcm5hbWU9IiIsdC5wYXNzd29yZD0iIix0fXZhciBwLGI7IWZ1bmN0aW9uKGUpe2VbZS5Ob3JtYWw9MzAwXT0iTm9ybWFsIixlW2UuQWZ0ZXJDbG9zZUV2ZW50PTVlM109IkFmdGVyQ2xvc2VFdmVudCJ9KHB8fChwPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkluZm89MF09IkluZm8iLGVbZS5Ob3JtYWw9MV09Ik5vcm1hbCIsZVtlLkRlYnVnPTJdPSJEZWJ1ZyIsZVtlLkVycm9yPTNdPSJFcnJvciJ9KGJ8fChiPXt9KSk7Y29uc3QgZj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmTnVtYmVyKHdpbmRvdy5URUxFTUVUUllfV1NfRVJST1JfTE9HU19USFJFU0hPTEQpfHwwO3ZhciB5OyFmdW5jdGlvbihlKXtlW2UuUGluZ0ludGVydmFsPTFlNF09IlBpbmdJbnRlcnZhbCIsZVtlLk1heFBpbmdzQ291bnQ9MTBdPSJNYXhQaW5nc0NvdW50IixlW2UuTWF4UmVkaXJlY3RzPTIwXT0iTWF4UmVkaXJlY3RzIixlW2UuTWF4UmVjb25uZWN0cz0yMF09Ik1heFJlY29ubmVjdHMifSh5fHwoeT17fSkpO2NsYXNzIFR7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLl9xdWV1ZVN0YWNrPVtdLHRoaXMuX2xvZ3NRdWV1ZT1bXSx0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWU9W10sdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9yZWRpcmVjdENvdW50PTAsdGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9bnVsbCx0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9bnVsbCx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PW51bGwsdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCx0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITEsdGhpcy5faW5pdGlhbEhvc3Q9dC5pbml0aWFsSG9zdHx8bnVsbCx0aGlzLl9zdWdnZXN0ZWRIb3N0PWUsdGhpcy5fcHJvSG9zdD10LnByb0hvc3QsdGhpcy5fcmVjb25uZWN0SG9zdD10LnJlY29ubmVjdEhvc3QsdGhpcy5fbm9SZWNvbm5lY3RBZnRlclRpbWVvdXQ9ITA9PT10Lm5vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0LHRoaXMuX2RhdGFSZXF1ZXN0VGltZW91dD10LmRhdGFSZXF1ZXN0VGltZW91dCx0aGlzLl9jb25uZWN0aW9uVHlwZT10LmNvbm5lY3Rpb25UeXBlLHRoaXMuX2FwaUtleT10LmFwaUtleSx0aGlzLl9kb0Nvbm5lY3QoKSx0LnBpbmdSZXF1aXJlZCYmLTE9PT13aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIm5vcGluZyIpJiZ0aGlzLl9zdGFydFBpbmcoKX1jb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpfXJlc2V0Q291bnRlcnMoKXt0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MH1zZXRMb2dnZXIoZSx0KXt0aGlzLl9sb2dnZXI9ZSx0aGlzLl9nZXRMb2dIaXN0b3J5PXQsdGhpcy5fZmx1c2hMb2dzKCl9c2V0VGVsZW1ldHJ5KGUpe3RoaXMuX3RlbGVtZXRyeT1lLHRoaXMuX3RlbGVtZXRyeS5yZXBvcnRTZW50LnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGVsZW1ldHJ5U2VudCksdGhpcy5fZmx1c2hUZWxlbWV0cnkoKX1vblJlY29ubmVjdChlKXt0aGlzLl9vblJlY29ubmVjdD1lfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfWlzQ29ubmVjdGluZygpe3JldHVybiEhdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCl9b24oZSx0KXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmKCJjb25uZWN0Ij09PWUmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpP3QoKToiZGlzY29ubmVjdCI9PT1lP3RoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3MucHVzaCh0KTp0aGlzLl9zb2NrZXQub24oZSx0KSwhMCl9Z2V0U2Vzc2lvbklkKCl7cmV0dXJuIHRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnRyYW5zcG9ydD90aGlzLl9zb2NrZXQudHJhbnNwb3J0LnNlc3Npb25pZDpudWxsfXNlbmQoZSl7cmV0dXJuIHRoaXMuaXNDb25uZWN0ZWQoKT8odGhpcy5fc29ja2V0LnNlbmQoZSksITApOih0aGlzLl9xdWV1ZU1lc3NhZ2UoZSksITEpfQpnZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkfWdldEhvc3QoKXtjb25zdCBlPXRoaXMuX3RyeUdldFByb0hvc3QoKTtyZXR1cm4gbnVsbCE9PWU/ZTp0aGlzLl9yZWNvbm5lY3RIb3N0JiZ0aGlzLl9yZWNvbm5lY3RDb3VudD4zP3RoaXMuX3JlY29ubmVjdEhvc3Q6dGhpcy5fc3VnZ2VzdGVkSG9zdH1nZXRSZWNvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudH1nZXRSZWRpcmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnR9Z2V0Q29ubmVjdGlvblN0YXJ0KCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25TdGFydH1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCksKHRoaXMuaXNDb25uZWN0ZWQoKXx8dGhpcy5pc0Nvbm5lY3RpbmcoKSkmJih0aGlzLl9wcm9wYWdhdGVEaXNjb25uZWN0KCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jbG9zZVNvY2tldCgpKX1mb3JiaWRDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSEwLHRoaXMuZGlzY29ubmVjdCgpfWFsbG93Q29ubmVjdGlvbigpe3RoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLmNvbm5lY3QoKX1pc01heFJlZGlyZWN0cygpe3JldHVybiB0aGlzLl9yZWRpcmVjdENvdW50Pj0yMH1pc01heFJlY29ubmVjdHMoKXtyZXR1cm4gdGhpcy5fcmVjb25uZWN0Q291bnQ+PTIwfWdldFBpbmdJbmZvKCl7cmV0dXJuIHRoaXMuX3BpbmdJbmZvfHxudWxsfWdldEFwaUtleSgpe3JldHVybiB0aGlzLl9hcGlLZXl9X3RyeUdldFByb0hvc3QoKXtyZXR1cm4gd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcub25DaGFydFBhZ2UmJiJiYXR0bGUiPT09d2luZG93LmVudmlyb25tZW50JiYhdGhpcy5fcmVkaXJlY3RDb3VudCYmLTE9PT13aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCJ3c19ob3N0Iik/dGhpcy5faW5pdGlhbEhvc3Q/dGhpcy5faW5pdGlhbEhvc3Q6dm9pZCAwIT09d2luZG93LnVzZXImJndpbmRvdy51c2VyLnByb19wbGFuP3RoaXMuX3Byb0hvc3R8fHRoaXMuX3N1Z2dlc3RlZEhvc3Q6bnVsbDpudWxsfV9xdWV1ZU1lc3NhZ2UoZSl7MD09PXRoaXMuX3F1ZXVlU3RhY2subGVuZ3RoJiZ0aGlzLl9sb2dNZXNzYWdlKDAsIlNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBRdWV1ZWQgYSBtZXNzYWdlIiksdGhpcy5fcXVldWVTdGFjay5wdXNoKGUpfV9wcm9jZXNzTWVzc2FnZVF1ZXVlKCl7MCE9PXRoaXMuX3F1ZXVlU3RhY2subGVuZ3RoJiYodGhpcy5fbG9nTWVzc2FnZSgwLCJQcm9jZXNzaW5nIHF1ZXVlZCBtZXNzYWdlcyIpLHRoaXMuX3F1ZXVlU3RhY2suZm9yRWFjaCh0aGlzLnNlbmQuYmluZCh0aGlzKSksdGhpcy5fbG9nTWVzc2FnZSgwLCJQcm9jZXNzZWQgIit0aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCsiIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjaz1bXSl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dHx8bnVsbCE9PXRoaXMuX3JlY29ubmVjdFRpbWVvdXR8fCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PXNldFRpbWVvdXQodGhpcy5fdHJ5UmVjb25uZWN0LmJpbmQodGhpcyksNWUzKSksdGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpO2xldCB0PSJkaXNjb25uZWN0IHNlc3Npb246Iit0aGlzLmdldFNlc3Npb25JZCgpO2UmJih0Kz0iLCBjb2RlOiIrZS5jb2RlKyIsIHJlYXNvbjoiK2UucmVhc29uLDEwMDU9PT1lLmNvZGUmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9jb2RlXzEwMDUiKSksdGhpcy5fbG9nTWVzc2FnZSgwLHQpLHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoZSksdGhpcy5fY2xvc2VTb2NrZXQoKSx0aGlzLl9xdWV1ZVN0YWNrPVtdfV9jbG9zZVNvY2tldCgpe251bGwhPT10aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub2ZmQWxsKCksdGhpcy5fc29ja2V0LmRpc2Nvbm5lY3QoKSx0aGlzLl9zb2NrZXQ9bnVsbCl9X2xvZ01lc3NhZ2UoZSx0KXtjb25zdCBuPXttZXRob2Q6ZSxtZXNzYWdlOnR9O3RoaXMuX2xvZ2dlcj90aGlzLl9mbHVzaExvZ01lc3NhZ2Uobik6KG4ubWVzc2FnZT1gWyR7KG5ldyBEYXRlKS50b0lTT1N0cmluZygpfV0gJHtuLm1lc3NhZ2V9YCx0aGlzLl9sb2dzUXVldWUucHVzaChuKSl9X2ZsdXNoTG9nTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UgMjp0aGlzLl9sb2dnZXIubG9nRGVidWcoZS5tZXNzYWdlKTticmVhaztjYXNlIDM6dGhpcy5fbG9nZ2VyLmxvZ0Vycm9yKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAwOnRoaXMuX2xvZ2dlci5sb2dJbmZvKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoZS5tZXNzYWdlKX19X2ZsdXNoTG9ncygpe3RoaXMuX2ZsdXNoTG9nTWVzc2FnZSh7bWV0aG9kOjEsbWVzc2FnZToibWVzc2FnZXMgZnJvbSBxdWV1ZS4gU3RhcnQuIn0pLHRoaXMuX2xvZ3NRdWV1ZS5mb3JFYWNoKChlPT57dGhpcy5fZmx1c2hMb2dNZXNzYWdlKGUpfSkpLHRoaXMuX2ZsdXNoTG9nTWVzc2FnZSh7bWV0aG9kOjEsbWVzc2FnZToibWVzc2FnZXMgZnJvbSBxdWV1ZS4gRW5kLiJ9KSx0aGlzLl9sb2dzUXVldWU9W119X3NlbmRUZWxlbWV0cnkoZSx0KXtjb25zdCBuPXtldmVudDplLHBhcmFtczp0fTt0aGlzLl90ZWxlbWV0cnk/dGhpcy5fZmx1c2hUZWxlbWV0cnlPYmplY3Qobik6dGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlLnB1c2gobil9X2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpe3RoaXMuX3RlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoZS5ldmVudCxlLnBhcmFtcywhMSl9X2ZsdXNoVGVsZW1ldHJ5KCl7dGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChlKX0pKSx0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWU9W119X2RvQ29ubmVjdCgpewp0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKXx8dGhpcy5fc29ja2V0LmlzQ29ubmVjdGluZygpKXx8KHRoaXMuX2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9ob3N0PXRoaXMuZ2V0SG9zdCgpLHRoaXMuX3NvY2tldD1uZXcgdyh0aGlzLl9ob3N0LHt0aW1lb3V0OnRoaXMuX2RhdGFSZXF1ZXN0VGltZW91dCxjb25uZWN0aW9uVHlwZTp0aGlzLl9jb25uZWN0aW9uVHlwZSxhcGlLZXk6dGhpcy5fYXBpS2V5fSksdGhpcy5fbG9nTWVzc2FnZSgwLCJDb25uZWN0aW5nIHRvICIrdGhpcy5faG9zdCksdGhpcy5fYmluZEV2ZW50cygpLHRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3M9W10sdGhpcy5fY29ubmVjdGlvblN0YXJ0PXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3NvY2tldC5jb25uZWN0KCkscGVyZm9ybWFuY2UubWFyaygiU1dTQyIse2RldGFpbDoiU3RhcnQgV2ViU29ja2V0IGNvbm5lY3Rpb24ifSksdGhpcy5fc29ja2V0Lm9uKCJjb25uZWN0IiwoKCk9PntwZXJmb3JtYW5jZS5tYXJrKCJFV1NDIix7ZGV0YWlsOiJFbmQgV2ViU29ja2V0IGNvbm5lY3Rpb24ifSkscGVyZm9ybWFuY2UubWVhc3VyZSgiV2ViU29ja2V0IGNvbm5lY3Rpb24gZGVsYXkiLCJTV1NDIiwiRVdTQyIpfSkpKX1fcHJvcGFnYXRlRGlzY29ubmVjdChlKXtjb25zdCB0PXRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3MubGVuZ3RoO2ZvcihsZXQgbj0wO248dDtuKyspdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrc1tuXShlfHx7fSl9X2JpbmRFdmVudHMoKXt0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e2NvbnN0IGU9dGhpcy5nZXRTZXNzaW9uSWQoKTtpZigic3RyaW5nIj09dHlwZW9mIGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZih0LnJlZGlyZWN0KXJldHVybiB0aGlzLl9yZWRpcmVjdENvdW50Kz0xLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9dC5yZWRpcmVjdCx0aGlzLmlzTWF4UmVkaXJlY3RzKCkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoInJlZGlyZWN0X2JhaWxvdXQiKSx2b2lkIHRoaXMuX3JlZGlyZWN0KCl9dGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX3Byb2Nlc3NNZXNzYWdlUXVldWUoKSx0aGlzLl9sb2dNZXNzYWdlKDAsImNvbm5lY3Qgc2Vzc2lvbjoiK2UpfSkpLHRoaXMuX3NvY2tldC5vbigiZGlzY29ubmVjdCIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiY2xvc2UiLHRoaXMuX29uRGlzY29ubmVjdC5iaW5kKHRoaXMpKSx0aGlzLl9zb2NrZXQub24oImVycm9yIiwoZT0+e3RoaXMuX2xvZ01lc3NhZ2UoMCxuZXcgRGF0ZSsiIHNlc3Npb246Iit0aGlzLmdldFNlc3Npb25JZCgpKyIgd2Vic29ja2V0IGVycm9yOiIrSlNPTi5zdHJpbmdpZnkoZSkpLHRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvciIpLHRoaXMuX2Vycm9yc0NvdW50KyssIXRoaXMuX2Vycm9yc0luZm9TZW50JiZ0aGlzLl9lcnJvcnNDb3VudD49ZiYmKHZvaWQgMCE9PXRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrJiYodGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yX2Nvbm5lY3Rfc3RhY2siLHt0ZXh0OnRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrfSksZGVsZXRlIHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrKSx2b2lkIDAhPT10aGlzLl9nZXRMb2dIaXN0b3J5JiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfbG9nIix7dGV4dDp0aGlzLl9nZXRMb2dIaXN0b3J5KDUwKS5qb2luKCJcbiIpfSksdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITApfSkpKX1fcmVkaXJlY3QoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZWNvbm5lY3RXaGVuT25saW5lKCl9X3RyeVJlY29ubmVjdCgpe3RoaXMuX3RyeUNvbm5lY3QoKSYmKHRoaXMuX3JlY29ubmVjdENvdW50Kz0xKX1fdHJ5Q29ubmVjdCgpe3JldHVybiF0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW4mJih0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSx0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjaz1uZXcgRXJyb3IoYFdlYlNvY2tldCBjb25uZWN0IHN0YWNrLiBJcyBjb25uZWN0ZWQ6ICR7dGhpcy5pc0Nvbm5lY3RlZCgpfS5gKS5zdGFja3x8IiIsIXRoaXMuaXNDb25uZWN0ZWQoKSYmKHRoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKSwhMCkpfV9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCl7dGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4mJih0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPW51bGwpfV9jbGVhclJlY29ubmVjdFRpbWVvdXQoKXtudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0KSx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PW51bGwpfV9yZWNvbm5lY3RXaGVuT25saW5lKCl7aWYobmF2aWdhdG9yLm9uTGluZSlyZXR1cm4gdGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1czogb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLl9kb0Nvbm5lY3QoKSx2b2lkKHRoaXMuX29uUmVjb25uZWN0JiZ0aGlzLl9vblJlY29ubmVjdCgpKTt0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvZmZsaW5lIC0gd2FpdCB1bnRpbCBvbmxpbmUiKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1mdW5jdGlvbihlKXtsZXQgdD1lO2NvbnN0IG49KCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixuKSx0JiZ0KCl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixuKSwoKT0+e3Q9bnVsbH19KCgoKT0+e3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXMgY2hhbmdlZCB0byBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHRoaXMuX29uUmVjb25uZWN0JiZ0aGlzLl9vblJlY29ubmVjdCgpfSkpfQpfb25UZWxlbWV0cnlTZW50KGUpeyJ3ZWJzb2NrZXRfZXJyb3IiaW4gZSYmKHRoaXMuX2Vycm9yc0NvdW50PTAsdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITEpfV9zdGFydFBpbmcoKXtpZih0aGlzLl9waW5nSW50ZXJ2YWxJZClyZXR1cm47Y29uc3QgZT1rKHRoaXMuZ2V0SG9zdCgpKTtlLnBhdGhuYW1lKz0icGluZyIsZS5wcm90b2NvbD0iaHR0cHM6IjtsZXQgdD0wLG49MDtjb25zdCBzPWU9Pnt0aGlzLl9waW5nSW5mbz10aGlzLl9waW5nSW5mb3x8e21heDowLG1pbjoxLzAsYXZnOjB9O2NvbnN0IHM9KG5ldyBEYXRlKS5nZXRUaW1lKCktZTtzPnRoaXMuX3BpbmdJbmZvLm1heCYmKHRoaXMuX3BpbmdJbmZvLm1heD1zKSxzPHRoaXMuX3BpbmdJbmZvLm1pbiYmKHRoaXMuX3BpbmdJbmZvLm1pbj1zKSx0Kz1zLG4rKyx0aGlzLl9waW5nSW5mby5hdmc9dC9uLG4+PTEwJiZ0aGlzLl9waW5nSW50ZXJ2YWxJZCYmKGNsZWFySW50ZXJ2YWwodGhpcy5fcGluZ0ludGVydmFsSWQpLGRlbGV0ZSB0aGlzLl9waW5nSW50ZXJ2YWxJZCl9O3RoaXMuX3BpbmdJbnRlcnZhbElkPXNldEludGVydmFsKCgoKT0+e2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCksbj1uZXcgWE1MSHR0cFJlcXVlc3Q7bi5vcGVuKCJHRVQiLGUsITApLG4uc2VuZCgpLG4ub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57bi5yZWFkeVN0YXRlPT09WE1MSHR0cFJlcXVlc3QuRE9ORSYmMjAwPT09bi5zdGF0dXMmJnModCl9fSksMWU0KX19CmNvbnN0IEM9IndpZGdldF91c2VyX3Rva2VuLSIsdj1KU09OLnBhcnNlKCd7ImFkeCI6IndpZGdldF91c2VyX3Rva2VuLWFkeCIsImFkeEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHhEIiwiYWdlbmNpYWxibWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWdlbmNpYWxibWNvbWJyIiwiYWxqYXppcmFjYXBpdGFsRCI6IndpZGdldF91c2VyX3Rva2VuLWFsamF6aXJhY2FwaXRhbEQiLCJhbGphemlyYWNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLWFsamF6aXJhY2FwaXRhbFJUIiwiYWxyYWpoaWNhcGl0YWxjb21EIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21EIiwiYWxyYWpoaWNhcGl0YWxjb21SVCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tUlQiLCJhbWJpdG8iOiJ3aWRnZXRfdXNlcl90b2tlbi1hbWJpdG8iLCJhcmVuYXh0cm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1hcmVuYXh0cm8iLCJhcnRlY2hlY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tQXJ0ZWNoZUQiLCJhdGxjYXBpdGFsIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXRsY2FwaXRhbCIsImJhbmtpcm9zcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iYW5raXJvc3J1IiwiYmJ2YWNoIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmJ2YWNoIiwiYmVla3Nncm91cCI6IndpZGdldF91c2VyX3Rva2VuLWJlZWtzZ3JvdXAiLCJiZWx1Z2Fncm91cHJ1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmVsdWdhZ3JvdXBydSIsImJpdmFjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1iaXZhY29tIiwiYmx1ZWZpZWxkIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmx1ZWZpZWxkIiwiYmx1ZWxpbmVmdXR1cmVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmx1ZWxpbmVmdXR1cmVzIiwiYm92ZXNwYSI6IndpZGdldF91c2VyX3Rva2VuLWJtZmJvdmVzcGFjb21iciIsImJ2YnJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYnZicm8iLCJieXRldHJhdmVsIjoid2lkZ2V0X3VzZXJfdG9rZW4tYnl0ZXRyYXZlbCIsImNib2VjYW5hZGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1jYm9lY2FuYWRhIiwiY2hhbXBpb25uYXRib3Vyc2UiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaGFtcGlvbm5hdGJvdXJzZSIsImNpbmNvZGlhcyI6IndpZGdldF91c2VyX3Rva2VuLWNpbmNvZGlhcyIsImNlb2NhRCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhRCIsImNlb2NhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYVJUIiwiY21jbWFya2V0cyI6IndpZGdldF91c2VyX3Rva2VuLWNtY21hcmtldHMiLCJjb3BlZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jb3BlZXMiLCJjc2VsayI6IndpZGdldF91c2VyX3Rva2VuLWNzZWxrIiwiZGFpbHlmeCI6IndpZGdldF91c2VyX3Rva2VuLWRhaWx5ZngiLCJkZWVwc2VhcmNoIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVlcHNlYXJjaCIsImRlcmF5YWhjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1kZXJheWFoY29tIiwiZGZtYWVEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVEIiwiZGZtYWVSVCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlUlQiLCJkaW5hcnNhRCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FEIiwiZGluYXJzYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYVJUIiwiZG9sYXJob3kiOiJ3aWRnZXRfdXNlcl90b2tlbi1kb2xhcmhveSIsImVhc3ludmVzdGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWFzeW52ZXN0Y29tYnIiLCJlZGFpbHkiOiJ3aWRnZXRfdXNlcl90b2tlbi1lZGFpbHkiLCJlbGVzcGFub2xjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbGVzcGFub2xjb20iLCJlbG9icmVyb2VzIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxvYnJlcm9lcyIsImVsbmFjaW9uYWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRWxOYWNpb25hbEQiLCJlbHBhaXNmaW5hbmNpZXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwYWlzZmluYW5jaWVybyIsImVscGVyaW9kaWNvZGVsYWVuZXJnaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBlcmlvZGljb2RlbGFlbmVyZ2lhIiwiZXVxdWVyb2ludmVzdGlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVxdWVyb2ludmVzdGlyY29tIiwiZXVyZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJleCIsImV1cm9maW5zIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyb2ZpbnMiLCJlcGUiOiJ3aWRnZXRfdXNlcl90b2tlbi1lcGUiLCJldXJvcGFwcmVzc2VzIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyb3BhcHJlc3NlcyIsImZpbmFuemFzRCI6IndpZGdldF91c2VyX3Rva2VuLUZpbmFuemFzRCIsImZvcmJlc2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZm9yYmVzY29tYnIiLCJnZW5pYWxpbnZlc3RpbWVudG9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tZ2VuaWFsaW52ZXN0aW1lbnRvcyIsImhlYWx0aGl0YWxpYSI6IndpZGdldF91c2VyX3Rva2VuLWhlYWx0aGl0YWxpYSIsImhlZ25hcm5vIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVnbmFybm8iLCJoaXBvdGVjYXJpb2NvbWFyIjoid2lkZ2V0X3VzZXJfdG9rZW4taGlwb3RlY2FyaW9jb21hciIsImlnY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4taWdjb20iLCJpbnZlc3RlZ2F0ZWNvdWsiOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnZlc3RlZ2F0ZWNvdWsiLCJpbnZlc3RvcGVkaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnZlc3RvcGVkaWEiLCJpbnRlZ3JhbHlhdGlyaW0iOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnRlZ3JhbHlhdGlyaW0iLCJpdnNncm91cCI6IndpZGdldF91c2VyX3Rva2VuLWl2c2dyb3VwIiwianNlY296YSI6IndpZGdldF91c2VyX3Rva2VuLWpzZWNvemEiLCJib2Vyc2VuemVpdHVuZyI6IndpZGdldF91c2VyX3Rva2VuLWJvZXJzZW56ZWl0dW5nIiwibGFpbmZvcm1hY2lvbmNvbSI6IndpZGdldF91c2VyX3Rva2VuLWxhaW5mb3JtYWNpb25jb20iLCJtYXJjb3BvbG9jb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1hcmNvcG9sb2NvbWJyIiwibWVyY2Fkb2ZpbmFuY2llcm9jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1tZXJjYWRvZmluYW5jaWVyb2NvbSIsIm1vZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb2V4IiwibW9uZXl0aW1lc2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uZXl0aW1lc2NvbWJyIiwibW9uaXRvcmRvbWVyY2Fkb0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25pdG9yZG9tZXJjYWRvRCIsIm15bmV0Y29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbXluZXRjb20iLCJuZWdvY2lvcyI6IndpZGdldF91c2VyX3Rva2VuLW5lZ29jaW9zIiwiTkdYIjoid2lkZ2V0X3VzZXJfdG9rZW4tTkdYIiwiTm90aWNpYXNhZ3JpY29sYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ub3RpY2lhc2Fncmljb2xhRCIsIm5vbW1vbWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ub21tb21hIiwibnNlY29rciI6IndpZGdldF91c2VyX3Rva2VuLW5zZWNva3IiLCJva2RpYXJpbyI6IndpZGdldF91c2VyX3Rva2VuLW9rZGlhcmlvIiwicGFuYWZyaWNhbnJlc291cmNlc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXBhbmFmcmljYW5yZXNvdXJjZXNjb20iLCJwc2UiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2UiLCJwb2RlcjM2MCI6IndpZGdldF91c2VyX3Rva2VuLXBvZGVyMzYwIiwicHNlRCI6IndpZGdldF91c2VyX3Rva2VuLXBzZUQiLCJyaXlhZGhjYXBpdGFsRCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxEIiwicml5YWRoY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbFJUIiwicWVjb21xYSI6IndpZGdldF91c2VyX3Rva2VuLXFlY29tcWEiLCJzYW1vbGV0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2Ftb2xldCIsInNlZWluZ21hY2hpbmVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2VlaW5nbWFjaGluZXNjb20iLCJzZXVkaW5oZWlybyI6IndpZGdldF91c2VyX3Rva2VuLXNldWRpbmhlaXJvIiwic29mdHdhcmVhZyI6IndpZGdldF91c2VyX3Rva2VuLXNvZnR3YXJlYWciLCJzb2dlY2xhaXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2dlY2xhaXIiLCJzZ2NvbXBhbnlpdCI6IndpZGdldF91c2VyX3Rva2VuLXNnY29tcGFueWl0Iiwic2hhcmVqdW5jdGlvbiI6IndpZGdldF91c2VyX3Rva2VuLXNoYXJlanVuY3Rpb24iLCJzbWFydGxhYi1jdXN0b20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNtYXJ0bGFiIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzcGFjZW1vbmV5Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zcGFjZW1vbmV5Y29tYnIiLCJzdG9uZXh3ZGciOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG9uZXjCoy0hd3d3LnN0b25leC5jb20iLCJzdG94aW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG94aW8iLCJzdG9uZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG9uZXgiLCJ0b3JvaW52ZXN0aW1lbnRvc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXRvcm9pbnZlc3RpbWVudG9zY29tIiwidGhlY3NlY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdGhlY3NlY29tIiwidHJhZGVyc2NsdWJicmFzaWwiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbCIsInRyYWRlcnNjbHViYnJhc2lsRCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsRCIsInRyYWRpbmd2aWV3Ijoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGluZ3ZpZXciLCJ4dG9vbHMiOiJ3aWRnZXRfdXNlcl90b2tlbi14dG9vbHMiLCJ0d2l0dGVyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHdpdHRlciIsInZlbG9jaXR5Y29tcG9zaXRlc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXZlbG9jaXR5Y29tcG9zaXRlc2NvbSIsInZvY2VzYWFicmlsY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi12b2Nlc2FhYnJpbGNvbWJyIiwid2VhbHRoc2ltcGxlIjoid2lkZ2V0X3VzZXJfdG9rZW4td2VhbHRoc2ltcGxlwqMtIW15LndlYWx0aHNpbXBsZS5jb20iLCJ3b3JsZGNoZXNzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4td29ybGRjaGVzc2NvbSIsInhDcnR5SmtzcCI6IndpZGdldF91c2VyX3Rva2VuLXhDcnR5SmtzcCIsInhwaWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4teHBpY29tYnIifScpW3dpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3LndpZGdldEN1c3RvbWVyfHwiIl18fCIiLFM9di5zdGFydHNXaXRoKEMpP3Yuc3Vic3RyaW5nKDE4KToidHJhZGluZ3ZpZXciCjt3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbj1uZXcgVCh3aW5kb3cuV0VCU09DS0VUX0hPU1Qse3BpbmdSZXF1aXJlZDp3aW5kb3cuV1NfSE9TVF9QSU5HX1JFUVVJUkVELHByb0hvc3Q6d2luZG93LldFQlNPQ0tFVF9QUk9fSE9TVCxyZWNvbm5lY3RIb3N0OndpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNULGluaXRpYWxIb3N0OndpbmRvdy5XRUJTT0NLRVRfSU5JVElBTF9IT1NULGNvbm5lY3Rpb25UeXBlOndpbmRvdy5XRUJTT0NLRVRfQ09OTkVDVElPTl9UWVBFLGFwaUtleTpTfSksd2luZG93LldTQmFja2VuZENvbm5lY3Rpb25DdG9yPVR9KSgpOwoJPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+Cgk8c2NyaXB0IG5vbmNlPSJvcXRQY1BPSVpCcHBlUGNYeER3b1ZnPT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCB0PTEwMTk7dmFyIGUscyxvLGEsZDshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0oZXx8KGU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0oc3x8KHM9e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KG98fChvPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGF8fChhPXt9KSksZnVuY3Rpb24odCl7dC5UaGVtZUNsYXNzUHJlZml4PSJ0aGVtZS0ifShkfHwoZD17fSkpO2NvbnN0IGM9d2luZG93O2MuaW5pdERhdGE9Yy5pbml0RGF0YXx8e307bGV0IGk9Yy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cyYmKGk9ey4uLmMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsLi4uaX0pLHZvaWQgMCE9PWkpe2lmKHZvaWQgMCE9PWkuY29sb3JUaGVtZSYmZnVuY3Rpb24odCxlPXdpbmRvdyl7Y29uc3Qgcz0idGhlbWUtIit0LG89ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCB0IG9mIEFycmF5LmZyb20obykpdC5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmdCE9PXMmJm8ucmVtb3ZlKHQpO28uYWRkKHMpLGUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9dH0oaS5jb2xvclRoZW1lKSwoaS5pc1RyYW5zcGFyZW50fHxpLnRyYW5zcGFyZW5jeSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy10cmFuc3BhcmVudCIpLHZvaWQgMCE9PWkuZGlzcGxheU1vZGUmJmZ1bmN0aW9uKHMsbyl7aWYobz09PWUuQWRhcHRpdmUpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEoYChtYXgtd2lkdGg6ICR7dH1weClgKSxvPSgpPT57cy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsIWUubWF0Y2hlcykscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsZS5tYXRjaGVzKX07bygpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixvKX1lbHNlIHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLG89PT1lLlJlZ3VsYXIpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLG89PT1lLkNvbXBhY3QpfShkb2N1bWVudC5ib2R5LGkuZGlzcGxheU1vZGUpLGkuYm9keUNsYXNzZXMpZm9yKGNvbnN0IHQgb2YgaS5ib2R5Q2xhc3Nlcylkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQodCk7aS5ib2R5X2NsYXNzJiZkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoaS5ib2R5X2NsYXNzKSxpLmJvZHlJZCYmKGRvY3VtZW50LmJvZHkuaWQ9aS5ib2R5SWQpfX0pKCk7Cgk8L3NjcmlwdD4KCgk8ZGl2IGlkPSJ3aWRnZXQtZm9yZXgtaGVhdC1tYXAtY29udGFpbmVyIj48L2Rpdj4KCjxzY3JpcHQgbm9uY2U9Im9xdFBjUE9JWkJwcGVQY1h4RHdvVmc9PSI+Cgl3aW5kb3cuaW5pdERhdGEgPSB3aW5kb3cuaW5pdERhdGEgfHwge307CgoJd2luZG93LmluaXREYXRhLnNub3dwbG93U2V0dGluZ3MgPSB7CgkJY29sbGVjdG9ySWQ6ICd0dl9jZicsCgkJdXJsOiAnc25vd3Bsb3ctcGl4ZWwudHJhZGluZ3ZpZXcuY29tJywKCQlwYXJhbXM6IHsKCQkJYXBwSWQ6ICd0cmFkaW5ndmlldycsCgkJCXBvc3RQYXRoOiAnL2NvbS50cmFkaW5ndmlldy90cmFjaycsCgkJfSwKCQllbmFibGVkOiB0cnVlLAoJfQo8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4="}},"time_used":22,"timings":{"blocked":-1,"dns":10,"connect":2,"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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.109Z","timestamp":1785120763109,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 056308f4243d2468961f276bb03e1601\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-27T05:26:56.023662Z","times_seen":219,"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":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/79207.6a62fc803d3d07898936.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.488Z","timestamp":1785120763488,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/79207.6a62fc803d3d07898936.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/ticker-tape/?locale=en\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 02:52:43 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-1271\"\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:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 09ae9559f02937e3f073fbc4eb0a0ed9\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-07-27T05:14:11.3544Z","times_seen":17556491,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.161Z","timestamp":1785120762161,"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=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\ncontent-type: image/png\r\ncontent-length: 2424\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:33:41 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 05:05:34 GMT\r\ncache-control: max-age=86400\r\netag: \"2f7f439543524c24f6631dc79fff2534\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 78430\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: XBMbEvK5pwCHiZ942GuLWsYSppIPKh5FlLrGU1VHr5wv7pbLpp68Yw==\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":2950,"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-07-27T05:24:59.832776Z","times_seen":1149,"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":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":1,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.249Z","timestamp":1785120762249,"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=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\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: 70599\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 25EykwwhgUifoN8JWZbo1eY-fWEs45c3Y7m0vIPPblTf4I6_Z-8vCg==\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":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-27T05:24:59.820266Z","times_seen":1005,"resource_available":false,"data":"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"}},"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/87926.8ab9cfede16295107017.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/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.493Z","timestamp":1785120763493,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/87926.8ab9cfede16295107017.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/ticker-tape/?locale=en\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 02:52:43 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-3547\"\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:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b1305424c3a584b78b3ce2e5edc266aa\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/temp/custom/imge3.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.995Z","timestamp":1785120760995,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/imge3.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 6599\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":6599,"size_decoded":7010,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 198x255, components 3","md5":"da21c4402aff4e1e595e68e24ba30f7e","sha1":"ed7e90d94540e805ad7e3c0c8eb484e915510ce8","sha256":"1dbda9f9078e075eba2f2ab1f2442b9f95403bb03ce07002f7ea10151e2e6c56","sha512":"d94564204e469cd9fd85c8e4e7eabfbfbe22be2b3cf7e52f1527b55bd97780d56f6f175c0e0c6b9cff7f80793b8dfea59884850f9a7c7f688dde4aca84f7921a","ssdeep":"96:gJaiYlA7g6JscPv1p2HDUvCqhVEhWidDIr8T1HCmj7hB1gSfD+6wplkwuRFRSoIm:g5YSJKNSYNCmj7hJD+PTkwu48","tlshash":"d5d18cbf90affce2ee2ad9b81eb33b43d645480eac8d465b614325121ad0f048189932","first_seen":"2024-08-19T14:44:35.701131Z","last_seen":"2026-07-27T05:24:59.937896Z","times_seen":939,"resource_available":false,"data":"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"}},"time_used":513,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":484,"receive":29,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/temp/custom/img/abt.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.902Z","timestamp":1785120761902,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/img/abt.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 408696\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":408696,"size_decoded":409108,"mime_type":"image/png","magic":"PNG image data, 1440 x 810, 8-bit/color RGBA, non-interlaced","md5":"c3adb9265235cb24ccaa6092749a86c1","sha1":"1ecd145a230ae5922a37a6c597fd636871092055","sha256":"240e723a74f92e17405c71c4f0bfbb66a2760f39ecc62651d0057131da4b0a08","sha512":"122ed386ee7e30d99a8e5539167e3340f43e427f91e1f74ffc2c9260ae55beb8a4ad3d573e7b8fb4555a50cc158e805f8df61c0982631f261541eb090f950f14","ssdeep":"12288:I6aasIZa3E3TUOmXSwS0lFoME+IEIvkgDNW9h:tBCeTU7XXt2vkgDNW9h","tlshash":"b49423dbab82b0b3bc71779d7b2c282dad450265c81627d4432524a51d1f2b64ff8e8f","first_seen":"2024-09-20T20:01:54.77764Z","last_seen":"2026-07-27T05:24:59.888506Z","times_seen":871,"resource_available":false,"data":"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"}},"time_used":126,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":88,"receive":38,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.959Z","timestamp":1785120761959,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 3808278\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 02:52:41 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=L%2BqjDNu%2B%2Blxmj%2Fo1rnlZFIvLN6pnDPizmUHNu1wnFvNe%2F8PiQjkiignYgqy5chHUu5sHFbHuLMkfBFkwsQdQOHTndswu7BYyUixlqq3gzZwNvuwUEaTwGbRHg7hQ\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a3be30daa-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":"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"]}],"data":{"size":8114,"size_decoded":4394,"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-07-27T05:24:59.811029Z","times_seen":1201,"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":"www.tradingview-widget.com/static/bundles/embed/62630.53732daea8178447393f.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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.504Z","timestamp":1785120763504,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/62630.53732daea8178447393f.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/market-overview/?locale=en\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 02:52:43 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: \"6a2900e8-81\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 10 Jun 2026 06:15:04 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/10/2026 10:16:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 79b1dee61af3bb9a78213cb28ee868aa\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-07-27T05:14:11.3544Z","times_seen":17556491,"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/78688.b21e867ddcc73806d1eb.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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.583Z","timestamp":1785120763583,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/78688.b21e867ddcc73806d1eb.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/market-overview/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T02:52:40.099Z","timestamp":1785120760099,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nx-powered-by: PHP/8.2.29\r\ncontent-type: text/html; charset=UTF-8\r\ncache-control: no-cache, private\r\nset-cookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; expires=Mon, 27-Jul-2026 04:52:40 GMT; Max-Age=7200; path=/; samesite=lax; secure\nremedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D; expires=Mon, 27-Jul-2026 04:52:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax; secure\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 02:52:40 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Unpkg","description":"Unpkg is a content delivery network for everything on npm.","website":"https://unpkg.com","common_platform_enumeration":"","icon":"Unpkg.png","categories":["CDN"]},{"name":"Tailwind CSS","description":"Tailwind is a utility-first CSS framework.","website":"https://tailwindcss.com/","common_platform_enumeration":"","icon":"tailwindcss.svg","categories":["UI frameworks"]},{"name":"jQuery CDN","description":"jQuery CDN is a way to include jQuery in your website without actually downloading and keeping it your website's folder.","website":"https://code.jquery.com/","common_platform_enumeration":"","icon":"jQuery.svg","categories":["CDN"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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"]},{"name":"Alpine.js","description":"","website":"https://github.com/alpinejs/alpine","common_platform_enumeration":"","icon":"Alpine.js.png","categories":["JavaScript frameworks"]},{"name":"jQuery:3.6.0","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":"PHP:8.2.29","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"]}],"data":{"size":187885,"size_decoded":26873,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (487)","md5":"394cee53c822b54ec063fd6126a51f5f","sha1":"be144bba35daf416ab4485f0b37722704aba480e","sha256":"857656ee242720a4901cc34bd0efd04fad7b85bb87db6d40f4dbfe6a240ab871","sha512":"ceb84ded1f461cddaa61da5bf0aa1b2cb681015e4c6b4c32ba6bbbb75fb94a748cd48c85bb52ed57615da0d43dbbedcb30ee788837f21d9e491850f1418362ee","ssdeep":"1536:69l9tszKWscsjsq1OMsxqCTmFQ2QkXziG:6ozq1OMsDT6Q2QEH","tlshash":"6104b764a3f101ba50c3c1f1faa6af2baea9d547d66b84c8b39c42856fc3c46cd43754","first_seen":"2026-07-27T02:53:32.482893Z","last_seen":"2026-07-27T02:53:32.482893Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiBjbGFzcz0iZGFyayI+CjxoZWFkPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1VVEYtOCIgLz4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wLCBzaHJpbmstdG8tZml0PW5vIj4KCiAgICA8IS0tIFRhaWx3aW5kIENTUyAtLT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICB0YWlsd2luZC5jb25maWcgPSB7CiAgICAgICAgICAgIGRhcmtNb2RlOiAnY2xhc3MnLAogICAgICAgICAgICB0aGVtZTogewogICAgICAgICAgICAgICAgZXh0ZW5kOiB7CiAgICAgICAgICAgICAgICAgICAgY29sb3JzOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW1hcnk6ICcjM0I4MkY2JywKICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAnIzEwQjk4MScsCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VudDogJyM2MzY2RjEnLAogICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nOiAnI0Y1OUUwQicsCiAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcjogJyNFRjQ0NDQnLAogICAgICAgICAgICAgICAgICAgICAgICBkYXJrOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDA6ICcjMzc0MTUxJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDogJyMxRjI5MzcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwOiAnIzExMTgyNycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MDA6ICcjMEYxNzJBJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMDogJyMwQjExMjAnLAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNhbnM6IFsnSW50ZXInLCAnc2Fucy1zZXJpZiddCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgPC9zY3JpcHQ+CgogICAgPCEtLSBBbHBpbmUuanMgLS0+CiAgICA8c2NyaXB0IGRlZmVyIHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vYWxwaW5lanNAMy54LngvZGlzdC9jZG4ubWluLmpzIj48L3NjcmlwdD4KCiAgICA8IS0tIEZvbnRBd2Vzb21lIC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9mb250LWF3ZXNvbWUvNi40LjAvY3NzL2FsbC5taW4uY3NzIj4KCiAgICA8IS0tIEN1c3RvbSBTdHlsZXMgLS0+CiAgICA8c3R5bGU+CiAgICAgICAgLyogQWxwaW5lLmpzIHgtY2xvYWsgZGlyZWN0aXZlICovCiAgICAgICAgW3gtY2xvYWtdIHsKICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIH0KCiAgICAgICAgLyogQ3VzdG9tIHNjcm9sbGJhciBmb3IgZGFyayBtb2RlICovCiAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIH0KICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzFGMjkzNzsKICAgICAgICB9CiAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0QjU1NjM7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB9CiAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM2QjcyODA7CiAgICAgICAgfQoKICAgICAgICAvKiBGb3JtIGVsZW1lbnRzIHN0eWxpbmcgKi8KICAgICAgICAuZm9ybS1pbnB1dCB7CiAgICAgICAgICAgIEBhcHBseSAgYmctZGFyay0xMDAgYm9yZGVyLTAgcm91bmRlZC1sZyBweC00IHB5LTMgdGV4dC1ncmF5LTEwMCBmb250LW1lZGl1bSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1wcmltYXJ5IGZvY3VzOm91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDA7CiAgICAgICAgfQoKICAgICAgICAuZm9ybS1zZWxlY3QgewogICAgICAgICAgICBAYXBwbHkgIGJnLWRhcmstMTAwIGJvcmRlci0wIHJvdW5kZWQtbGcgcHgtNCBweS0zIHRleHQtZ3JheS0xMDAgZm9udC1tZWRpdW0gZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctcHJpbWFyeSBmb2N1czpvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi1wcmltYXJ5IHsKICAgICAgICAgICAgQGFwcGx5ICBiZy1wcmltYXJ5IGhvdmVyOmJnLWJsdWUtNzAwIHRleHQtd2hpdGUgZm9udC1ib2xkIHB5LTMgcHgtNiByb3VuZGVkLWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMDsKICAgICAgICB9CgogICAgICAgIC5idG4tc2Vjb25kYXJ5IHsKICAgICAgICAgICAgQGFwcGx5ICBiZy1kYXJrLTEwMCBob3ZlcjpiZy1kYXJrLTIwMCB0ZXh0LXdoaXRlIGZvbnQtYm9sZCBweS0zIHB4LTYgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDA7CiAgICAgICAgfQoKICAgICAgICAvKiBOYXZiYXIgYW5kIG1vYmlsZSBtZW51IGFuaW1hdGlvbnMgKi8KICAgICAgICAubmF2YmFyLWRyb3Bkb3duIHsKICAgICAgICAgICAgQGFwcGx5ICB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZWFzZS1pbi1vdXQgdHJhbnNmb3JtIG9yaWdpbi10b3A7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzICBmYWRlSW4gewogICAgICAgICAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfQogICAgICAgICAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgICAgIH0KCiAgICAgICAgLmFuaW1hdGUtZmFkZUluIHsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlLW91dCBmb3J3YXJkczsKICAgICAgICB9CgogICAgICAgIC8qIExpZ2h0IG1vZGUgb3ZlcnJpZGVzICovCiAgICAgICAgaHRtbDpub3QoLmRhcmspIHsKICAgICAgICAgICAgQGFwcGx5ICBiZy1ncmF5LTEwMCB0ZXh0LWdyYXktOTAwOwogICAgICAgIH0KCiAgICAgICAgaHRtbDpub3QoLmRhcmspIGJvZHkgewogICAgICAgICAgICBAYXBwbHkgIGJnLWdyYXktMTAwIHRleHQtZ3JheS05MDA7CiAgICAgICAgfQoKICAgICAgICBodG1sOm5vdCguZGFyaykgLmJnLWRhcmstNDAwIHsKICAgICAgICAgICAgQGFwcGx5ICBiZy13aGl0ZTsKICAgICAgICB9CgogICAgICAgIGh0bWw6bm90KC5kYXJrKSAuYmctZGFyay0zMDAgewogICAgICAgICAgICBAYXBwbHkgIGJnLWdyYXktNTA7CiAgICAgICAgfQoKICAgICAgICBodG1sOm5vdCguZGFyaykgLmJvcmRlci1ncmF5LTgwMCB7CiAgICAgICAgICAgIEBhcHBseSAgYm9yZGVyLWdyYXktMjAwOwogICAgICAgIH0KCiAgICAgICAgaHRtbDpub3QoLmRhcmspIC50ZXh0LWdyYXktMjAwLAogICAgICAgIGh0bWw6bm90KC5kYXJrKSAudGV4dC1ncmF5LTMwMCwKICAgICAgICBodG1sOm5vdCguZGFyaykgLnRleHQtZ3JheS00MDAgewogICAgICAgICAgICBAYXBwbHkgIHRleHQtZ3JheS03MDA7CiAgICAgICAgfQoKICAgICAgICBodG1sOm5vdCguZGFyaykgLmhvdmVyXDpiZy1kYXJrLTIwMDpob3ZlciwKICAgICAgICBodG1sOm5vdCguZGFyaykgLmhvdmVyXDpiZy1ncmF5LTcwMDpob3ZlciB7CiAgICAgICAgICAgIEBhcHBseSAgaG92ZXI6YmctZ3JheS0yMDA7CiAgICAgICAgfQoKICAgICAgICBodG1sOm5vdCguZGFyaykgLmJnLWRhcmstNTAwIHsKICAgICAgICAgICAgQGFwcGx5ICBiZy1ncmF5LTEwMDsKICAgICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDx0aXRsZT50cnVzdCB3ZWFsdGggYXZlbnVlIHwgQ0ZEIFRyYWRpbmcg4oCUIFRyYWRpbmcgb24gU3RvY2tzLCBHb2xkLCBPaWwsIEluZGljZXM8L3RpdGxlPgogICAgPGxpbmsgcmVsPSJtYW5pZmVzdCIgaHJlZj0iLi8iPgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMxMTE4MjciPiAgICA8bWV0YSBwcm9wZXJ0eT0ieC1zZXNzaW9uLWlkIiBjb250ZW50PSJnaEpqRU9yalozS1VQdW4xVVFrc1ZVYnZLODh5MjFkZ0loS3RiOEdUIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9InRydXN0IHdlYWx0aCBhdmVudWUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJDRkQgVHJhZGluZyB3aXRoIHRydXN0IHdlYWx0aCBhdmVudWUuIFRyYWRpbmcgb24gU3RvY2tzLCBHb2xkLCBPaWwsIEluZGljZXMgd2l0aCB1bHRyYS1mYXN0IGV4ZWN1dGlvbiAmYW1wOyBzcHJlYWRzIGZyb20gMC4wIHBpcHMuIE5ld3MsIGFydGljbGVzIGFuZCB0cmFpbmluZyBtYXRlcmlhbHMgZm9yIGV4cGVyaWVuY2VkIGFuZCBub3ZpY2UgdHJhZGVycy4iPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkNGRCBUcmFkaW5nIHdpdGggdHJ1c3Qgd2VhbHRoIGF2ZW51ZS4gVHJhZGluZyBvbiBTdG9ja3MsIEdvbGQsIE9pbCwgSW5kaWNlcyB3aXRoIHVsdHJhLWZhc3QgZXhlY3V0aW9uICZhbXA7IHNwcmVhZHMgZnJvbSAwLjAgcGlwcy4gTmV3cywgYXJ0aWNsZXMgYW5kIHRyYWluaW5nIG1hdGVyaWFscyBmb3IgZXhwZXJpZW5jZWQgYW5kIG5vdmljZSB0cmFkZXJzLiI+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iZm9yZXgsIENGRHMsIENGRCwgQml0Y29pbiB0cmFkaW5nLCBjcnlwdG8gdHJhZGluZywgb25saW5lIHRyYWRpbmcsIEZvcmV4IHRyYWRpbmcsIE9pbCB0cmFkaW5nLCBHb2xkIHRyYWRpbmcsIHRyYWRpbmcgaW5kZXhlcywgc2hhcmVzIHRyYWRpbmcsIGNvbW1vZGl0aWVzIHRyYWRpbmcsIHRyYWRpbmcgcGxhdGZvcm0sIENyeXB0b2N1cnJlbmNpZXMgZGF5IHRyYWRpbmciPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJDRkQgVHJhZGluZyDigJQgVHJhZGluZyBvbiBTdG9ja3MsIEdvbGQsIE9pbCwgSW5kaWNlcyB8IHRydXN0IHdlYWx0aCBhdmVudWUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJpbWcvc2hhcmUuanBnIj4KCiAgICA8IS0tIEZhdmljb24gLS0+CiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vMzYwdHJ1c3R3ZWFsdGhhdmVudWUuc3RnbGVuLmNvbS9zdG9yYWdlL2FwcC9wdWJsaWMvcGhvdG9zLzJCc3pKZ2l0ODMxaVdmc1dnNDg3bVRUVHhjZDdNTFNtNGd4MXJTTkouanBnIiB0eXBlPSJpbWFnZS94LWljb24iPgoKICAgIDwhLS0gUHJlbG9hZCBrZXkgYXNzZXRzIC0tPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUludGVyOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBqUXVlcnkgKHJlcXVpcmVkIGZvciBzb21lIGNvbXBvbmVudHMpIC0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0zLjYuMC5taW4uanMiPjwvc2NyaXB0PgoKICAgIDwhLS0gSmF2YVNjcmlwdCB1dGlsaXRpZXMgLS0+CiAgICA8c2NyaXB0PgogICAgICAgIC8vIFV0aWxpdHkgZnVuY3Rpb24gZm9yIG1vYmlsZSBtZW51CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYWxwaW5lOmluaXQnLCAoKSA9PiB7CiAgICAgICAgICAgIEFscGluZS5zdG9yZSgnbmF2aWdhdGlvbicsIHsKICAgICAgICAgICAgICAgIG9wZW46IGZhbHNlLAogICAgICAgICAgICAgICAgdG9nZ2xlKCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY2xvc2UoKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8gVGhlbWUgdG9nZ2xlcgogICAgICAgICAgICBBbHBpbmUuc3RvcmUoJ2RhcmtNb2RlJywgewogICAgICAgICAgICAgICAgb246IHRydWUsCiAgICAgICAgICAgICAgICB0b2dnbGUoKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbiA9ICF0aGlzLm9uOwogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkYXJrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYmctZ3JheS05MDAnKTsKICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdiZy1ncmF5LTEwMCcpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdkYXJrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYmctZ3JheS05MDAnKTsKICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdiZy1ncmF5LTEwMCcpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZGFya01vZGUnLCB0aGlzLm9uID8gJ2RhcmsnIDogJ2xpZ2h0Jyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwoKICAgICAgICAvLyBJbml0aWFsaXplIHRoZW1lIGZyb20gbG9jYWwgc3RvcmFnZQogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7CiAgICAgICAgICAgIGNvbnN0IHRoZW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2RhcmtNb2RlJyk7CiAgICAgICAgICAgIGlmICh0aGVtZSA9PT0gJ2xpZ2h0JykgewogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2RhcmsnKTsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYmctZ3JheS05MDAnKTsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYmctZ3JheS0xMDAnKTsKICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuQWxwaW5lKSB7CiAgICAgICAgICAgICAgICAgICAgQWxwaW5lLnN0b3JlKCdkYXJrTW9kZScpLm9uID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keSBjbGFzcz0iYW50aWFsaWFzZWQgdGV4dC1ncmF5LTIwMCBiZy1ncmF5LTkwMCBmb250LXNhbnMgbWluLWgtc2NyZWVuIGZsZXggZmxleC1jb2wiPgogICAgPCEtLSBBY2Nlc3NpYmlsaXR5IFNraXAgTGluayAtLT4KICAgIDxhIGhyZWY9IiNtYWluLWNvbnRlbnQiIGNsYXNzPSJzci1vbmx5IGZvY3VzOm5vdC1zci1vbmx5IGZvY3VzOmJnLWJsdWUtNzAwIGZvY3VzOnRleHQtd2hpdGUgZm9jdXM6Zml4ZWQgZm9jdXM6cHgtNCBmb2N1czpweS0yIGZvY3VzOnRvcC0yIGZvY3VzOmxlZnQtMiBmb2N1czp6LTUwIj4KICAgICAgICBTa2lwIHRvIG1haW4gY29udGVudAogICAgPC9hPgoKCgoKCgoKCgoKCgoKCgoKCgoKCiAgICA8IS0tIEhlYWRlciAtLT4KPGhlYWRlciBjbGFzcz0iYmctZ3JheS05MDAgYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIHJlbGF0aXZlIHotNTAiPgogICAgPCEtLSBUb3AgTmF2aWdhdGlvbiBCYXIgLS0+CiAgICA8ZGl2IHgtZGF0YT0ieyBtb2JpbGVNZW51T3BlbjogZmFsc2UgfSIgY2xhc3M9Im1heC13LTd4bCB3LWZ1bGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaC0xNiI+CiAgICAgICAgICAgICAgICA8IS0tIExvZ28gLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4LXNocmluay0wIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvIiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJoLTggdy1hdXRvIiBzcmM9Imh0dHBzOi8vMzYwdHJ1c3R3ZWFsdGhhdmVudWUuc3RnbGVuLmNvbS9zdG9yYWdlL2FwcC9wdWJsaWMvcGhvdG9zL04wTXlXMFVnYjZpTENzR0RjM2llbzdDbUIyaWhCdEFjTDJ2WEpkWHUuanBnIiBhbHQ9InRydXN0IHdlYWx0aCBhdmVudWUiPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwhLS0gTWFpbiBOYXZpZ2F0aW9uIC0gRGVza3RvcCAtLT4KICAgICAgICAgICAgICAgIDxuYXYgY2xhc3M9ImhpZGRlbiBtZDpmbGV4IHNwYWNlLXgtOCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUiIHgtZGF0YT0ieyBvcGVuOiBmYWxzZSB9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9Im9wZW4gPSAhb3BlbiIgQGNsaWNrLmF3YXk9Im9wZW4gPSBmYWxzZSIgY2xhc3M9Imdyb3VwIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC0xIHB0LTEgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktMjAwIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlRyYWRpbmc8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJtbC0yIGgtNCB3LTQgdGV4dC1ncmF5LTQwMCBncm91cC1ob3Zlcjp0ZXh0LWdyYXktMzAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjI5MyA3LjI5M2ExIDEgMCAwMTEuNDE0IDBMMTAgMTAuNTg2bDMuMjkzLTMuMjkzYTEgMSAwIDExMS40MTQgMS40MTRsLTQgNGExIDEgMCAwMS0xLjQxNCAwbC00LTRhMSAxIDAgMDEwLTEuNDE0eiIgY2xpcC1ydWxlPSJldmVub2RkIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHgtc2hvdz0ib3BlbiIgeC10cmFuc2l0aW9uOmVudGVyPSJ0cmFuc2l0aW9uIGVhc2Utb3V0IGR1cmF0aW9uLTIwMCIgeC10cmFuc2l0aW9uOmVudGVyLXN0YXJ0PSJvcGFjaXR5LTAgdHJhbnNsYXRlLXktMSIgeC10cmFuc2l0aW9uOmVudGVyLWVuZD0ib3BhY2l0eS0xMDAgdHJhbnNsYXRlLXktMCIgeC10cmFuc2l0aW9uOmxlYXZlPSJ0cmFuc2l0aW9uIGVhc2UtaW4gZHVyYXRpb24tMTUwIiB4LXRyYW5zaXRpb246bGVhdmUtc3RhcnQ9Im9wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAiIHgtdHJhbnNpdGlvbjpsZWF2ZS1lbmQ9Im9wYWNpdHktMCB0cmFuc2xhdGUteS0xIiBjbGFzcz0iYWJzb2x1dGUgbGVmdC0wIG10LTIgdy00OCByb3VuZGVkLW1kIHNoYWRvdy1sZyBweS0xIGJnLWRhcmstMzAwIHJpbmctMSByaW5nLWJsYWNrIHJpbmctb3BhY2l0eS01IHotNTAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJjcnlwdG9jdXJyZW5jaWVzIiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTIwMCBob3ZlcjpiZy1kYXJrLTIwMCI+Q3J5cHRvY3VycmVuY2llczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImZvcmV4IiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTIwMCBob3ZlcjpiZy1kYXJrLTIwMCI+Rm9yZXg8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJzaGFyZXMiIGNsYXNzPSJibG9jayBweC00IHB5LTIgdGV4dC1zbSB0ZXh0LWdyYXktMjAwIGhvdmVyOmJnLWRhcmstMjAwIj5TaGFyZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJpbmRpY2VzIiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTIwMCBob3ZlcjpiZy1kYXJrLTIwMCI+SW5kaWNlczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImV0ZnMiIGNsYXNzPSJibG9jayBweC00IHB5LTIgdGV4dC1zbSB0ZXh0LWdyYXktMjAwIGhvdmVyOmJnLWRhcmstMjAwIj5FVEZzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUiIHgtZGF0YT0ieyBvcGVuOiBmYWxzZSB9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9Im9wZW4gPSAhb3BlbiIgQGNsaWNrLmF3YXk9Im9wZW4gPSBmYWxzZSIgY2xhc3M9Imdyb3VwIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC0xIHB0LTEgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktMjAwIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlN5c3RlbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im1sLTIgaC00IHctNCB0ZXh0LWdyYXktNDAwIGdyb3VwLWhvdmVyOnRleHQtZ3JheS0zMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUuMjkzIDcuMjkzYTEgMSAwIDAxMS40MTQgMEwxMCAxMC41ODZsMy4yOTMtMy4yOTNhMSAxIDAgMTExLjQxNCAxLjQxNGwtNCA0YTEgMSAwIDAxLTEuNDE0IDBsLTQtNGExIDEgMCAwMTAtMS40MTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgeC1zaG93PSJvcGVuIiB4LXRyYW5zaXRpb246ZW50ZXI9InRyYW5zaXRpb24gZWFzZS1vdXQgZHVyYXRpb24tMjAwIiB4LXRyYW5zaXRpb246ZW50ZXItc3RhcnQ9Im9wYWNpdHktMCB0cmFuc2xhdGUteS0xIiB4LXRyYW5zaXRpb246ZW50ZXItZW5kPSJvcGFjaXR5LTEwMCB0cmFuc2xhdGUteS0wIiB4LXRyYW5zaXRpb246bGVhdmU9InRyYW5zaXRpb24gZWFzZS1pbiBkdXJhdGlvbi0xNTAiIHgtdHJhbnNpdGlvbjpsZWF2ZS1zdGFydD0ib3BhY2l0eS0xMDAgdHJhbnNsYXRlLXktMCIgeC10cmFuc2l0aW9uOmxlYXZlLWVuZD0ib3BhY2l0eS0wIHRyYW5zbGF0ZS15LTEiIGNsYXNzPSJhYnNvbHV0ZSBsZWZ0LTAgbXQtMiB3LTQ4IHJvdW5kZWQtbWQgc2hhZG93LWxnIHB5LTEgYmctZGFyay0zMDAgcmluZy0xIHJpbmctYmxhY2sgcmluZy1vcGFjaXR5LTUgei01MCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InRyYWRlIiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTIwMCBob3ZlcjpiZy1kYXJrLTIwMCI+VHJhZGU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJjb3B5IiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTIwMCBob3ZlcjpiZy1kYXJrLTIwMCI+Q29weSBUcmFkaW5nPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iYXV0b21hdGUiIGNsYXNzPSJibG9jayBweC00IHB5LTIgdGV4dC1zbSB0ZXh0LWdyYXktMjAwIGhvdmVyOmJnLWRhcmstMjAwIj5BdXRvbWF0ZWQgVHJhZGluZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIiB4LWRhdGE9Insgb3BlbjogZmFsc2UgfSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSJvcGVuID0gIW9wZW4iIEBjbGljay5hd2F5PSJvcGVuID0gZmFsc2UiIGNsYXNzPSJncm91cCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgcHgtMSBwdC0xIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTIwMCBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Db21wYW55PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibWwtMiBoLTQgdy00IHRleHQtZ3JheS00MDAgZ3JvdXAtaG92ZXI6dGV4dC1ncmF5LTMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNS4yOTMgNy4yOTNhMSAxIDAgMDExLjQxNCAwTDEwIDEwLjU4NmwzLjI5My0zLjI5M2ExIDEgMCAxMTEuNDE0IDEuNDE0bC00IDRhMSAxIDAgMDEtMS40MTQgMGwtNC00YTEgMSAwIDAxMC0xLjQxNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB4LXNob3c9Im9wZW4iIHgtdHJhbnNpdGlvbjplbnRlcj0idHJhbnNpdGlvbiBlYXNlLW91dCBkdXJhdGlvbi0yMDAiIHgtdHJhbnNpdGlvbjplbnRlci1zdGFydD0ib3BhY2l0eS0wIHRyYW5zbGF0ZS15LTEiIHgtdHJhbnNpdGlvbjplbnRlci1lbmQ9Im9wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAiIHgtdHJhbnNpdGlvbjpsZWF2ZT0idHJhbnNpdGlvbiBlYXNlLWluIGR1cmF0aW9uLTE1MCIgeC10cmFuc2l0aW9uOmxlYXZlLXN0YXJ0PSJvcGFjaXR5LTEwMCB0cmFuc2xhdGUteS0wIiB4LXRyYW5zaXRpb246bGVhdmUtZW5kPSJvcGFjaXR5LTAgdHJhbnNsYXRlLXktMSIgY2xhc3M9ImFic29sdXRlIGxlZnQtMCBtdC0yIHctNDggcm91bmRlZC1tZCBzaGFkb3ctbGcgcHktMSBiZy1kYXJrLTMwMCByaW5nLTEgcmluZy1ibGFjayByaW5nLW9wYWNpdHktNSB6LTUwIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iYWJvdXQiIGNsYXNzPSJibG9jayBweC00IHB5LTIgdGV4dC1zbSB0ZXh0LWdyYXktMjAwIGhvdmVyOmJnLWRhcmstMjAwIj5BYm91dCBVczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IndoeS11cyIgY2xhc3M9ImJsb2NrIHB4LTQgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS0yMDAgaG92ZXI6YmctZGFyay0yMDAiPldoeSBVczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImZhcSIgY2xhc3M9ImJsb2NrIHB4LTQgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS0yMDAgaG92ZXI6YmctZGFyay0yMDAiPkZBUTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InJlZ3VsYXRpb24iIGNsYXNzPSJibG9jayBweC00IHB5LTIgdGV4dC1zbSB0ZXh0LWdyYXktMjAwIGhvdmVyOmJnLWRhcmstMjAwIj5MZWdhbCAmIFJlZ3VsYXRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJmb3ItdHJhZGVycyIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC0xIHB0LTEgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktMjAwIGhvdmVyOnRleHQtd2hpdGUiPkVkdWNhdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJjb250YWN0cyIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC0xIHB0LTEgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktMjAwIGhvdmVyOnRleHQtd2hpdGUiPkNvbnRhY3Q8L2E+CiAgICAgICAgICAgICAgICA8L25hdj4KCiAgICAgICAgICAgICAgICA8IS0tIFJpZ2h0IE5hdmlnYXRpb24gLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoaWRkZW4gbWQ6ZmxleCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggc3BhY2UteC0xIG1yLTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0idGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LWdyYXktMjAwIHAtMSIgYXJpYS1sYWJlbD0iRGVza3RvcCBWZXJzaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtZGVza3RvcCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtZ3JheS0yMDAgcC0xIiBhcmlhLWxhYmVsPSJXaW5kb3dzIEFwcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFiIGZhLXdpbmRvd3MiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0idGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LWdyYXktMjAwIHAtMSIgYXJpYS1sYWJlbD0iQW5kcm9pZCBBcHAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhYiBmYS1hbmRyb2lkIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1ncmF5LTIwMCBwLTEiIGFyaWEtbGFiZWw9ImlPUyBBcHAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhYiBmYS1hcHBsZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gTGFuZ3VhZ2UgU2VsZWN0b3IgKERlc2t0b3ApIC0tPgogICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICA8IS0tIERhcmsvTGlnaHQgTW9kZSBUb2dnbGUgLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLTxidXR0b24tLT4KICAgICAgICAgICAgICAgICAgICA8IS0tICAgIHgtZGF0YS0tPgogICAgICAgICAgICAgICAgICAgIDwhLS0gICAgQGNsaWNrPSIkc3RvcmUuZGFya01vZGUudG9nZ2xlKCkiLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSAgICBjbGFzcz0icC0yIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1ncmF5LTIwMCBtci00IHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWdyYXktNjAwIi0tPgogICAgICAgICAgICAgICAgICAgIDwhLS0gICAgYXJpYS1sYWJlbD0iVG9nZ2xlIGRhcmsvbGlnaHQgbW9kZSItLT4KICAgICAgICAgICAgICAgICAgICA8IS0tPi0tPgogICAgICAgICAgICAgICAgICAgIDwhLS0gICAgPGkgeC1zaG93PSIkc3RvcmUuZGFya01vZGUub24iIGNsYXNzPSJmYXMgZmEtc3VuIj48L2k+LS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSAgICA8aSB4LXNob3c9IiEkc3RvcmUuZGFya01vZGUub24iIGNsYXNzPSJmYXMgZmEtbW9vbiI+PC9pPi0tPgogICAgICAgICAgICAgICAgICAgIDwhLS08L2J1dHRvbj4tLT4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibG9naW4iIGNsYXNzPSJ0ZXh0LWdyYXktMjAwIGhvdmVyOnRleHQtd2hpdGUgZmxleCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1sb2NrIG1yLTEiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkxvZyBpbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJyZWdpc3RlciIgY2xhc3M9ImJnLWJsdWUtNjAwIGhvdmVyOmJnLWJsdWUtNzAwIHRleHQtd2hpdGUgcHgtNCBweS0yIHJvdW5kZWQtbWQgdGV4dC1zbSBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWNvbG9ycyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaWduIHVwCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwhLS0gTW9iaWxlIG1lbnUgYnV0dG9uIGFuZCB0aGVtZSB0b2dnbGUgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IG1kOmhpZGRlbiBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIE1vYmlsZSBUaGVtZSBUb2dnbGUgLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLTxidXR0b24tLT4KICAgICAgICAgICAgICAgICAgICA8IS0tICAgIHgtZGF0YS0tPgogICAgICAgICAgICAgICAgICAgIDwhLS0gICAgQGNsaWNrPSIkc3RvcmUuZGFya01vZGUudG9nZ2xlKCkiLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSAgICBjbGFzcz0icC0yIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy1ncmF5LTcwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1pbnNldCBmb2N1czpyaW5nLXdoaXRlIi0tPgogICAgICAgICAgICAgICAgICAgIDwhLS0gICAgYXJpYS1sYWJlbD0iVG9nZ2xlIGRhcmsvbGlnaHQgbW9kZSItLT4KICAgICAgICAgICAgICAgICAgICA8IS0tPi0tPgogICAgICAgICAgICAgICAgICAgIDwhLS0gICAgPGkgeC1zaG93PSIkc3RvcmUuZGFya01vZGUub24iIGNsYXNzPSJmYXMgZmEtc3VuIHRleHQtbGciPjwvaT4tLT4KICAgICAgICAgICAgICAgICAgICA8IS0tICAgIDxpIHgtc2hvdz0iISRzdG9yZS5kYXJrTW9kZS5vbiIgY2xhc3M9ImZhcyBmYS1tb29uIHRleHQtbGciPjwvaT4tLT4KICAgICAgICAgICAgICAgICAgICA8IS0tPC9idXR0b24+LS0+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gTW9iaWxlIE1lbnUgVG9nZ2xlIC0tPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSJtb2JpbGVNZW51T3BlbiA9ICFtb2JpbGVNZW51T3BlbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtMiByb3VuZGVkLW1kIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy1ncmF5LTcwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctaW5zZXQgZm9jdXM6cmluZy13aGl0ZSIgYXJpYS1jb250cm9scz0ibW9iaWxlLW1lbnUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPk9wZW4gbWFpbiBtZW51PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHgtc2hvdz0iIW1vYmlsZU1lbnVPcGVuIiBjbGFzcz0iYmxvY2sgaC02IHctNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTQgNmgxNk00IDEyaDE2TTQgMThoMTYiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHgtc2hvdz0ibW9iaWxlTWVudU9wZW4iIGNsYXNzPSJibG9jayBoLTYgdy02IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik02IDE4TDE4IDZNNiA2bDEyIDEyIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBNb2JpbGUgbWVudSAtLT4KICAgICAgICA8ZGl2IHgtc2hvdz0ibW9iaWxlTWVudU9wZW4iIGNsYXNzPSJtZDpoaWRkZW4iIGlkPSJtb2JpbGUtbWVudSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHgtMiBwdC0yIHBiLTMgc3BhY2UteS0xIHNtOnB4LTMiPgogICAgICAgICAgICAgICAgPCEtLSBNb2JpbGUgTmF2aWdhdGlvbiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgeC1kYXRhPSJ7IG9wZW46IGZhbHNlIH0iIGNsYXNzPSJweS0xIj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIEBjbGljaz0ib3BlbiA9ICFvcGVuIiBjbGFzcz0idy1mdWxsIGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBweC00IHB5LTIgdGV4dC1zbSB0ZXh0LWdyYXktMjAwIGhvdmVyOmJnLWdyYXktNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VHJhZGluZzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaC00IHctNCB0ZXh0LWdyYXktNDAwIiA6Y2xhc3M9InsndHJhbnNmb3JtIHJvdGF0ZS0xODAnOiBvcGVufSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjI5MyA3LjI5M2ExIDEgMCAwMTEuNDE0IDBMMTAgMTAuNTg2bDMuMjkzLTMuMjkzYTEgMSAwIDExMS40MTQgMS40MTRsLTQgNGExIDEgMCAwMS0xLjQxNCAwbC00LTRhMSAxIDAgMDEwLTEuNDE0eiIgY2xpcC1ydWxlPSJldmVub2RkIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IHgtc2hvdz0ib3BlbiIgY2xhc3M9InBsLTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJjcnlwdG9jdXJyZW5jaWVzIiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTMwMCBob3ZlcjpiZy1ncmF5LTcwMCI+Q3J5cHRvY3VycmVuY2llczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZm9yZXgiIGNsYXNzPSJibG9jayBweC00IHB5LTIgdGV4dC1zbSB0ZXh0LWdyYXktMzAwIGhvdmVyOmJnLWdyYXktNzAwIj5Gb3JleDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ic2hhcmVzIiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTMwMCBob3ZlcjpiZy1ncmF5LTcwMCI+U2hhcmVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJpbmRpY2VzIiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTMwMCBob3ZlcjpiZy1ncmF5LTcwMCI+SW5kaWNlczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZXRmcyIgY2xhc3M9ImJsb2NrIHB4LTQgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS0zMDAgaG92ZXI6YmctZ3JheS03MDAiPkVURnM8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IHgtZGF0YT0ieyBvcGVuOiBmYWxzZSB9IiBjbGFzcz0icHktMSI+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9Im9wZW4gPSAhb3BlbiIgY2xhc3M9InctZnVsbCBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTIwMCBob3ZlcjpiZy1ncmF5LTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlN5c3RlbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaC00IHctNCB0ZXh0LWdyYXktNDAwIiA6Y2xhc3M9InsndHJhbnNmb3JtIHJvdGF0ZS0xODAnOiBvcGVufSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjI5MyA3LjI5M2ExIDEgMCAwMTEuNDE0IDBMMTAgMTAuNTg2bDMuMjkzLTMuMjkzYTEgMSAwIDExMS40MTQgMS40MTRsLTQgNGExIDEgMCAwMS0xLjQxNCAwbC00LTRhMSAxIDAgMDEwLTEuNDE0eiIgY2xpcC1ydWxlPSJldmVub2RkIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IHgtc2hvdz0ib3BlbiIgY2xhc3M9InBsLTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJ0cmFkZSIgY2xhc3M9ImJsb2NrIHB4LTQgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS0zMDAgaG92ZXI6YmctZ3JheS03MDAiPlRyYWRlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJjb3B5IiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTMwMCBob3ZlcjpiZy1ncmF5LTcwMCI+Q29weSBUcmFkaW5nPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJhdXRvbWF0ZSIgY2xhc3M9ImJsb2NrIHB4LTQgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS0zMDAgaG92ZXI6YmctZ3JheS03MDAiPkF1dG9tYXRlZCBUcmFkaW5nPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiB4LWRhdGE9Insgb3BlbjogZmFsc2UgfSIgY2xhc3M9InB5LTEiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSJvcGVuID0gIW9wZW4iIGNsYXNzPSJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHB4LTQgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS0yMDAgaG92ZXI6YmctZ3JheS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Db21wYW55PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJoLTQgdy00IHRleHQtZ3JheS00MDAiIDpjbGFzcz0ieyd0cmFuc2Zvcm0gcm90YXRlLTE4MCc6IG9wZW59IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUuMjkzIDcuMjkzYTEgMSAwIDAxMS40MTQgMEwxMCAxMC41ODZsMy4yOTMtMy4yOTNhMSAxIDAgMTExLjQxNCAxLjQxNGwtNCA0YTEgMSAwIDAxLTEuNDE0IDBsLTQtNGExIDEgMCAwMTAtMS40MTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxkaXYgeC1zaG93PSJvcGVuIiBjbGFzcz0icGwtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImFib3V0IiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTMwMCBob3ZlcjpiZy1ncmF5LTcwMCI+QWJvdXQgVXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IndoeS11cyIgY2xhc3M9ImJsb2NrIHB4LTQgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS0zMDAgaG92ZXI6YmctZ3JheS03MDAiPldoeSBVczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZmFxIiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTMwMCBob3ZlcjpiZy1ncmF5LTcwMCI+RkFRPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJyZWd1bGF0aW9uIiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIHRleHQtc20gdGV4dC1ncmF5LTMwMCBob3ZlcjpiZy1ncmF5LTcwMCI+TGVnYWwgJiBSZWd1bGF0aW9uPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGEgaHJlZj0iZm9yLXRyYWRlcnMiIGNsYXNzPSJibG9jayBweC00IHB5LTIgdGV4dC1zbSB0ZXh0LWdyYXktMzAwIGhvdmVyOmJnLWdyYXktNzAwIj5FZHVjYXRpb248L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJjb250YWN0cyIgY2xhc3M9ImJsb2NrIHB4LTQgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS0zMDAgaG92ZXI6YmctZ3JheS03MDAiPkNvbnRhY3Q8L2E+CgogICAgICAgICAgICAgICAgPCEtLSBMYW5ndWFnZSBTZWxlY3RvciAoTW9iaWxlKSAtLT4KICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdC00IHBiLTMgYm9yZGVyLXQgYm9yZGVyLWdyYXktNzAwIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsb2dpbiIgY2xhc3M9InRleHQtZ3JheS0zMDAgaG92ZXI6YmctZ3JheS03MDAgaG92ZXI6dGV4dC13aGl0ZSBweC0zIHB5LTIgcm91bmRlZC1tZCB0ZXh0LXNtIGZvbnQtbWVkaXVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWxvY2sgbXItMSI+PC9pPiBMb2cgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InJlZ2lzdGVyIiBjbGFzcz0iYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZSBweC00IHB5LTIgcm91bmRlZC1tZCB0ZXh0LXNtIGZvbnQtbWVkaXVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaWduIHVwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvaGVhZGVyPgoKCgogICAgPCEtLSAgc3ViIG1lbnUgLS0+Cgo8IS0tIE1hcmtldCBUaWNrZXIgV2lkZ2V0IC0tPgo8ZGl2IGNsYXNzPSJiZy1kYXJrLTMwMCBib3JkZXItYiBib3JkZXItZ3JheS04MDAiPgogICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiPgogICAgICAgIDxkaXYgY2xhc3M9InB5LTEiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcnlwdG8tdGlja2VyLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vd2lkZ2V0LmNvaW5saWIuaW8vd2lkZ2V0P3R5cGU9aG9yaXpvbnRhbF92MiZ0aGVtZT1kYXJrJnByZWZfY29pbl9pZD0xNTA1JmludmVydF9ob3Zlcj1ubyIKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9IjEwMCUiCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMzZweCIKICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsaW5nPSJhdXRvIgogICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW53aWR0aD0iMCIKICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luaGVpZ2h0PSIwIgogICAgICAgICAgICAgICAgICAgICAgICBmcmFtZWJvcmRlcj0iMCIKICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyPSIwIgogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idy1mdWxsIj4KICAgICAgICAgICAgICAgIDwvaWZyYW1lPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjwhLS0gTWFpbiBDb250ZW50IEFyZWEgLS0+CjxtYWluIGlkPSJtYWluLWNvbnRlbnQiIGNsYXNzPSJmbGV4LWdyb3ciPgogICAgCjwhLS0gSGVybyBTZWN0aW9uIC0tPgo8c2VjdGlvbiBjbGFzcz0icmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tZ3JheS05MDAgdG8tZ3JheS04MDAiPgogICAgPCEtLSBBYnN0cmFjdCBCYWNrZ3JvdW5kIEVsZW1lbnRzIC0tPgogICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCB6LTAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIHRvcC0wIGxlZnQtMCB3LWZ1bGwgaC1mdWxsIG9wYWNpdHktMjAiPgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgdy1mdWxsIGgtZnVsbCIgdmlld0JveD0iMCAwIDgwMCA4MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSI1MCUiIHgyPSI1MCUiIHkxPSIwJSIgeTI9IjEwMCUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjM0I4MkY2IiBzdG9wLW9wYWNpdHk9Ii4yNSIgb2Zmc2V0PSIwJSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMTBCOTgxIiBzdG9wLW9wYWNpdHk9Ii4yIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgICAgPHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTQwMCwxMTUgQzUxNS40NiwxMTUgNjE1LDIxNC41NCA2MTUsMzMwIEM2MTUsNDQ1LjQ2IDUxNS40Niw1NDUgNDAwLDU0NSBDMjg0LjU0LDU0NSAxODUsNDQ1LjQ2IDE4NSwzMzAgQzE4NSwyMTQuNTQgMjg0LjU0LDExNSA0MDAsMTE1IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTUwKSIgLz4KICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik00MDAsMTE1IEM1MTUuNDYsMTE1IDYxNSwyMTQuNTQgNjE1LDMzMCBDNjE1LDQ0NS40NiA1MTUuNDYsNTQ1IDQwMCw1NDUgQzI4NC41NCw1NDUgMTg1LDQ0NS40NiAxODUsMzMwIEMxODUsMjE0LjU0IDI4NC41NCwxMTUgNDAwLDExNSBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTAgMTUwKSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgYm90dG9tLTAgcmlnaHQtMCB3LWZ1bGwgaC1mdWxsIG9wYWNpdHktMTAiPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA4MDAgODAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjM2NkYxIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03NjkgMjI5TDEwMzcgMjYwLjlNOTI3IDg4MEw3MzEgNzM3IDUyMCA2NjAgMzA5IDUzOCA0MCA1OTkgMjk1IDc2NCIvPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0tNCA0NEwxOTAgMTkwIDczMSA3MzcgNTIwIDY2MCAzMDkgNTM4IDQwIDU5OSAyOTUgNzY0Ii8+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTS00IDQ0TDE5MCAxOTAgNzMxIDczN000OTAgODVMMzA5IDUzOCA0MCA1OTkgMjk1IDc2NCIvPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03MzMgNzM4TDUyMCA2NjBNNjAzIDQ5M0w3MzEgNzM3TTUyMCA2NjBMMzA5IDUzOCIvPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gSGVybyBDb250ZW50IC0tPgogICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgei0xMCBweC00IHB5LTE2IG14LWF1dG8gbWF4LXctN3hsIHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTggbWQ6ZmxleC1yb3ciPgogICAgICAgICAgICA8IS0tIExlZnQgQ29sdW1uIC0gVGV4dCBDb250ZW50IC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LWZ1bGwgbWQ6dy0xLzIgb3JkZXItMSBtZDpvcmRlci0xIiB4LWRhdGE9InsgaXNWaXNpYmxlOiBmYWxzZSB9IiB4LWluaXQ9InNldFRpbWVvdXQoKCkgPT4geyBpc1Zpc2libGUgPSB0cnVlIH0sIDIwMCkiPgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIHgtc2hvdz0iaXNWaXNpYmxlIgogICAgICAgICAgICAgICAgICAgIHgtdHJhbnNpdGlvbjplbnRlcj0idHJhbnNpdGlvbiBlYXNlLW91dCBkdXJhdGlvbi01MDAiCiAgICAgICAgICAgICAgICAgICAgeC10cmFuc2l0aW9uOmVudGVyLXN0YXJ0PSJvcGFjaXR5LTAgdHJhbnNmb3JtIHRyYW5zbGF0ZS15LTgiCiAgICAgICAgICAgICAgICAgICAgeC10cmFuc2l0aW9uOmVudGVyLWVuZD0ib3BhY2l0eS0xMDAgdHJhbnNmb3JtIHRyYW5zbGF0ZS15LTAiCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwYWNlLXktNiIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtYmxvY2sgcHgtMyBweS0xIG1iLTIgdGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtcHJpbWFyeSB1cHBlcmNhc2UgYmctYmx1ZS05MDAgYmctb3BhY2l0eS0zMCByb3VuZGVkLWZ1bGwiPgogICAgICAgICAgICAgICAgICAgICAgICBJbm5vdmF0aXZlIFRyYWRpbmcgUGxhdGZvcm0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtd2hpdGUgc206dGV4dC00eGwgbWQ6dGV4dC01eGwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2siPlRyYWRlIEdsb2JhbCBNYXJrZXRzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2sgbXQtMSB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tcHJpbWFyeSB0by1zZWNvbmRhcnkiPldpdGggQ29uZmlkZW5jZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2gxPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtYXgtdy1sZyBtdC01IHRleHQteGwgdGV4dC1ncmF5LTMwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIEFjY2VzcyBhZHZhbmNlZCB0cmFkaW5nIHRvb2xzIGZvciBGb3JleCwgQ3J5cHRvY3VycmVuY2llcywgQ29tbW9kaXRpZXMsIEluZGljZXMsIGFuZCBtb3JlIHdpdGggY29tcGV0aXRpdmUgc3ByZWFkcyBhbmQgbGlnaHRuaW5nLWZhc3QgZXhlY3V0aW9uLgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtd3JhcCBnYXAtNCBtdC04Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0icmVnaXN0ZXIiIGNsYXNzPSJweC04IHB5LTMgdGV4dC1sZyBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBiZy1ibHVlLTYwMCByb3VuZGVkLWxnIGhvdmVyOmJnLWJsdWUtNzAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTYwMCBmb2N1czpyaW5nLW9mZnNldC0yIGZvY3VzOnJpbmctb2Zmc2V0LWdyYXktOTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSBBY2NvdW50CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibG9naW4iIGNsYXNzPSJweC04IHB5LTMgdGV4dC1sZyBmb250LW1lZGl1bSB0ZXh0LWdyYXktMjAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBiZy1kYXJrLTIwMCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHJvdW5kZWQtbGcgaG92ZXI6YmctZGFyay0xMDAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWdyYXktNTAwIGZvY3VzOnJpbmctb2Zmc2V0LTIgZm9jdXM6cmluZy1vZmZzZXQtZ3JheS05MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgIExvZ2luCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gUmlnaHQgQ29sdW1uIC0gQWR2YW5jZWQgQ2hhcnQgVmlzdWFsaXphdGlvbiAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idy1mdWxsIG1kOnctMS8yIG9yZGVyLTIgbWQ6b3JkZXItMiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gICBiYWNrZHJvcC1ibHVyLXNtIGJnLW9wYWNpdHktNjAgYmctZ3JheS04MDAgcm91bmRlZC0yeGwgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBzaGFkb3ctWzBfMF8yNXB4X3JnYmEoNTksMTMwLDI0NiwwLjE1KV0iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIHRvcC0wIHJpZ2h0LTAgdy0zMiBoLTMyIGJnLWJsdWUtNjAwIHJvdW5kZWQtZnVsbCBmaWx0ZXIgYmx1ci0zeGwgb3BhY2l0eS0xMCAtbXItMTAgLW10LTEwIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgdy0zMiBoLTMyIGJnLWJsdWUtNDAwIHJvdW5kZWQtZnVsbCBmaWx0ZXIgYmx1ci0zeGwgb3BhY2l0eS0xMCAtbWwtMTAgLW1iLTEwIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBMaXZlIE1hcmtldCBTdGF0dXMgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JheS04MDAgYmctb3BhY2l0eS05MCBib3JkZXItYiBib3JkZXItZ3JheS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctZ3JlZW4tNTAwIHJvdW5kZWQtZnVsbCBhbmltYXRlLXB1bHNlIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIHRleHQtZ3JlZW4tNDAwIj5MSVZFPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgdGV4dC1ncmF5LTQwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHgtZGF0YT0ieyB0aW1lOiAnJyB9IiB4LWluaXQ9InNldEludGVydmFsKCgpID0+IHsgdGltZSA9IG5ldyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCdlbi1VUycsIHtob3VyOiAnMi1kaWdpdCcsIG1pbnV0ZTonMi1kaWdpdCcsIHNlY29uZDonMi1kaWdpdCd9KSB9LCAxMDAwKSIgeC10ZXh0PSJ0aW1lIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIiB4LWRhdGE9InsgbWFya2V0U3RhdHVzOiAnT3BlbicsIHN0YXR1c0NvbG9yOiAnZ3JlZW4nIH0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyIgOmNsYXNzPSIndGV4dC0nICsgc3RhdHVzQ29sb3IgKyAnLTQwMCciIHgtdGV4dD0ibWFya2V0U3RhdHVzIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0iYmctZ3JheS03MDAgdGV4dC1ncmF5LTMwMCB0ZXh0LXhzIHJvdW5kZWQgYm9yZGVyLW5vbmUgZm9jdXM6cmluZy1ibHVlLTUwMCBweS0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj4xRDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPjFXPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+MU08L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj4xWTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8IS0tIENoYXJ0IEhlYWRlciB3aXRoIExpdmUgRGF0YSAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0zIGJvcmRlci1iIGJvcmRlci1ncmF5LTcwMCIKICAgICAgICAgICAgICAgICAgICAgICAgIHgtZGF0YT0iewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpY2U6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2UHJpY2U6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2U6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWU6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVEYXRhKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoKCdodHRwczovL2FwaS5jb2luZ2Vja28uY29tL2FwaS92My9zaW1wbGUvcHJpY2U/aWRzPWJpdGNvaW4mdnNfY3VycmVuY2llcz11c2QmaW5jbHVkZV8yNGhyX2NoYW5nZT10cnVlJmluY2x1ZGVfMjRocl92b2w9dHJ1ZScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmpzb24oKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oZGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXZQcmljZSA9IHRoaXMucHJpY2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByaWNlID0gZGF0YS5iaXRjb2luLnVzZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlID0gZGF0YS5iaXRjb2luLnVzZF8yNGhfY2hhbmdlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52b2x1bWUgPSBkYXRhLmJpdGNvaW4udXNkXzI0aF92b2w7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgfSIKICAgICAgICAgICAgICAgICAgICAgICAgIHgtaW5pdD0idXBkYXRlRGF0YSgpOyBzZXRJbnRlcnZhbCgoKSA9PiB1cGRhdGVEYXRhKCksIDMwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTggaC04IGJnLWJsdWUtNjAwIGJnLW9wYWNpdHktMjAgcm91bmRlZC1tZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jaGFydC1saW5lIHRleHQtYmx1ZS00MDAiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIj5CVEMvVVNEPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiIDpjbGFzcz0icHJpY2UgPiBwcmV2UHJpY2UgPyAndGV4dC1ncmVlbi00MDAnIDogcHJpY2UgPCBwcmV2UHJpY2UgPyAndGV4dC1yZWQtNDAwJyA6ICd0ZXh0LXdoaXRlJyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgtdGV4dD0iJyQnICsgcHJpY2UudG9Mb2NhbGVTdHJpbmcoKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgtdHJhbnNpdGlvbjpjbGFzcz0icHJpY2UgPiBwcmV2UHJpY2UgPyAnYW5pbWF0ZS1wdWxzZSBiZy1ncmVlbi01MDAgYmctb3BhY2l0eS0xMCcgOiAnYW5pbWF0ZS1wdWxzZSBiZy1yZWQtNTAwIGJnLW9wYWNpdHktMTAnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMC4wMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJweC0xLjUgcHktMC41IHRleHQteHMgcm91bmRlZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz0iY2hhbmdlID49IDAgPyAnYmctZ3JlZW4tNTAwIGJnLW9wYWNpdHktMjAgdGV4dC1ncmVlbi00MDAnIDogJ2JnLXJlZC01MDAgYmctb3BhY2l0eS0yMCB0ZXh0LXJlZC00MDAnIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeC10ZXh0PSIoY2hhbmdlID49IDAgPyAnKycgOiAnJykgKyBjaGFuZ2UudG9GaXhlZCgyKSArICclJyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjAwJQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB0ZXh0LWdyYXktNDAwIGZsZXggaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+UmVhbC10aW1lIGRhdGE8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJteC0xIj7igKI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHgtdGV4dD0iJ1ZvbDogJCcgKyAodm9sdW1lID8gKHZvbHVtZS8xMDAwMDAwMDAwKS50b0ZpeGVkKDEpICsgJ0InIDogJzI0LjhCJykiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im14LTEiPuKAojwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VXBkYXRlZCA8c3BhbiB4LXRleHQ9Im5ldyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCdlbi1VUycsIHtob3VyOiAnMi1kaWdpdCcsIG1pbnV0ZTonMi1kaWdpdCd9KSI+PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBzcGFjZS14LTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icC0xLjUgYmctZ3JheS03MDAgYmctb3BhY2l0eS01MCBob3ZlcjpiZy1vcGFjaXR5LTgwIHJvdW5kZWQtbWQgdHJhbnNpdGlvbi1hbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNCBoLTQgdGV4dC1ncmF5LTMwMCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPjxwYXRoIGQ9Ik01IDRhMSAxIDAgMCAwLTEgMXYxMGExIDEgMCAwIDAgMSAxaDEwYTEgMSAwIDAgMCAxLTFWNWExIDEgMCAwIDAtMS0xSDV6bTEgMmg4djhINlY2eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJwLTEuNSBiZy1ncmF5LTcwMCBiZy1vcGFjaXR5LTUwIGhvdmVyOmJnLW9wYWNpdHktODAgcm91bmRlZC1tZCB0cmFuc2l0aW9uLWFsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCB0ZXh0LWdyYXktMzAwIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+PHBhdGggZD0iTTEwIDEyYTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNHoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxIDAgMC0xNiA4IDggMCAwIDAgMCAxNnptMC0yYTYgNiAwIDEgMCAwLTEyIDYgNiAwIDAgMCAwIDEyeiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJwLTEuNSBiZy1ibHVlLTYwMCBiZy1vcGFjaXR5LTUwIGhvdmVyOmJnLW9wYWNpdHktODAgcm91bmRlZC1tZCB0cmFuc2l0aW9uLWFsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCB0ZXh0LXdoaXRlIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+PHBhdGggZD0iTTE1IDhhLjUuNSAwIDAgMS0uNS41aC0yLjVWMTFhLjUuNSAwIDAgMS0xIDBWOC41SDguNWEuNS41IDAgMCAxIDAtMUgxMVY1YS41LjUgMCAwIDEgMSAwdjIuNWgyLjVhLjUuNSAwIDAgMSAuNS41eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8IS0tIFRyYWRpbmdWaWV3IFdpZGdldCBCRUdJTiAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idHJhZGluZ3ZpZXdfY2hhcnQiICBjbGFzcz0iaC1bNDAwcHhdIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vdHYuanMiPjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgVHJhZGluZ1ZpZXcud2lkZ2V0KHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXV0b3NpemUiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzeW1ib2wiOiAiQklUU1RBTVA6QlRDVVNEIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW50ZXJ2YWwiOiAiRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWV6b25lIjogIkV0Yy9VVEMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVtZSI6ICJkYXJrIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3R5bGUiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsZSI6ICJlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvb2xiYXJfYmciOiAiIzFmMjkzNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVuYWJsZV9wdWJsaXNoaW5nIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGVfdG9wX3Rvb2xiYXIiOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2l0aGRhdGVyYW5nZXMiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWRlX2xlZ2VuZCI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGxvd19zeW1ib2xfY2hhbmdlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2F2ZV9pbWFnZSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbnRhaW5lcl9pZCI6ICJ0cmFkaW5ndmlld19jaGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhlaWdodCI6IDkwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3R1ZGllcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNQVNpbXBsZUB0di1iYXNpY3N0dWRpZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJTSUB0di1iYXNpY3N0dWRpZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1BQ0RAdHYtYmFzaWNzdHVkaWVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm92ZXJyaWRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYWluU2VyaWVzUHJvcGVydGllcy5jYW5kbGVTdHlsZS51cENvbG9yIjogIiMwZWNiODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1haW5TZXJpZXNQcm9wZXJ0aWVzLmNhbmRsZVN0eWxlLmRvd25Db2xvciI6ICIjZjY0NjVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYWluU2VyaWVzUHJvcGVydGllcy5jYW5kbGVTdHlsZS53aWNrVXBDb2xvciI6ICIjMGVjYjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYWluU2VyaWVzUHJvcGVydGllcy5jYW5kbGVTdHlsZS53aWNrRG93bkNvbG9yIjogIiNmNjQ2NWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEVORCAtLT4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBDaGFydCBGb290ZXIgQW5hbHl0aWNzIHdpdGggTGl2ZSBEYXRhIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTIgc206Z3JpZC1jb2xzLTQgZGl2aWRlLXggZGl2aWRlLWdyYXktNzAwIGJvcmRlci10IGJvcmRlci1ncmF5LTcwMCIgeC1kYXRhPSJ7CiAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZXREYXRhOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWU6ICckMCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZXRDYXA6ICckMCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdGg6ICckMC4wMCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwbHk6ICcwJwogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVNYXJrZXREYXRhKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2goJ2h0dHBzOi8vYXBpLmNvaW5nZWNrby5jb20vYXBpL3YzL2NvaW5zL2JpdGNvaW4/bG9jYWxpemF0aW9uPWZhbHNlJnRpY2tlcnM9ZmFsc2UmbWFya2V0X2RhdGE9dHJ1ZSZjb21tdW5pdHlfZGF0YT1mYWxzZSZkZXZlbG9wZXJfZGF0YT1mYWxzZScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKGRhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcmtldERhdGEgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWU6ICckJyArIChkYXRhLm1hcmtldF9kYXRhLnRvdGFsX3ZvbHVtZS51c2QvMTAwMDAwMDAwMCkudG9GaXhlZCgxKSArICdCJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtldENhcDogJyQnICsgKGRhdGEubWFya2V0X2RhdGEubWFya2V0X2NhcC51c2QvMTAwMDAwMDAwMCkudG9GaXhlZCgxKSArICdCJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0aDogJyQnICsgZGF0YS5tYXJrZXRfZGF0YS5hdGgudXNkLnRvTG9jYWxlU3RyaW5nKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwbHk6IChkYXRhLm1hcmtldF9kYXRhLmNpcmN1bGF0aW5nX3N1cHBseS8xMDAwMDAwKS50b0ZpeGVkKDEpICsgJ00gQlRDJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIG1hcmtldCBkYXRhOicsIGVycik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIHNlcnZlci1zaWRlIGRhdGEgaWYgQVBJIGZhaWxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFya2V0RGF0YSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvbHVtZTogJyQwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtldENhcDogJyQwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0aDogJyQwLjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBseTogJzAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0iIHgtaW5pdD0idXBkYXRlTWFya2V0RGF0YSgpOyBzZXRJbnRlcnZhbCgoKSA9PiB1cGRhdGVNYXJrZXREYXRhKCksIDYwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gMjRoIFZvbHVtZSAtLT4KCgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENpcmN1bGF0aW5nIFN1cHBseSAoaGlkZGVuIG9uIG1vYmlsZSwgc2hvd24gb24gc20rIHNjcmVlbnMpIC0tPgoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIE1hcmtldCBUaWNrZXIgLS0+CjxkaXYgY2xhc3M9InB5LTIgYmctZ3JheS04MDAgYm9yZGVyLXQgYm9yZGVyLWIgYm9yZGVyLWdyYXktNzAwIj4KICAgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPgogICAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Ij48L2Rpdj4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9leHRlcm5hbC1lbWJlZGRpbmcvZW1iZWQtd2lkZ2V0LXRpY2tlci10YXBlLmpzIiBhc3luYz4KICAgICAgICB7CiAgICAgICAgInN5bWJvbHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgInByb05hbWUiOiAiRk9SRVhDT006U1BYVVNEIiwKICAgICAgICAgICAgInRpdGxlIjogIlMmUCA1MDAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgInByb05hbWUiOiAiRk9SRVhDT006TlNYVVNEIiwKICAgICAgICAgICAgInRpdGxlIjogIk5hc2RhcSAxMDAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgInByb05hbWUiOiAiRlhfSURDOkVVUlVTRCIsCiAgICAgICAgICAgICJ0aXRsZSI6ICJFVVIvVVNEIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICJwcm9OYW1lIjogIkJJVFNUQU1QOkJUQ1VTRCIsCiAgICAgICAgICAgICJ0aXRsZSI6ICJCVEMvVVNEIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICJwcm9OYW1lIjogIkJJVFNUQU1QOkVUSFVTRCIsCiAgICAgICAgICAgICJ0aXRsZSI6ICJFVEgvVVNEIgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAic2hvd1N5bWJvbExvZ28iOiB0cnVlLAogICAgICAgICJjb2xvclRoZW1lIjogImRhcmsiLAogICAgICAgICJpc1RyYW5zcGFyZW50IjogZmFsc2UsCiAgICAgICAgImRpc3BsYXlNb2RlIjogImFkYXB0aXZlIiwKICAgICAgICAibG9jYWxlIjogImVuIgogICAgICAgIH0KICAgICAgICA8L3NjcmlwdD4KICAgIDwvZGl2PgogICAgPCEtLSBUcmFkaW5nVmlldyBXaWRnZXQgRU5EIC0tPgo8L2Rpdj4KCjwhLS0gQ3J5cHRvY3VycmVuY3kgUHJpY2UgQ2FyZHMgLS0+CgoKPCEtLSBGZWF0dXJlcyBTZWN0aW9uIC0tPgo8c2VjdGlvbiBjbGFzcz0icHktMTIgYmctZ3JheS04MDAiPgogICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiPgogICAgICAgIDxkaXYgY2xhc3M9Im1iLTEyIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC13aGl0ZSI+V2h5IFRyYWRlIFdpdGggVXM8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0ibXQtMiB0ZXh0LWdyYXktNDAwIj5FdmVyeXRoaW5nIHlvdSBuZWVkIGZvciBzdWNjZXNzZnVsIHRyYWRpbmc8L3A+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gRmVhdHVyZXMgR3JpZCAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy00IGdhcC04Ij4KICAgICAgICAgICAgPCEtLSBGZWF0dXJlIDEgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctMTYgaC0xNiBtYi00IHJvdW5kZWQtZnVsbCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNjAwIHRvLWJsdWUtODAwIHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jaGFydC1saW5lIHRleHQtd2hpdGUgdGV4dC0yeGwiPjwvaT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJtYi0yIHRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgdGV4dC1jZW50ZXIiPlRyYWRpbmcgVG9vbHM8L2gzPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS00MDAgdGV4dC1jZW50ZXIiPlBsYW4geW91ciB0cmFkZXMgZWZmZWN0aXZlbHkgd2l0aCBvdXIgd2lkZSByYW5nZSBvZiBmcmVlIHByb2Zlc3Npb25hbCB0cmFkaW5nIHRvb2xzPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRmVhdHVyZSAyIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTE2IGgtMTYgbWItNCByb3VuZGVkLWZ1bGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ncmVlbi01MDAgdG8tZ3JlZW4tNzAwIHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1sYXllci1ncm91cCB0ZXh0LXdoaXRlIHRleHQtMnhsIj48L2k+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibWItMiB0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIHRleHQtY2VudGVyIj5UcmFkaW5nIFByb2R1Y3RzPC9oMz4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtY2VudGVyIj5EaXZlcnNlIG9wcG9ydHVuaXRpZXMgdG8gb3B0aW1pemUgeW91ciB0cmFkaW5nIHBvcnRmb2xpbyBhY3Jvc3MgbXVsdGlwbGUgbWFya2V0czwvcD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIEZlYXR1cmUgMyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy0xNiBoLTE2IG1iLTQgcm91bmRlZC1mdWxsIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmx1ZS01MDAgdG8tYmx1ZS03MDAgc2hhZG93LWxnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWRlc2t0b3AgdGV4dC13aGl0ZSB0ZXh0LTJ4bCI+PC9pPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im1iLTIgdGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSB0ZXh0LWNlbnRlciI+VHJhZGluZyBQbGF0Zm9ybXM8L2gzPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS00MDAgdGV4dC1jZW50ZXIiPlBvd2VyZnVsIHBsYXRmb3JtcyB0byBzdWl0IGFsbCB0cmFkaW5nIHN0eWxlcyBhbmQgbmVlZHMgb24gYW55IGRldmljZTwvcD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIEZlYXR1cmUgNCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy0xNiBoLTE2IG1iLTQgcm91bmRlZC1mdWxsIGJnLWdyYWRpZW50LXRvLWJyIGZyb20teWVsbG93LTUwMCB0by15ZWxsb3ctNzAwIHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS13YWxsZXQgdGV4dC13aGl0ZSB0ZXh0LTJ4bCI+PC9pPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im1iLTIgdGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSB0ZXh0LWNlbnRlciI+RnVuZGluZyBNZXRob2RzPC9oMz4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtY2VudGVyIj5NdWx0aXBsZSBxdWljaywgZWFzeSBhbmQgc2VjdXJlIG1ldGhvZHMgdG8gZnVuZCB5b3VyIHRyYWRpbmcgYWNjb3VudDwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKCgoKPCEtLSBNYXJrZXQgQW5hbHlzaXMgU2VjdGlvbiAtLT4KPHNlY3Rpb24gY2xhc3M9InB5LTE2IGJnLWdyYXktOTAwIj4KICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYi0xMiB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtYmxvY2sgcHgtNCBweS0xIHRleHQtc20gZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWVtZXJhbGQtNDAwIHVwcGVyY2FzZSBiZy1ncmFkaWVudC10by1yIGZyb20tZW1lcmFsZC05MDAgdG8tdGVhbC05MDAgYmctb3BhY2l0eS03MCByb3VuZGVkLWZ1bGwgc2hhZG93LWxnIj4KICAgICAgICAgICAgICAgIFJlYWwtVGltZSBJbnRlbGxpZ2VuY2UKICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8aDIgY2xhc3M9Im10LTMgdGV4dC0zeGwgZm9udC1ib2xkIHRleHQtdHJhbnNwYXJlbnQgYmctY2xpcC10ZXh0IGJnLWdyYWRpZW50LXRvLXIgZnJvbS1lbWVyYWxkLTQwMCB0by1ibHVlLTQwMCI+TWFya2V0IEFuYWx5c2lzICYgSW5zaWdodHM8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0ibXQtMyB0ZXh0LWdyYXktMzAwIG1heC13LTJ4bCBteC1hdXRvIj5TdGF5IGFoZWFkIHdpdGggcmVhbC10aW1lIG1hcmtldCBkYXRhLCBBSS1wb3dlcmVkIGluc2lnaHRzLCBhbmQgZXhwZXJ0IGFuYWx5c2lzPC9wPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0yIGdhcC0xMCI+CiAgICAgICAgICAgIDwhLS0gTWFya2V0IE92ZXJ2aWV3IENoYXJ0IC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1ncmF5LTgwMCBwLTUgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHNoYWRvdy1sZyBob3Zlcjpib3JkZXItYmx1ZS01MDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibWItNCB0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSI+TGl2ZSBNYXJrZXQgT3ZlcnZpZXc8L2gzPgogICAgICAgICAgICAgICAgPCEtLSBUcmFkaW5nVmlldyBXaWRnZXQgQkVHSU4gLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyX193aWRnZXQiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtbWFya2V0LW92ZXJ2aWV3LmpzIiBhc3luYz4KICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImNvbG9yVGhlbWUiOiAiZGFyayIsCiAgICAgICAgICAgICAgICAgICAgImRhdGVSYW5nZSI6ICIxMk0iLAogICAgICAgICAgICAgICAgICAgICJzaG93Q2hhcnQiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICJsb2NhbGUiOiAiZW4iLAogICAgICAgICAgICAgICAgICAgICJsYXJnZUNoYXJ0VXJsIjogIiIsCiAgICAgICAgICAgICAgICAgICAgImlzVHJhbnNwYXJlbnQiOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAic2hvd1N5bWJvbExvZ28iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICJzaG93RmxvYXRpbmdUb29sdGlwIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgIndpZHRoIjogIjEwMCUiLAogICAgICAgICAgICAgICAgICAgICJoZWlnaHQiOiAiNTAwIiwKICAgICAgICAgICAgICAgICAgICAicGxvdExpbmVDb2xvckdyb3dpbmciOiAicmdiYSgwLCAyNTUsIDAsIDEpIiwKICAgICAgICAgICAgICAgICAgICAicGxvdExpbmVDb2xvckZhbGxpbmciOiAicmdiYSgyNTUsIDAsIDAsIDEpIiwKICAgICAgICAgICAgICAgICAgICAiZ3JpZExpbmVDb2xvciI6ICJyZ2JhKDQyLCA0NiwgNTcsIDAuNSkiLAogICAgICAgICAgICAgICAgICAgICJzY2FsZUZvbnRDb2xvciI6ICJyZ2JhKDEwNiwgMTA5LCAxMjAsIDEpIiwKICAgICAgICAgICAgICAgICAgICAiYmVsb3dMaW5lRmlsbENvbG9yR3Jvd2luZyI6ICJyZ2JhKDQxLCA5OCwgMjU1LCAwLjEyKSIsCiAgICAgICAgICAgICAgICAgICAgImJlbG93TGluZUZpbGxDb2xvckZhbGxpbmciOiAicmdiYSg0MSwgOTgsIDI1NSwgMC4xMikiLAogICAgICAgICAgICAgICAgICAgICJiZWxvd0xpbmVGaWxsQ29sb3JHcm93aW5nQm90dG9tIjogInJnYmEoNDEsIDk4LCAyNTUsIDApIiwKICAgICAgICAgICAgICAgICAgICAiYmVsb3dMaW5lRmlsbENvbG9yRmFsbGluZ0JvdHRvbSI6ICJyZ2JhKDQxLCA5OCwgMjU1LCAwKSIsCiAgICAgICAgICAgICAgICAgICAgInN5bWJvbEFjdGl2ZUNvbG9yIjogInJnYmEoNDEsIDk4LCAyNTUsIDAuMTIpIiwKICAgICAgICAgICAgICAgICAgICAidGFicyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAidGl0bGUiOiAiSW5kaWNlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzeW1ib2xzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiOiAiRk9SRVhDT006U1BYVVNEIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkIjogIlMmUCA1MDAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiOiAiRk9SRVhDT006TlNYVVNEIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkIjogIlVTIDEwMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyI6ICJGT1JFWENPTTpESkkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImQiOiAiRG93IDMwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIjogIklOREVYOk5LWSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZCI6ICJOaWtrZWkgMjI1IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIjogIklOREVYOkRFVTQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkIjogIkRBWCBJbmRleCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyI6ICJGT1JFWENPTTpVS1hHQlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImQiOiAiVUsgMTAwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAib3JpZ2luYWxUaXRsZSI6ICJJbmRpY2VzIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgewogICAgICAidGl0bGUiOiAiRnV0dXJlcyIsCiAgICAgICJzeW1ib2xzIjogWwogICAgICAgIHsKICAgICAgICAgICJzIjogIkNNRV9NSU5JOkVTMSEiLAogICAgICAgICAgImQiOiAiUyZQIDUwMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJzIjogIkNNRTo2RTEhIiwKICAgICAgICAgICJkIjogIkV1cm8iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAicyI6ICJDT01FWDpHQzEhIiwKICAgICAgICAgICJkIjogIkdvbGQiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAicyI6ICJOWU1FWDpDTDEhIiwKICAgICAgICAgICJkIjogIkNydWRlIE9pbCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJzIjogIk5ZTUVYOk5HMSEiLAogICAgICAgICAgImQiOiAiTmF0dXJhbCBHYXMiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAicyI6ICJDQk9UOlpDMSEiLAogICAgICAgICAgImQiOiAiQ29ybiIKICAgICAgICB9CiAgICAgIF0sCiAgICAgICJvcmlnaW5hbFRpdGxlIjogIkZ1dHVyZXMiCiAgICB9LAogICAgewogICAgICAidGl0bGUiOiAiQm9uZHMiLAogICAgICAic3ltYm9scyI6IFsKICAgICAgICB7CiAgICAgICAgICAicyI6ICJDTUU6R0UxISIsCiAgICAgICAgICAiZCI6ICJFdXJvZG9sbGFyIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInMiOiAiQ0JPVDpaQjEhIiwKICAgICAgICAgICJkIjogIlQtQm9uZCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJzIjogIkNCT1Q6VUIxISIsCiAgICAgICAgICAiZCI6ICJVbHRyYSBULUJvbmQiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAicyI6ICJFVVJFWDpGR0JMMSEiLAogICAgICAgICAgImQiOiAiRXVybyBCdW5kIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInMiOiAiRVVSRVg6RkJUUDEhIiwKICAgICAgICAgICJkIjogIkV1cm8gQlRQIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInMiOiAiRVVSRVg6RkdCTTEhIiwKICAgICAgICAgICJkIjogIkV1cm8gQk9CTCIKICAgICAgICB9CiAgICAgIF0sCiAgICAgICJvcmlnaW5hbFRpdGxlIjogIkJvbmRzIgogICAgfSwKICAgIHsKICAgICAgInRpdGxlIjogIkZvcmV4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInN5bWJvbHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyI6ICJGWDpFVVJVU0QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImQiOiAiRVVSL1VTRCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyI6ICJGWDpHQlBVU0QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImQiOiAiR0JQL1VTRCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyI6ICJGWDpVU0RKUFkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImQiOiAiVVNEL0pQWSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyI6ICJGWDpVU0RDSEYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImQiOiAiVVNEL0NIRiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyI6ICJGWDpBVURVU0QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImQiOiAiQVVEL1VTRCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyI6ICJGWDpVU0RDQUQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImQiOiAiVVNEL0NBRCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgIm9yaWdpbmFsVGl0bGUiOiAiRm9yZXgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIFRyYWRpbmdWaWV3IFdpZGdldCBFTkQgLS0+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBFeHBlcnQgQW5hbHlzaXMgQ29udGVudCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2UteS02Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktODAwIGJnLW9wYWNpdHktODAgcC02IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBob3Zlcjpib3JkZXItZW1lcmFsZC01MDAgc2hhZG93LWxnIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1zZW1pYm9sZCB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tZW1lcmFsZC00MDAgdG8tYmx1ZS00MDAgbWItNCI+RXhwZXJ0IE1hcmtldCBBbmFseXNpczwvaDM+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQW5hbHlzaXMgQ2FyZCAxIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCIgeC1kYXRhPSJ7IGV4cGFuZGVkOiBmYWxzZSB9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgtc2hyaW5rLTAgbXQtMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xMiBoLTEyIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tZW1lcmFsZC02MDAgdG8tYmx1ZS03MDAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtY2hhcnQtYmFyIHRleHQtd2hpdGUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtbGcgZm9udC1tZWRpdW0gdGV4dC13aGl0ZSI+RGFpbHkgTWFya2V0IDxzcGFuIGNsYXNzPSJ0ZXh0LWVtZXJhbGQtNDAwIj5VcGRhdGVzPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Im10LTIgdGV4dC1ncmF5LTMwMCIgOmNsYXNzPSJleHBhbmRlZCA/ICcnIDogJ2xpbmUtY2xhbXAtMiciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlIGRhaWx5IG1hcmtldCBhbmFseXNpcyBkaXJlY3RseSB0byB5b3VyIGluYm94LiBPdXIgdGVhbSBvZiBleHBlcnQgYW5hbHlzdHMgcHJvdmlkZSBhY3Rpb25hYmxlIGluc2lnaHRzIG9uIG1hcmtldCB0cmVuZHMsIHByaWNlIG1vdmVtZW50cywgYW5kIHRyYWRpbmcgb3Bwb3J0dW5pdGllcyBhY3Jvc3MgYWxsIG1ham9yIGFzc2V0IGNsYXNzZXMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSJleHBhbmRlZCA9ICFleHBhbmRlZCIgY2xhc3M9Im10LTIgcHgtMyBweS0xIHRleHQteHMgZm9udC1zZW1pYm9sZCBiZy1ncmFkaWVudC10by1yIGZyb20tZW1lcmFsZC03MDAgdG8tYmx1ZS03MDAgaG92ZXI6ZnJvbS1lbWVyYWxkLTYwMCBob3Zlcjp0by1ibHVlLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtZnVsbCB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBmb2N1czpvdXRsaW5lLW5vbmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB4LXNob3c9IiFleHBhbmRlZCI+UmVhZCBtb3JlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB4LXNob3c9ImV4cGFuZGVkIj5TaG93IGxlc3M8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFuYWx5c2lzIENhcmQgMiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCBzcGFjZS14LTQiIHgtZGF0YT0ieyBleHBhbmRlZDogZmFsc2UgfSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4LXNocmluay0wIG10LTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctMTIgaC0xMiBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNjAwIHRvLWJsdWUtNzAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzaGFkb3ctbGciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLXRvb2xzIHRleHQtd2hpdGUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtbGcgZm9udC1tZWRpdW0gdGV4dC13aGl0ZSI+UHJlbWl1bSBUcmFkaW5nIDxzcGFuIGNsYXNzPSJ0ZXh0LWJsdWUtNDAwIj5Ub29sczwvc3Bhbj48L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtdC0yIHRleHQtZ3JheS0zMDAiIDpjbGFzcz0iZXhwYW5kZWQgPyAnJyA6ICdsaW5lLWNsYW1wLTInIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXNzIGFkdmFuY2VkIHRyYWRpbmcgdG9vbHMgZGVzaWduZWQgZm9yIGFsbCBleHBlcmllbmNlIGxldmVscy4gT3VyIHBsYXRmb3JtIG9mZmVycyBjdXN0b21pemFibGUgc29sdXRpb25zIHRvIG1lZXQgZGl2ZXJzZSB0cmFkaW5nIG5lZWRzIGFuZCBzdHlsZXMsIHdpdGggbXVsdGktbGFuZ3VhZ2Ugc3VwcG9ydCBmb3IgaW50ZXJuYXRpb25hbCB0cmFkZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIEBjbGljaz0iZXhwYW5kZWQgPSAhZXhwYW5kZWQiIGNsYXNzPSJtdC0yIHB4LTMgcHktMSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNzAwIHRvLWJsdWUtNzAwIGhvdmVyOmZyb20tYmx1ZS02MDAgaG92ZXI6dG8tYmx1ZS02MDAgdGV4dC13aGl0ZSByb3VuZGVkLWZ1bGwgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgZm9jdXM6b3V0bGluZS1ub25lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4geC1zaG93PSIhZXhwYW5kZWQiPlJlYWQgbW9yZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4geC1zaG93PSJleHBhbmRlZCI+U2hvdyBsZXNzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBbmFseXNpcyBDYXJkIDMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQgc3BhY2UteC00IiB4LWRhdGE9InsgZXhwYW5kZWQ6IGZhbHNlIH0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC1zaHJpbmstMCBtdC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEyIGgtMTIgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTYwMCB0by1ibHVlLTcwMCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc2hhZG93LWxnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1zaGllbGQtYWx0IHRleHQtd2hpdGUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtbGcgZm9udC1tZWRpdW0gdGV4dC13aGl0ZSI+RnVuZHMgPHNwYW4gY2xhc3M9InRleHQtYmx1ZS00MDAiPlByb3RlY3Rpb248L3NwYW4+PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibXQtMiB0ZXh0LWdyYXktMzAwIiA6Y2xhc3M9ImV4cGFuZGVkID8gJycgOiAnbGluZS1jbGFtcC0yJyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlvdXIgc2VjdXJpdHkgaXMgb3VyIHByaW9yaXR5LiBXZSBwcm92aWRlIGluZHVzdHJ5LWxlYWRpbmcgaW5zdXJhbmNlIHByb3RlY3Rpb24gZm9yIGNsaWVudCBmdW5kcyB1cCB0byAkMSwwMDAsMDAwLCBlbnN1cmluZyB5b3VyIGludmVzdG1lbnRzIGFyZSBwcm90ZWN0ZWQgYWdhaW5zdCB1bmZvcmVzZWVuIGNpcmN1bXN0YW5jZXMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSJleHBhbmRlZCA9ICFleHBhbmRlZCIgY2xhc3M9Im10LTIgcHgtMyBweS0xIHRleHQteHMgZm9udC1zZW1pYm9sZCBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS03MDAgdG8tYmx1ZS03MDAgaG92ZXI6ZnJvbS1ibHVlLTYwMCBob3Zlcjp0by1ibHVlLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtZnVsbCB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBmb2N1czpvdXRsaW5lLW5vbmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB4LXNob3c9IiFleHBhbmRlZCI+UmVhZCBtb3JlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB4LXNob3c9ImV4cGFuZGVkIj5TaG93IGxlc3M8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTggdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsb2dpbiIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC02IHB5LTMgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LWJhc2UgZm9udC1tZWRpdW0gcm91bmRlZC1tZCB0ZXh0LXdoaXRlIGJnLWJsdWUtNjAwIGhvdmVyOmJnLWJsdWUtNzAwIHNoYWRvdy1sZyB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVhcm4gbW9yZSBhYm91dCBvdXIgc2VydmljZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQgbWwtMiI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKCgoKPCEtLSBUcmFkaW5nIFByb2R1Y3RzIFNlY3Rpb24gLS0+CjxzZWN0aW9uIGNsYXNzPSJweS0xNiBiZy1kYXJrLTMwMCI+CiAgICA8ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWItMTIgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIj5EaXZlcnNlIFRyYWRpbmcgUHJvZHVjdHM8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0ibXQtMiB0ZXh0LWdyYXktNDAwIj5BY2Nlc3MgZ2xvYmFsIG1hcmtldHMgd2l0aCBjb21wZXRpdGl2ZSBjb25kaXRpb25zPC9wPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy00IGdhcC04Ij4KICAgICAgICAgICAgPCEtLSBGb3JleCBDYXJkIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBncm91cCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTYwMCB0by1ibHVlLTQwMCByb3VuZGVkLWxnIHRyYW5zZm9ybSByb3RhdGUtMSBncm91cC1ob3Zlcjpyb3RhdGUtMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgb3BhY2l0eS01MCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBiZy1kYXJrLTQwMCBwLTYgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGdyb3VwLWhvdmVyOmJvcmRlci1ibHVlLTUwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctMTIgaC0xMiBiZy1ibHVlLTYwMCBiZy1vcGFjaXR5LTIwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1nbG9iZSB0ZXh0LWJsdWUtNDAwIHRleHQteGwiPjwvaT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMiI+Rm9yZXg8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIG1iLTQiPlRyYWRlIDcwKyBtYWpvciwgbWlub3IgJiBleG90aWMgY3VycmVuY3kgcGFpcnMgd2l0aCBjb21wZXRpdGl2ZSBzcHJlYWRzIGFuZCBjb25kaXRpb25zPC9wPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImZvcmV4IiBjbGFzcz0idGV4dC1ibHVlLTQwMCBob3Zlcjp0ZXh0LWJsdWUtMzAwIGZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0iPgogICAgICAgICAgICAgICAgICAgICAgICBFeHBsb3JlIEZvcmV4CiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQgbWwtMSB0ZXh0LXhzIj48L2k+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBTaGFyZXMgQ2FyZCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgZ3JvdXAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1yIGZyb20tZ3JlZW4tNjAwIHRvLWdyZWVuLTQwMCByb3VuZGVkLWxnIHRyYW5zZm9ybSByb3RhdGUtMSBncm91cC1ob3Zlcjpyb3RhdGUtMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgb3BhY2l0eS01MCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBiZy1kYXJrLTQwMCBwLTYgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGdyb3VwLWhvdmVyOmJvcmRlci1ncmVlbi01MDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEyIGgtMTIgYmctZ3JlZW4tNjAwIGJnLW9wYWNpdHktMjAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1iLTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWNoYXJ0LWxpbmUgdGV4dC1ncmVlbi00MDAgdGV4dC14bCI+PC9pPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0yIj5TaGFyZXM8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIG1iLTQiPkFjY2VzcyBodW5kcmVkcyBvZiBwdWJsaWMgY29tcGFuaWVzIGZyb20gdGhlIFVTLCBVSywgR2VybWFueSBhbmQgbW9yZSBtYXJrZXRzPC9wPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InNoYXJlcyIgY2xhc3M9InRleHQtZ3JlZW4tNDAwIGhvdmVyOnRleHQtZ3JlZW4tMzAwIGZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0iPgogICAgICAgICAgICAgICAgICAgICAgICBFeHBsb3JlIFNoYXJlcwogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFycm93LXJpZ2h0IG1sLTEgdGV4dC14cyI+PC9pPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRW5lcmdpZXMgQ2FyZCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgZ3JvdXAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1yIGZyb20teWVsbG93LTYwMCB0by15ZWxsb3ctNDAwIHJvdW5kZWQtbGcgdHJhbnNmb3JtIHJvdGF0ZS0xIGdyb3VwLWhvdmVyOnJvdGF0ZS0wIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBvcGFjaXR5LTUwIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGJnLWRhcmstNDAwIHAtNiByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItZ3JheS03MDAgZ3JvdXAtaG92ZXI6Ym9yZGVyLXllbGxvdy01MDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEyIGgtMTIgYmcteWVsbG93LTYwMCBiZy1vcGFjaXR5LTIwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1maXJlIHRleHQteWVsbG93LTQwMCB0ZXh0LXhsIj48L2k+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTIiPkVuZXJnaWVzPC9oMz4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTQwMCBtYi00Ij5EaXNjb3ZlciBvcHBvcnR1bml0aWVzIG9uIFVLICYgVVMgQ3J1ZGUgT2lsIGFzIHdlbGwgYXMgTmF0dXJhbCBHYXMgd2l0aCB0aWdodCBzcHJlYWRzPC9wPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImNvbW1vZGl0aWVzIiBjbGFzcz0idGV4dC15ZWxsb3ctNDAwIGhvdmVyOnRleHQteWVsbG93LTMwMCBmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXNtIGZvbnQtbWVkaXVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgRXhwbG9yZSBFbmVyZ2llcwogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFycm93LXJpZ2h0IG1sLTEgdGV4dC14cyI+PC9pPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gSW5kaWNlcyBDYXJkIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBncm91cCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTYwMCB0by1ibHVlLTQwMCByb3VuZGVkLWxnIHRyYW5zZm9ybSByb3RhdGUtMSBncm91cC1ob3Zlcjpyb3RhdGUtMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgb3BhY2l0eS01MCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBiZy1kYXJrLTQwMCBwLTYgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGdyb3VwLWhvdmVyOmJvcmRlci1ibHVlLTUwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctMTIgaC0xMiBiZy1ibHVlLTYwMCBiZy1vcGFjaXR5LTIwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1sYW5kbWFyayB0ZXh0LWJsdWUtNDAwIHRleHQteGwiPjwvaT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMiI+SW5kaWNlczwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS00MDAgbWItNCI+VHJhZGUgbWFqb3IgYW5kIG1pbm9yIEluZGV4IENGRHMgZnJvbSBhcm91bmQgdGhlIGdsb2JlIHdpdGggY29tcGV0aXRpdmUgY29uZGl0aW9uczwvcD4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJpbmRpY2VzIiBjbGFzcz0idGV4dC1ibHVlLTQwMCBob3Zlcjp0ZXh0LWJsdWUtMzAwIGZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0iPgogICAgICAgICAgICAgICAgICAgICAgICBFeHBsb3JlIEluZGljZXMKICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1hcnJvdy1yaWdodCBtbC0xIHRleHQteHMiPjwvaT4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKCgoKPCEtLSBDcnlwdG9jdXJyZW5jeSBUcmFkaW5nIFNlY3Rpb24gLS0+CjxzZWN0aW9uIGNsYXNzPSJweS0xNiBiZy1ncmFkaWVudC10by1iIGZyb20tZGFyay00MDAgdG8tZGFyay0zMDAiPgogICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiPgogICAgICAgIDxkaXYgY2xhc3M9Im1iLTEyIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lLWJsb2NrIHB4LTMgcHktMSBtYi0yIHRleHQteHMgZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LXNlY29uZGFyeSB1cHBlcmNhc2UgYmctZ3JlZW4tOTAwIGJnLW9wYWNpdHktMzAgcm91bmRlZC1mdWxsIj4KICAgICAgICAgICAgICAgIFBvcHVsYXIgQXNzZXQgQ2xhc3MKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtd2hpdGUiPkNyeXB0b2N1cnJlbmN5IFRyYWRpbmc8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0ibXQtMiB0ZXh0LWdyYXktNDAwIG1heC13LTJ4bCBteC1hdXRvIj5UcmFkZSB0aGUgd29ybGQncyBtb3N0IHBvcHVsYXIgZGlnaXRhbCBhc3NldHMgd2l0aCBjb21wZXRpdGl2ZSBzcHJlYWRzIGFuZCBhZHZhbmNlZCB0b29sczwvcD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBsZzpncmlkLWNvbHMtNCBnYXAtNiI+CiAgICAgICAgICAgIDwhLS0gQml0Y29pbiBDYXJkIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1kYXJrLTQwMCByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiBncm91cCBob3ZlcjpzaGFkb3cteGwgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIGJvcmRlciBib3JkZXItZ3JheS04MDAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaC0yNCBiZy1ncmFkaWVudC10by1yIGZyb20tb3JhbmdlLTUwMCB0by15ZWxsb3ctNTAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly8zNjB0cnVzdHdlYWx0aGF2ZW51ZS5zdGdsZW4uY29tL2Rhc2gvYml0Y29pbi1idGMtbG9nby5wbmciIGFsdD0iQml0Y29pbiIgY2xhc3M9ImgtMTYgdy0xNiI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InAtNiI+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTIiPkJpdGNvaW48L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtc20gaC0yNCBvdmVyZmxvdy1oaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICBCaXRjb2luIGlzIGEgZGVjZW50cmFsaXplZCBkaWdpdGFsIGN1cnJlbmN5IHdpdGhvdXQgYSBjZW50cmFsIGJhbmsgb3IgYWRtaW5pc3RyYXRvciwgYWxsb3dpbmcgcGVlci10by1wZWVyIHRyYW5zYWN0aW9ucyB3aXRob3V0IGludGVybWVkaWFyaWVzIG9uIHRoZSBibG9ja2NoYWluIG5ldHdvcmsuCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTQgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iY3J5cHRvY3VycmVuY2llcyIgY2xhc3M9InRleHQtcHJpbWFyeSBob3Zlcjp1bmRlcmxpbmUgdGV4dC1zbSBmb250LW1lZGl1bSBmbGV4IGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFkZSBub3cKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQgbWwtMSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIHB5LTEgcHgtMiBiZy1ncmF5LTgwMCByb3VuZGVkLWZ1bGwgdGV4dC1ncmF5LTMwMCI+QlRDL1VTRDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRXRoZXJldW0gQ2FyZCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZGFyay00MDAgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gZ3JvdXAgaG92ZXI6c2hhZG93LXhsIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjotdHJhbnNsYXRlLXktMSBib3JkZXIgYm9yZGVyLWdyYXktODAwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImgtMjQgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNTAwIHRvLWluZGlnby02MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovLzM2MHRydXN0d2VhbHRoYXZlbnVlLnN0Z2xlbi5jb20vZGFzaC9ldGhlcmV1bS1ldGgtbG9nby5wbmciIGFsdD0iRXRoZXJldW0iIGNsYXNzPSJoLTE2IHctMTYiPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTYiPgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0yIj5FdGhlcmV1bTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS00MDAgdGV4dC1zbSBoLTI0IG92ZXJmbG93LWhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIEV0aGVyZXVtIGlzIGEgZGVjZW50cmFsaXplZCwgb3Blbi1zb3VyY2UgYmxvY2tjaGFpbiB3aXRoIHNtYXJ0IGNvbnRyYWN0IGZ1bmN0aW9uYWxpdHkuIEFmdGVyIEJpdGNvaW4sIGl0IGlzIHRoZSBsYXJnZXN0IGNyeXB0b2N1cnJlbmN5IGJ5IG1hcmtldCBjYXBpdGFsaXphdGlvbiBhbmQgbW9zdCBhY3RpdmVseSB1c2VkIGJsb2NrY2hhaW4uCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTQgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iY3J5cHRvY3VycmVuY2llcyIgY2xhc3M9InRleHQtcHJpbWFyeSBob3Zlcjp1bmRlcmxpbmUgdGV4dC1zbSBmb250LW1lZGl1bSBmbGV4IGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFkZSBub3cKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQgbWwtMSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIHB5LTEgcHgtMiBiZy1ncmF5LTgwMCByb3VuZGVkLWZ1bGwgdGV4dC1ncmF5LTMwMCI+RVRIL1VTRDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gUmlwcGxlIENhcmQgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWRhcmstNDAwIHJvdW5kZWQteGwgb3ZlcmZsb3ctaGlkZGVuIGdyb3VwIGhvdmVyOnNoYWRvdy14bCB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoLTI0IGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTUwMCB0by1ibHVlLTcwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaC0xNiB3LTE2IGJnLWdyYXktOTAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXIgYm9yZGVyLWJsdWUtNDAwIHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWJsdWUtNDAwIHRleHQtM3hsIGZvbnQtYm9sZCI+WFJQPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTYiPgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0yIj5SaXBwbGU8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtc20gaC0yNCBvdmVyZmxvdy1oaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICBSaXBwbGUgaXMgYSByZWFsLXRpbWUgZ3Jvc3Mgc2V0dGxlbWVudCBzeXN0ZW0sIGN1cnJlbmN5IGV4Y2hhbmdlIGFuZCByZW1pdHRhbmNlIG5ldHdvcmsgY3JlYXRlZCBieSBSaXBwbGUgTGFicy4gSXQgdXNlcyBYUlAgYXMgaXRzIG5hdGl2ZSBjcnlwdG9jdXJyZW5jeSB0byBmYWNpbGl0YXRlIGZhc3QsIGxvdy1jb3N0IGludGVybmF0aW9uYWwgdHJhbnNhY3Rpb25zLgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC00IGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImNyeXB0b2N1cnJlbmNpZXMiIGNsYXNzPSJ0ZXh0LXByaW1hcnkgaG92ZXI6dW5kZXJsaW5lIHRleHQtc20gZm9udC1tZWRpdW0gZmxleCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhZGUgbm93CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFycm93LXJpZ2h0IG1sLTEiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBweS0xIHB4LTIgYmctZ3JheS04MDAgcm91bmRlZC1mdWxsIHRleHQtZ3JheS0zMDAiPlhSUC9VU0Q8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIENhcmRhbm8gQ2FyZCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZGFyay00MDAgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gZ3JvdXAgaG92ZXI6c2hhZG93LXhsIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjotdHJhbnNsYXRlLXktMSBib3JkZXIgYm9yZGVyLWdyYXktODAwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImgtMjQgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtODAwIHRvLWluZGlnby04MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImgtMTYgdy0xNiBiZy1ncmF5LTkwMCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyIGJvcmRlci1pbmRpZ28tNDAwIHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWluZGlnby00MDAgdGV4dC0zeGwgZm9udC1ib2xkIj5BREE8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InAtNiI+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTIiPkNhcmRhbm88L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtc20gaC0yNCBvdmVyZmxvdy1oaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICBDYXJkYW5vIGlzIGEgcHJvb2Ytb2Ytc3Rha2UgYmxvY2tjaGFpbiBwbGF0Zm9ybSBjcmVhdGVkIGJ5IEV0aGVyZXVtIGNvLWZvdW5kZXIgQ2hhcmxlcyBIb3NraW5zb24uIEl0IGFpbXMgdG8gYmUgbW9yZSBzY2FsYWJsZSwgc3VzdGFpbmFibGUsIGFuZCBpbnRlcm9wZXJhYmxlIHRoYW4gb3RoZXIgYmxvY2tjaGFpbiBwbGF0Zm9ybXMuCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTQgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iY3J5cHRvY3VycmVuY2llcyIgY2xhc3M9InRleHQtcHJpbWFyeSBob3Zlcjp1bmRlcmxpbmUgdGV4dC1zbSBmb250LW1lZGl1bSBmbGV4IGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFkZSBub3cKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQgbWwtMSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIHB5LTEgcHgtMiBiZy1ncmF5LTgwMCByb3VuZGVkLWZ1bGwgdGV4dC1ncmF5LTMwMCI+QURBL1VTRDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibXQtMTAgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICA8YSBocmVmPSJjcnlwdG9jdXJyZW5jaWVzIiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHB4LTYgcHktMyBib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IHRleHQtYmFzZSBmb250LW1lZGl1bSByb3VuZGVkLW1kIHRleHQtd2hpdGUgYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdHJhbnNpdGlvbiBkdXJhdGlvbi0xNTAiPgogICAgICAgICAgICAgICAgVmlldyBhbGwgY3J5cHRvY3VycmVuY2llcwogICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1hcnJvdy1yaWdodCBtbC0yIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+CgoKCgoKCjwhLS0gRWR1Y2F0aW9uIFNlY3Rpb24gLS0+CjxzZWN0aW9uIGNsYXNzPSJweS0xNiBiZy1kYXJrLTQwMCI+CiAgICA8ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMiBnYXAtOCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICA8IS0tIFZpZGVvIENvbHVtbiAtLT4KICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiBzaGFkb3ctbGciPgogICAgPGRpdiBjbGFzcz0iYmctZGFyay0zMDAgaC1bNDAwcHhdIj4KICAgICAgICA8aWZyYW1lCiAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvR2MyZW4zbkh4QTQiCiAgICAgICAgICAgIGFsbG93PSJhdXRvcGxheTsgZW5jcnlwdGVkLW1lZGlhIgogICAgICAgICAgICBhbGxvd2Z1bGxzY3JlZW4KICAgICAgICAgICAgY2xhc3M9InctZnVsbCBoLWZ1bGwgb2JqZWN0LWNvdmVyIgogICAgICAgICAgICB0aXRsZT0iTGVhcm4gYWJvdXQgQml0Y29pbiI+CiAgICAgICAgPC9pZnJhbWU+CiAgICA8L2Rpdj4KPC9kaXY+CgogICAgICAgICAgICA8IS0tIFRleHQgQ29sdW1uIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZS15LTYiPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1wcmltYXJ5IHRleHQtc20gZm9udC1zZW1pYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIiPkVkdWNhdGlvbiBDZW50ZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJtdC0yIHRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIj5MZWFybiBGcm9tIE1hcmtldCBFeHBlcnRzPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIHRleHQtbGciPgogICAgICAgICAgICAgICAgICAgIERpc2NvdmVyIGV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8ga25vdyBhYm91dCBjcnlwdG9jdXJyZW5jeSB0cmFkaW5nLCBmcm9tIGZ1bmRhbWVudGFscyB0byBhZHZhbmNlZCBzdHJhdGVnaWVzLgogICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWRhcmstMzAwIHJvdW5kZWQtbGcgcC02IGJvcmRlciBib3JkZXItZ3JheS04MDAiPgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LXNlbWlib2xkIHRleHQtd2hpdGUgbWItMyI+QWJvdXQgQml0Y29pbjwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS00MDAiPgogICAgICAgICAgICAgICAgICAgICAgICBCaXRjb2luICjDouKAmsK/KSBpcyBhIGRlY2VudHJhbGl6ZWQgZGlnaXRhbCBjdXJyZW5jeSB0aGF0IG9wZXJhdGVzIHdpdGhvdXQgYSBjZW50cmFsIGF1dGhvcml0eS4gVHJhbnNhY3Rpb25zIGFyZSB2ZXJpZmllZCBieSBuZXR3b3JrIG5vZGVzIHRocm91Z2ggY3J5cHRvZ3JhcGh5IGFuZCByZWNvcmRlZCBvbiBhIHB1YmxpYyBkaXN0cmlidXRlZCBsZWRnZXIgY2FsbGVkIGEgYmxvY2tjaGFpbi4gQ3JlYXRlZCBpbiAyMDA4IGJ5IGFuIHVua25vd24gcGVyc29uIG9yIGdyb3VwIHVzaW5nIHRoZSBuYW1lIFNhdG9zaGkgTmFrYW1vdG8sIEJpdGNvaW4gcGlvbmVlcmVkIHRoZSBjb25jZXB0IG9mIGNyeXB0b2N1cnJlbmNpZXMuCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LXdyYXAgZ2FwLTQgbXQtNCI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZm9yLXRyYWRlcnMiIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgcHgtNSBweS0yIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgdGV4dC1iYXNlIGZvbnQtbWVkaXVtIHJvdW5kZWQtbWQgdGV4dC13aGl0ZSBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0cmFuc2l0aW9uIGR1cmF0aW9uLTE1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIEV4cGxvcmUgbGVhcm5pbmcgcmVzb3VyY2VzCiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtZ3JhZHVhdGlvbi1jYXAgbWwtMiI+PC9pPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsb2dpbiIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC01IHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCB0ZXh0LWJhc2UgZm9udC1tZWRpdW0gcm91bmRlZC1tZCB0ZXh0LWdyYXktMzAwIGhvdmVyOnRleHQtd2hpdGUgaG92ZXI6Ym9yZGVyLWdyYXktNTAwIHRyYW5zaXRpb24gZHVyYXRpb24tMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgSm9pbiBmcmVlIHdlYmluYXJzCiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtdmlkZW8gbWwtMiI+PC9pPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+CgoKCgoKCgoKCgoKPCEtLSBUcmFkaW5nIEFkdmFudGFnZSBTZWN0aW9uIC0tPgo8c2VjdGlvbiBjbGFzcz0icHktMTYgYmctZ3JhZGllbnQtdG8tYiBmcm9tLWRhcmstMzAwIHRvLWRhcmstNDAwIj4KICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYi0xMiB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtYmxvY2sgcHgtMyBweS0xIHRleHQtc20gZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LXByaW1hcnkgdXBwZXJjYXNlIGJnLWJsdWUtOTAwIGJnLW9wYWNpdHktMzAgcm91bmRlZC1mdWxsIj4KICAgICAgICAgICAgICAgIFN1cGVyaW9yIFRyYWRpbmcgRXhwZXJpZW5jZQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxoMiBjbGFzcz0ibXQtMiB0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC13aGl0ZSI+VGlnaHRlciBTcHJlYWRzLiBGYXN0ZXIgRXhlY3V0aW9uLjwvaDI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJtdC0yIHRleHQtZ3JheS00MDAgbWF4LXctMnhsIG14LWF1dG8iPkV4cGVyaWVuY2UgaW5zdGl0dXRpb25hbC1ncmFkZSB0cmFkaW5nIGNvbmRpdGlvbnMgZGVzaWduZWQgZm9yIHByb2Zlc3Npb25hbCB0cmFkZXJzPC9wPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0yIGdhcC04IGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgIDwhLS0gTGVmdCBTaWRlOiBUcmFkaW5nIEFkdmFudGFnZXMgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktOCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1kYXJrLTMwMCByb3VuZGVkLXhsIHAtNiBib3JkZXIgYm9yZGVyLWdyYXktODAwIHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi02Ij5QcmVtaXVtIFRyYWRpbmcgQ29uZGl0aW9uczwvaDM+CgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3BhY2UteS00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgtc2hyaW5rLTAgbXQtMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy01IGgtNSByb3VuZGVkLWZ1bGwgYmctZ3JlZW4tNTAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jaGVjayB0ZXh0LXhzIHRleHQtd2hpdGUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Im1sLTMgdGV4dC1ncmF5LTMwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSI+VWx0cmEtbG93IHNwcmVhZHM8L3NwYW4+IGZyb20gMC4wIHBpcHMgb24gbWFqb3IgcGFpcnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4LXNocmluay0wIG10LTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctNSBoLTUgcm91bmRlZC1mdWxsIGJnLWdyZWVuLTUwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtY2hlY2sgdGV4dC14cyB0ZXh0LXdoaXRlIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtbC0zIHRleHQtZ3JheS0zMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LXNlbWlib2xkIHRleHQtd2hpdGUiPkxpZ2h0bmluZy1mYXN0IGV4ZWN1dGlvbjwvc3Bhbj4gZnJvbSBOWTQgc2VydmVyIGZhY2lsaXR5IHdpdGggbWluaW1hbCBzbGlwcGFnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgtc2hyaW5rLTAgbXQtMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy01IGgtNSByb3VuZGVkLWZ1bGwgYmctZ3JlZW4tNTAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jaGVjayB0ZXh0LXhzIHRleHQtd2hpdGUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Im1sLTMgdGV4dC1ncmF5LTMwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSI+VG9wLXRpZXIgbGlxdWlkaXR5PC9zcGFuPiBhbmQgbWFya2V0LWxlYWRpbmcgcHJpY2luZyAyNC81CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC1zaHJpbmstMCBtdC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTUgaC01IHJvdW5kZWQtZnVsbCBiZy1ncmVlbi01MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWNoZWNrIHRleHQteHMgdGV4dC13aGl0ZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibWwtMyB0ZXh0LWdyYXktMzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIj5ObyBkZWFsaW5nIGRlc2s8L3NwYW4+IGFuZCBubyByZXF1b3RlcywgZXZlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsb2dpbiIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC01IHB5LTMgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LWJhc2UgZm9udC1tZWRpdW0gcm91bmRlZC1tZCB0ZXh0LXdoaXRlIGJnLXByaW1hcnkgaG92ZXI6YmctYmx1ZS03MDAgdHJhbnNpdGlvbiBkdXJhdGlvbi0xNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlldyBkZXRhaWxlZCBjb25kaXRpb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFycm93LXJpZ2h0IG1sLTIiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBSaWdodCBTaWRlOiBUcmFkaW5nIFdpZGdldCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZGFyay0zMDAgcm91bmRlZC14bCBwLTUgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCBzaGFkb3ctbGciPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBtYi00Ij5MaXZlIE1hcmtldCBPdmVydmlldzwvaDM+CgogICAgICAgICAgICAgICAgPCEtLSBUcmFkaW5nVmlldyBXaWRnZXQgQkVHSU4gLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyX193aWRnZXQiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtZm9yZXgtY3Jvc3MtcmF0ZXMuanMiIGFzeW5jPgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAid2lkdGgiOiAiMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgImhlaWdodCI6ICI0MDAiLAogICAgICAgICAgICAgICAgICAgICJjdXJyZW5jaWVzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAiRVVSIiwKICAgICAgICAgICAgICAgICAgICAgICAgIlVTRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJKUFkiLAogICAgICAgICAgICAgICAgICAgICAgICAiR0JQIiwKICAgICAgICAgICAgICAgICAgICAgICAgIkNIRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJBVUQiLAogICAgICAgICAgICAgICAgICAgICAgICAiQ0FEIiwKICAgICAgICAgICAgICAgICAgICAgICAgIk5aRCIKICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJpc1RyYW5zcGFyZW50IjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgImNvbG9yVGhlbWUiOiAiZGFyayIsCiAgICAgICAgICAgICAgICAgICAgImxvY2FsZSI6ICJlbiIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEVORCAtLT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSBDb3B5IFRyYWRpbmcgU2VjdGlvbiAtLT4KPHNlY3Rpb24gY2xhc3M9InB5LTEyIGJnLWRhcmstMzAwIj4KICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYi0xMCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtYmxvY2sgcHgtMyBweS0xIHRleHQtc20gZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWdyZWVuLTQwMCB1cHBlcmNhc2UgYmctZ3JlZW4tOTAwIGJnLW9wYWNpdHktMzAgcm91bmRlZC1mdWxsIj4KICAgICAgICAgICAgICAgIFNvY2lhbCBUcmFkaW5nCiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJtdC0yIHRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIj5Db3B5IFByb2Zlc3Npb25hbCBUcmFkZXJzPC9oMj4KICAgICAgICAgICAgPHAgY2xhc3M9Im10LTIgdGV4dC1ncmF5LTQwMCBtYXgtdy0yeGwgbXgtYXV0byI+TGV0IGV4cGVyaWVuY2VkIHRyYWRlcnMgZG8gdGhlIHdvcmsgZm9yIHlvdSB3aXRoIG91ciBhZHZhbmNlZCBjb3B5IHRyYWRpbmcgc3lzdGVtPC9wPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy00IGdhcC02Ij4KICAgICAgICAgICAgPCEtLSBTdHJhdGVneSAxIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1kYXJrLTQwMCByb3VuZGVkLXhsIHAtNiBib3JkZXIgYm9yZGVyLWdyYXktODAwIGhvdmVyOmJvcmRlci1ncmVlbi01MDAgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctMTQgaC0xNCBiZy1ncmVlbi02MDAgYmctb3BhY2l0eS0yMCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWItNCI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jb3B5IHRleHQtZ3JlZW4tNDAwIHRleHQteGwiPjwvaT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTMiPkNvcHkgNDAwKyBTdHJhdGVnaWVzPC9oMz4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIj5BY2Nlc3MgaHVuZHJlZHMgb2Ygc3RyYXRlZ2llcyBmb3IgbW9yZSB0aGFuIDEwMDAgaW5zdHJ1bWVudHMgYWNyb3NzIDcgYXNzZXQgY2xhc3Nlcy48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBTdHJhdGVneSAyIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1kYXJrLTQwMCByb3VuZGVkLXhsIHAtNiBib3JkZXIgYm9yZGVyLWdyYXktODAwIGhvdmVyOmJvcmRlci1ncmVlbi01MDAgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctMTQgaC0xNCBiZy1ncmVlbi02MDAgYmctb3BhY2l0eS0yMCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWItNCI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jaGFydC1saW5lIHRleHQtZ3JlZW4tNDAwIHRleHQteGwiPjwvaT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTMiPlNlbGVjdCBUb3AgUGVyZm9ybWVyczwvaDM+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTQwMCI+VXNlIG91ciByZXBvcnRpbmcgdG9vbHMgdG8gcmFuayBzdHJhdGVnaWVzIGFjY29yZGluZyB0byBwZXJmb3JtYW5jZSBhbmQgc2VsZWN0IHRoZSBtb3N0IHN1aXRhYmxlIGZvciB5b3VyIGNpcmN1bXN0YW5jZXMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gU3RyYXRlZ3kgMyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZGFyay00MDAgcm91bmRlZC14bCBwLTYgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCBob3Zlcjpib3JkZXItZ3JlZW4tNTAwIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjotdHJhbnNsYXRlLXktMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTE0IGgtMTQgYmctZ3JlZW4tNjAwIGJnLW9wYWNpdHktMjAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1iLTQiPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtc2hpZWxkLWFsdCB0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhsIj48L2k+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0zIj5TdGF5IFByb3RlY3RlZDwvaDM+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTQwMCI+VGhlIHN5c3RlbSB1c2VzIHNvcGhpc3RpY2F0ZWQgY2FsY3VsYXRpb25zIHRvIGtlZXAgeW91ciBleHBvc3VyZSBhdCBhbiBvcHRpbWFsIGxldmVsIGZvciB5b3VyIGFjY291bnQuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gU3RyYXRlZ3kgNCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZGFyay00MDAgcm91bmRlZC14bCBwLTYgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCBob3Zlcjpib3JkZXItZ3JlZW4tNTAwIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjotdHJhbnNsYXRlLXktMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTE0IGgtMTQgYmctZ3JlZW4tNjAwIGJnLW9wYWNpdHktMjAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1iLTQiPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtc2xpZGVycy1oIHRleHQtZ3JlZW4tNDAwIHRleHQteGwiPjwvaT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTMiPkNvbWJpbmUgTWV0aG9kczwvaDM+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTQwMCI+T3VyIGludGVncmF0ZWQgcGxhdGZvcm0gYWxsb3dzIHlvdSB0byBjb21iaW5lIGNvcHlpbmcgd2l0aCBtYW51YWwgYW5kIGF1dG9tYXRlZCB0cmFkaW5nLCBkZXBlbmRpbmcgb24geW91ciBwcmVmZXJlbmNlcy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KCgoKCgoKCgoKCjwhLS0gQWJvdXQgVXMgU2VjdGlvbiAtLT4KPHNlY3Rpb24gY2xhc3M9InB5LTE2IGJnLWdyYWRpZW50LXRvLWIgZnJvbS1kYXJrLTQwMCB0by1kYXJrLTUwMCByZWxhdGl2ZSI+CiAgICA8IS0tIEJhY2tncm91bmQgb3ZlcmxheSB3aXRoIGltYWdlIC0tPgogICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBvcGFjaXR5LTIwIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKHRlbXAvY3VzdG9tL2ltZy9hYnQucG5nKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyI+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgei0xMCBtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWItMTAgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWJsb2NrIHB4LTMgcHktMSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1ibHVlLTQwMCB1cHBlcmNhc2UgYmctYmx1ZS05MDAgYmctb3BhY2l0eS0zMCByb3VuZGVkLWZ1bGwiPgogICAgICAgICAgICAgICAgT3VyIFN0b3J5CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJtdC0yIHRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIj5BYm91dCBVczwvaDI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImgtMSB3LTIwIGJnLXByaW1hcnkgbXgtYXV0byBteS00Ij48L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXctNHhsIG14LWF1dG8gYmctZGFyay00MDAgYmctb3BhY2l0eS04MCBwLTggcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHNoYWRvdy14bCI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGxlYWRpbmctcmVsYXhlZCI+CiAgICAgICAgICAgICAgICB0cnVzdCB3ZWFsdGggYXZlbnVlIGhhcyBiZWNvbWUgb25lIG9mIHRoZSBtb3N0IHJlcHV0YWJsZSBicm9rZXJzIGluIHRoZSBpbmR1c3RyeSwgb2ZmZXJpbmcgdHJhZGVycyBDRkRzIGFjcm9zcyBGb3JleCwgRXF1aXRpZXMsIENvbW1vZGl0aWVzIGFuZCBGdXR1cmVzLiBUcmFkaW5nIG9uIHRoZSBGb3JleCBtYXJrZXQgaXMgYSBsZWdpdGltYXRlIGFuZCBzdHJhaWdodGZvcndhcmQgd2F5IG9mIGdlbmVyYXRpbmcgaW5jb21lLgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTMwMCBsZWFkaW5nLXJlbGF4ZWQgbXQtNCI+CiAgICAgICAgICAgICAgICBUaGUgZ29vZCBuZXdzIGlzIHRoYXQgeW91IGRvbid0IGhhdmUgdG8gYmUgYSBwcm9mZXNzaW9uYWwgdHJhZGVyIGluIG9yZGVyIHRvIG1ha2UgbW9uZXkuIEFsbCB5b3UgbmVlZCBpcyB0aGUgcmlnaHQgcGVyc29uYWxpdHkgYW5kIHRoZSByaWdodCBza2lsbCBzZXQgYW5kIHlvdSBjYW4gbWFrZSBtb25leSB0cmFkaW5nIG9uIGZvcmVpZ24gZXhjaGFuZ2VzLiB0cnVzdCB3ZWFsdGggYXZlbnVlIGxldHMgeW91IHRyYWRlIGluIHRoZSB3YXkgdGhhdCBiZXN0IHN1aXRzIHlvdS4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtNiBtdC02Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWRhcmstMzAwIGJnLW9wYWNpdHktNjAgcC00IHJvdW5kZWQtbGciPgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIGZsZXggaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jaGVjay1jaXJjbGUgdGV4dC1wcmltYXJ5IG1yLTIiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgUGVyc29uYWxpemVkIFRyYWRpbmcKICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIG10LTIiPgogICAgICAgICAgICAgICAgICAgICAgICBEbyB5b3Ugd2FudCB0byByaXNrIGEgbGl0dGxlIG9yIGEgbG90PyBEbyB5b3Ugd2FudCBnYWlucyBpbiB0aGUgc2hvcnQgdGVybSBvciBhcmUgeW91IHBsYXlpbmcgYSBsb25nZXIgZ2FtZT8gQXJlIHlvdSBhIGRheSB0cmFkZXIsIGEgc3dpbmcgdHJhZGVyIG9yIGEgc2NhbHBlcj8KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1kYXJrLTMwMCBiZy1vcGFjaXR5LTYwIHAtNCByb3VuZGVkLWxnIj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBmbGV4IGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtY2hlY2stY2lyY2xlIHRleHQtcHJpbWFyeSBtci0yIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgIENvbXBsZXRlIENvbnRyb2wKICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIG10LTIiPgogICAgICAgICAgICAgICAgICAgICAgICBXaXRoIHRoZSByaWdodCB0b29scywgaW5mb3JtYXRpb24gYW5kIGFjY2VzcyB0byBhbGwgdGhlIHdvcmxkJ3MgY3VycmVuY2llcywgdHJ1c3Qgd2VhbHRoIGF2ZW51ZSBwdXRzIHlvdSBpbiBjb250cm9sIG9mIHRoZSB0cmFkZXMgeW91IG1ha2UuCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtOCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJhYm91dCIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC02IHB5LTMgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LWJhc2UgZm9udC1tZWRpdW0gcm91bmRlZC1tZCB0ZXh0LXdoaXRlIGJnLXByaW1hcnkgaG92ZXI6YmctYmx1ZS03MDAgdHJhbnNpdGlvbiBkdXJhdGlvbi0xNTAiPgogICAgICAgICAgICAgICAgICAgIExlYXJuIG1vcmUgYWJvdXQgdXMKICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFycm93LXJpZ2h0IG1sLTIiPjwvaT4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKCgoKCjwhLS0gU3RhcnQgUHJpY2luZyBUcmFkaW5nIG9uIHRoZSBGb3JleCBtYXJrZXQgaXMgYSBsZWdpdGltYXRlIGFuZCBzdHJhaWdodGZvcndhcmQgd2F5IG9mIGdlbmVyYXRpbmcgaW5jb21lLiBBbmQgdGhlIGdvb2QgbmV3cyBpcyB0aGF0IHlvdSBkb27DouKCrOKEonQgaGF2ZSB0byBiZSBhIHByb2Zlc3Npb25hbCB0cmFkZXIgaW4gb3JkZXIgdG8gbWFrZSBtb25leS4gQWxsIHlvdSBuZWVkIGlzIHRoZSByaWdodCBwZXJzb25hbGl0eSBhbmQgdGhlIHJpZ2h0IHNraWxsIHNldCBhbmQgeW91IGNhbiBtYWtlIG1vbmV5IHRyYWRpbmcgb24gZm9yZWlnbiBleGNoYW5nZXMuIHRydXN0IHdlYWx0aCBhdmVudWUgbGV0cyB5b3UgdHJhZGUgaW4gdGhlIHdheSB0aGF0IGJlc3Qgc3VpdHMgeW91LiBEbyB5b3Ugd2FudCB0byByaXNrIGEgbGl0dGxlIG9yIGEgbG90PyBEbyB5b3Ugd2FudCBnYWlucyBpbiB0aGUgc2hvcnQgdGVybSBvciBhcmUgeW91IHBsYXlpbmcgYSBsb25nZXIgZ2FtZT8gQXJlIHlvdSBhIGRheSB0cmFkZXIsIGEgc3dpbmcgdHJhZGVyIG9yIGEgc2NhbHBlcj8gQXJlIHlvdSBhbiBvbGQgaGFuZCBvciBhIHJvb2tpZSBqdXN0IHRlc3RpbmcgdGhlIHdhdGVyPyBJdCBkb2VzIG5vdCBtYXR0ZXIgYmVjYXVzZSB0cnVzdCB3ZWFsdGggYXZlbnVlIHB1dHMgeW91IGluIGNvbnRyb2wuSWYgeW91IGNhbiBjb250cm9sIHRvZGF5w6LigqzihKJzIHN1Y2Nlc3MgYW5kIG5vdCBsZXQgaXQgY2xvdWQgdG9tb3Jyb3fDouKCrOKEonMganVkZ21lbnQsIHlvdSBwcm9iYWJseSBoYXZlIGl0IGluIHlvdSB0byBtYWtlIG1vbmV5IGFzIGEgY3VycmVuY3kgdHJhZGVyLiBUaGUgcHJpemVzIGluIEZvcmV4IGFyZSBjZXJ0YWlubHkgZ2xpdHRlcmluZyBidXQgaXQgaXMgbGV2ZWwgaGVhZGVkbmVzcyBhbmQgcGVyc2lzdGVuY2UgdGhhdCB3aW4gdGhlIGRheS4gV2l0aCB0aGUgcmlnaHQgdG9vbHMsIGluZm9ybWF0aW9uIGFuZCBhY2Nlc3MgdG8gYWxsIHRoZSB3b3JsZMOi4oKs4oSicyBjdXJyZW5jaWVzLCB0cnVzdCB3ZWFsdGggYXZlbnVlIHB1dHMgeW91IGluIGNvbnRyb2wgb2YgdGhlIHRyYWRlcyB5b3UgbWFrZS4gPC9wPiA8L2xpPiA8L2NlbnRlcj48L3VsPjwvZGl2PgoKCgo8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+PC9kaXY+Cgo8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtdC0zIj48L2Rpdj48L2Rpdj48L3NlY3Rpb24+CgoKCgoKCjwhLS0gUHJpY2luZyBQbGFucyBTZWN0aW9uIC0tPgo8c2VjdGlvbiBjbGFzcz0icHktMTYgYmctZ3JheS05MDAiIGlkPSJwcmljaW5nIj4KICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYi0xMiB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtYmxvY2sgcHgtNCBweS0xIHRleHQtc20gZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWJsdWUtNDAwIHVwcGVyY2FzZSBiZy1ibHVlLTkwMCBiZy1vcGFjaXR5LTcwIHJvdW5kZWQtZnVsbCBzaGFkb3ctbGciPgogICAgICAgICAgICAgICAgVHJhZGluZyBQbGFucwogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxoMiBjbGFzcz0ibXQtMyB0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC10cmFuc3BhcmVudCBiZy1jbGlwLXRleHQgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNDAwIHRvLWJsdWUtNDAwIj5JbnZlc3RtZW50IE9wcG9ydHVuaXRpZXM8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0ibXQtMyB0ZXh0LWdyYXktMzAwIG1heC13LTJ4bCBteC1hdXRvIj5DaG9vc2UgdGhlIHBlcmZlY3QgcGxhbiB0aGF0IHN1aXRzIHlvdXIgaW52ZXN0bWVudCBzdHJhdGVneSBhbmQgZmluYW5jaWFsIGdvYWxzPC9wPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvdy1oaWRkZW4iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy00IGdhcC02IgogICAgICAgICAgICAgICAgIHgtZGF0YT0ieyBhY3RpdmVUYWI6ICdtb250aGx5JyB9IgogICAgICAgICAgICAgICAgIHgtaW5pdD0iZnVuY3Rpb24oKSB7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7IGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCkgeyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGxhbnMtY29udGFpbmVyJykuc2Nyb2xsTGVmdCA9IDA7IH0gfSkgfSI+CgoKCgoKCjwhLS0gUGxhbiBDYXJkcyAtLT4KPGRpdiBjbGFzcz0icmVsYXRpdmUgZ3JvdXAiPgogICAgPCEtLSBHcmFkaWVudCBiYWNrZ3JvdW5kIGVmZmVjdCAtLT4KICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLWJsdWUtNjAwLzIwIHRvLWJsdWUtODAwLzIwIHJvdW5kZWQteGwgdHJhbnNmb3JtIHJvdGF0ZS0xIGdyb3VwLWhvdmVyOnJvdGF0ZS0wIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBvcGFjaXR5LTUwIj48L2Rpdj4KCiAgICA8IS0tIENhcmQgQ29udGVudCAtLT4KICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGJnLWdyYXktODAwIGJnLW9wYWNpdHktOTAgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBncm91cC1ob3Zlcjpib3JkZXItYmx1ZS02MDAgdHJhbnNmb3JtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBob3ZlcjpzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWJsdWUtOTAwLzIwIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICA8IS0tIENhcmQgSGVhZGVyIC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImgtMjQgYmctYmx1ZS02MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcmVsYXRpdmUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLXBhdHRlcm4gb3BhY2l0eS0xMCI+PC9kaXY+CiAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIiPlRlc3Q8L2gzPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFByaWNpbmcgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0icC02IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWItNiI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC00eGwgZm9udC1ib2xkIHRleHQtdHJhbnNwYXJlbnQgYmctY2xpcC10ZXh0IGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTQwMCB0by1ibHVlLTQwMCI+MTUwJTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIG1sLTEiPi8gVHJhZGU8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBGZWF0dXJlcyBMaXN0IC0tPgogICAgICAgICAgICA8dWwgY2xhc3M9InNwYWNlLXktMyBtYi04Ij4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC1ncmF5LTMwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy01IGgtNSB0ZXh0LWJsdWUtNTAwIG1yLTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0zLjcwNy05LjI5M2ExIDEgMCAwMC0xLjQxNC0xLjQxNEw5IDEwLjU4NiA3LjcwNyA5LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMDAxLjQxNCAwbDQtNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIFByaW5jaXBhbCByZXR1cm4gb24gbWF0dXJpdHkKICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRleHQtZ3JheS0zMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTUwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICBJbnN0YW50IFdpdGhkcmF3YWwKICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRleHQtZ3JheS0zMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTUwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICBQcm9mZXNzaW9uYWwgQ2hhcnRzCiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS01MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuNzA3LTkuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDkgMTAuNTg2IDcuNzA3IDkuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwMDEuNDE0IDBsNC00eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgMjQvNyBTdXBwb3J0CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLXQgYm9yZGVyLWdyYXktNzAwIHB0LTMgbXQtMyI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy01IGgtNSB0ZXh0LWJsdWUtNDAwIG1yLTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDRhMiAyIDAgMDAtMiAydjRhMiAyIDAgMDAyIDJWNmgxMGEyIDIgMCAwMC0yLTJINHptMiA2YTIgMiAwIDAxMi0yaDhhMiAyIDAgMDEyIDJ2NGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJ2LTR6bTYgNGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIE1pbjogPHNwYW4gY2xhc3M9InRleHQtYmx1ZS0zMDAgbWwtMSI+JDUwMDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy01IGgtNSB0ZXh0LWJsdWUtNDAwIG1yLTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDRhMiAyIDAgMDAtMiAydjRhMiAyIDAgMDAyIDJWNmgxMGEyIDIgMCAwMC0yLTJINHptMiA2YTIgMiAwIDAxMi0yaDhhMiAyIDAgMDEyIDJ2NGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJ2LTR6bTYgNGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIE1heDogPHNwYW4gY2xhc3M9InRleHQtYmx1ZS0zMDAgbWwtMSI+JDI5OTk8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPCEtLSBDVEEgQnV0dG9uIC0tPgogICAgICAgICAgICA8YSBocmVmPSJsb2dpbiIgY2xhc3M9ImJsb2NrIHctZnVsbCBweC00IHB5LTMgZm9udC1tZWRpdW0gdGV4dC1jZW50ZXIgdGV4dC13aGl0ZSBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEiPgogICAgICAgICAgICAgICAgU2VsZWN0IFBsYW4KICAgICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFZpc3VhbCBpbmRpY2F0b3IgZm9yIHByZW1pdW0gcGxhbnMgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JhZGllbnQtdG8tciBmcm9tLWFtYmVyLTUwMCB0by1ibHVlLTUwMCB0ZXh0LXdoaXRlIHRleHQteHMgcHgtMyBweS0xIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1ibC1sZyByb3VuZGVkLXRyLWxnIj4KICAgICAgICAgICAgICAgIFByZW1pdW0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icmVsYXRpdmUgZ3JvdXAiPgogICAgPCEtLSBHcmFkaWVudCBiYWNrZ3JvdW5kIGVmZmVjdCAtLT4KICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLWJsdWUtNjAwLzIwIHRvLWJsdWUtODAwLzIwIHJvdW5kZWQteGwgdHJhbnNmb3JtIHJvdGF0ZS0xIGdyb3VwLWhvdmVyOnJvdGF0ZS0wIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBvcGFjaXR5LTUwIj48L2Rpdj4KCiAgICA8IS0tIENhcmQgQ29udGVudCAtLT4KICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGJnLWdyYXktODAwIGJnLW9wYWNpdHktOTAgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBncm91cC1ob3Zlcjpib3JkZXItYmx1ZS02MDAgdHJhbnNmb3JtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBob3ZlcjpzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWJsdWUtOTAwLzIwIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICA8IS0tIENhcmQgSGVhZGVyIC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImgtMjQgYmctYmx1ZS02MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcmVsYXRpdmUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLXBhdHRlcm4gb3BhY2l0eS0xMCI+PC9kaXY+CiAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIiPkJlZ2lubmVyIFBsYW48L2gzPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFByaWNpbmcgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0icC02IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWItNiI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC00eGwgZm9udC1ib2xkIHRleHQtdHJhbnNwYXJlbnQgYmctY2xpcC10ZXh0IGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTQwMCB0by1ibHVlLTQwMCI+MTYlPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtZ3JheS0zMDAgbWwtMSI+LyBUcmFkZTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIEZlYXR1cmVzIExpc3QgLS0+CiAgICAgICAgICAgIDx1bCBjbGFzcz0ic3BhY2UteS0zIG1iLTgiPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS01MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuNzA3LTkuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDkgMTAuNTg2IDcuNzA3IDkuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwMDEuNDE0IDBsNC00eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgUHJpbmNpcGFsIHJldHVybiBvbiBtYXR1cml0eQogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC1ncmF5LTMwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy01IGgtNSB0ZXh0LWJsdWUtNTAwIG1yLTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0zLjcwNy05LjI5M2ExIDEgMCAwMC0xLjQxNC0xLjQxNEw5IDEwLjU4NiA3LjcwNyA5LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMDAxLjQxNCAwbDQtNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIEluc3RhbnQgV2l0aGRyYXdhbAogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC1ncmF5LTMwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy01IGgtNSB0ZXh0LWJsdWUtNTAwIG1yLTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0zLjcwNy05LjI5M2ExIDEgMCAwMC0xLjQxNC0xLjQxNEw5IDEwLjU4NiA3LjcwNyA5LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMDAxLjQxNCAwbDQtNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIFByb2Zlc3Npb25hbCBDaGFydHMKICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRleHQtZ3JheS0zMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTUwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAyNC83IFN1cHBvcnQKICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXItdCBib3JkZXItZ3JheS03MDAgcHQtMyBtdC0zIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS00MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQgNGEyIDIgMCAwMC0yIDJ2NGEyIDIgMCAwMDIgMlY2aDEwYTIgMiAwIDAwLTItMkg0em0yIDZhMiAyIDAgMDEyLTJoOGEyIDIgMCAwMTIgMnY0YTIgMiAwIDAxLTIgMkg4YTIgMiAwIDAxLTItMnYtNHptNiA0YTIgMiAwIDEwMC00IDIgMiAwIDAwMCA0eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgTWluOiA8c3BhbiBjbGFzcz0idGV4dC1ibHVlLTMwMCBtbC0xIj4kMTAwPC9zcGFuPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS00MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQgNGEyIDIgMCAwMC0yIDJ2NGEyIDIgMCAwMDIgMlY2aDEwYTIgMiAwIDAwLTItMkg0em0yIDZhMiAyIDAgMDEyLTJoOGEyIDIgMCAwMTIgMnY0YTIgMiAwIDAxLTIgMkg4YTIgMiAwIDAxLTItMnYtNHptNiA0YTIgMiAwIDEwMC00IDIgMiAwIDAwMCA0eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgTWF4OiA8c3BhbiBjbGFzcz0idGV4dC1ibHVlLTMwMCBtbC0xIj4kMjUwMDA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPCEtLSBDVEEgQnV0dG9uIC0tPgogICAgICAgICAgICA8YSBocmVmPSJsb2dpbiIgY2xhc3M9ImJsb2NrIHctZnVsbCBweC00IHB5LTMgZm9udC1tZWRpdW0gdGV4dC1jZW50ZXIgdGV4dC13aGl0ZSBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEiPgogICAgICAgICAgICAgICAgU2VsZWN0IFBsYW4KICAgICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFZpc3VhbCBpbmRpY2F0b3IgZm9yIHByZW1pdW0gcGxhbnMgLS0+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icmVsYXRpdmUgZ3JvdXAiPgogICAgPCEtLSBHcmFkaWVudCBiYWNrZ3JvdW5kIGVmZmVjdCAtLT4KICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLWJsdWUtNjAwLzIwIHRvLWJsdWUtODAwLzIwIHJvdW5kZWQteGwgdHJhbnNmb3JtIHJvdGF0ZS0xIGdyb3VwLWhvdmVyOnJvdGF0ZS0wIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBvcGFjaXR5LTUwIj48L2Rpdj4KCiAgICA8IS0tIENhcmQgQ29udGVudCAtLT4KICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGJnLWdyYXktODAwIGJnLW9wYWNpdHktOTAgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBncm91cC1ob3Zlcjpib3JkZXItYmx1ZS02MDAgdHJhbnNmb3JtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBob3ZlcjpzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWJsdWUtOTAwLzIwIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICA8IS0tIENhcmQgSGVhZGVyIC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImgtMjQgYmctYmx1ZS02MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcmVsYXRpdmUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLXBhdHRlcm4gb3BhY2l0eS0xMCI+PC9kaXY+CiAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIiPlN0YW5kYXJkIHBsYW48L2gzPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFByaWNpbmcgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0icC02IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWItNiI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC00eGwgZm9udC1ib2xkIHRleHQtdHJhbnNwYXJlbnQgYmctY2xpcC10ZXh0IGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTQwMCB0by1ibHVlLTQwMCI+Mi41JTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIG1sLTEiPi8gVHJhZGU8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBGZWF0dXJlcyBMaXN0IC0tPgogICAgICAgICAgICA8dWwgY2xhc3M9InNwYWNlLXktMyBtYi04Ij4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC1ncmF5LTMwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy01IGgtNSB0ZXh0LWJsdWUtNTAwIG1yLTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0zLjcwNy05LjI5M2ExIDEgMCAwMC0xLjQxNC0xLjQxNEw5IDEwLjU4NiA3LjcwNyA5LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMDAxLjQxNCAwbDQtNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIFByaW5jaXBhbCByZXR1cm4gb24gbWF0dXJpdHkKICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRleHQtZ3JheS0zMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTUwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICBJbnN0YW50IFdpdGhkcmF3YWwKICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRleHQtZ3JheS0zMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTUwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICBQcm9mZXNzaW9uYWwgQ2hhcnRzCiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS01MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuNzA3LTkuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDkgMTAuNTg2IDcuNzA3IDkuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwMDEuNDE0IDBsNC00eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgMjQvNyBTdXBwb3J0CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLXQgYm9yZGVyLWdyYXktNzAwIHB0LTMgbXQtMyI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy01IGgtNSB0ZXh0LWJsdWUtNDAwIG1yLTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDRhMiAyIDAgMDAtMiAydjRhMiAyIDAgMDAyIDJWNmgxMGEyIDIgMCAwMC0yLTJINHptMiA2YTIgMiAwIDAxMi0yaDhhMiAyIDAgMDEyIDJ2NGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJ2LTR6bTYgNGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIE1pbjogPHNwYW4gY2xhc3M9InRleHQtYmx1ZS0zMDAgbWwtMSI+JDI1MDAwPC9zcGFuPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS00MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQgNGEyIDIgMCAwMC0yIDJ2NGEyIDIgMCAwMDIgMlY2aDEwYTIgMiAwIDAwLTItMkg0em0yIDZhMiAyIDAgMDEyLTJoOGEyIDIgMCAwMTIgMnY0YTIgMiAwIDAxLTIgMkg4YTIgMiAwIDAxLTItMnYtNHptNiA0YTIgMiAwIDEwMC00IDIgMiAwIDAwMCA0eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgTWF4OiA8c3BhbiBjbGFzcz0idGV4dC1ibHVlLTMwMCBtbC0xIj4kMTAwMDAwPC9zcGFuPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDwhLS0gQ1RBIEJ1dHRvbiAtLT4KICAgICAgICAgICAgPGEgaHJlZj0ibG9naW4iIGNsYXNzPSJibG9jayB3LWZ1bGwgcHgtNCBweS0zIGZvbnQtbWVkaXVtIHRleHQtY2VudGVyIHRleHQtd2hpdGUgYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgcm91bmRlZC1sZyBzaGFkb3ctbWQgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICAgICAgICAgIFNlbGVjdCBQbGFuCiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBWaXN1YWwgaW5kaWNhdG9yIGZvciBwcmVtaXVtIHBsYW5zIC0tPgogICAgICAgICAgICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJlbGF0aXZlIGdyb3VwIj4KICAgIDwhLS0gR3JhZGllbnQgYmFja2dyb3VuZCBlZmZlY3QgLS0+CiAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWIgZnJvbS1ibHVlLTYwMC8yMCB0by1ibHVlLTgwMC8yMCByb3VuZGVkLXhsIHRyYW5zZm9ybSByb3RhdGUtMSBncm91cC1ob3Zlcjpyb3RhdGUtMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgb3BhY2l0eS01MCI+PC9kaXY+CgogICAgPCEtLSBDYXJkIENvbnRlbnQgLS0+CiAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTkwIHJvdW5kZWQteGwgb3ZlcmZsb3ctaGlkZGVuIGJvcmRlciBib3JkZXItZ3JheS03MDAgZ3JvdXAtaG92ZXI6Ym9yZGVyLWJsdWUtNjAwIHRyYW5zZm9ybSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi01MDAgaG92ZXI6c2hhZG93LWxnIGhvdmVyOnNoYWRvdy1ibHVlLTkwMC8yMCBob3ZlcjotdHJhbnNsYXRlLXktMSI+CiAgICAgICAgPCEtLSBDYXJkIEhlYWRlciAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJoLTI0IGJnLWJsdWUtNjAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJlbGF0aXZlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1wYXR0ZXJuIG9wYWNpdHktMTAiPjwvZGl2PgogICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyIj5CdXNpbmVzcyBwbGFuPC9oMz4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBQcmljaW5nIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InAtNiB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTYiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtNHhsIGZvbnQtYm9sZCB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS00MDAgdG8tYmx1ZS00MDAiPjMuMSU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1ncmF5LTMwMCBtbC0xIj4vIFRyYWRlPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRmVhdHVyZXMgTGlzdCAtLT4KICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTMgbWItOCI+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRleHQtZ3JheS0zMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTUwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICBQcmluY2lwYWwgcmV0dXJuIG9uIG1hdHVyaXR5CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS01MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuNzA3LTkuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDkgMTAuNTg2IDcuNzA3IDkuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwMDEuNDE0IDBsNC00eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgSW5zdGFudCBXaXRoZHJhd2FsCiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS01MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuNzA3LTkuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDkgMTAuNTg2IDcuNzA3IDkuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwMDEuNDE0IDBsNC00eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgUHJvZmVzc2lvbmFsIENoYXJ0cwogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC1ncmF5LTMwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy01IGgtNSB0ZXh0LWJsdWUtNTAwIG1yLTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0zLjcwNy05LjI5M2ExIDEgMCAwMC0xLjQxNC0xLjQxNEw5IDEwLjU4NiA3LjcwNyA5LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMDAxLjQxNCAwbDQtNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDI0LzcgU3VwcG9ydAogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci10IGJvcmRlci1ncmF5LTcwMCBwdC0zIG10LTMiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTQwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNCA0YTIgMiAwIDAwLTIgMnY0YTIgMiAwIDAwMiAyVjZoMTBhMiAyIDAgMDAtMi0ySDR6bTIgNmEyIDIgMCAwMTItMmg4YTIgMiAwIDAxMiAydjRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0ydi00em02IDRhMiAyIDAgMTAwLTQgMiAyIDAgMDAwIDR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICBNaW46IDxzcGFuIGNsYXNzPSJ0ZXh0LWJsdWUtMzAwIG1sLTEiPiQxMDAwMDA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTQwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNCA0YTIgMiAwIDAwLTIgMnY0YTIgMiAwIDAwMiAyVjZoMTBhMiAyIDAgMDAtMi0ySDR6bTIgNmEyIDIgMCAwMTItMmg4YTIgMiAwIDAxMiAydjRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0ydi00em02IDRhMiAyIDAgMTAwLTQgMiAyIDAgMDAwIDR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICBNYXg6IDxzcGFuIGNsYXNzPSJ0ZXh0LWJsdWUtMzAwIG1sLTEiPiQxMDAwMDAwPC9zcGFuPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDwhLS0gQ1RBIEJ1dHRvbiAtLT4KICAgICAgICAgICAgPGEgaHJlZj0ibG9naW4iIGNsYXNzPSJibG9jayB3LWZ1bGwgcHgtNCBweS0zIGZvbnQtbWVkaXVtIHRleHQtY2VudGVyIHRleHQtd2hpdGUgYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgcm91bmRlZC1sZyBzaGFkb3ctbWQgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICAgICAgICAgIFNlbGVjdCBQbGFuCiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBWaXN1YWwgaW5kaWNhdG9yIGZvciBwcmVtaXVtIHBsYW5zIC0tPgogICAgICAgICAgICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJlbGF0aXZlIGdyb3VwIj4KICAgIDwhLS0gR3JhZGllbnQgYmFja2dyb3VuZCBlZmZlY3QgLS0+CiAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWIgZnJvbS1ibHVlLTYwMC8yMCB0by1ibHVlLTgwMC8yMCByb3VuZGVkLXhsIHRyYW5zZm9ybSByb3RhdGUtMSBncm91cC1ob3Zlcjpyb3RhdGUtMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgb3BhY2l0eS01MCI+PC9kaXY+CgogICAgPCEtLSBDYXJkIENvbnRlbnQgLS0+CiAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTkwIHJvdW5kZWQteGwgb3ZlcmZsb3ctaGlkZGVuIGJvcmRlciBib3JkZXItZ3JheS03MDAgZ3JvdXAtaG92ZXI6Ym9yZGVyLWJsdWUtNjAwIHRyYW5zZm9ybSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi01MDAgaG92ZXI6c2hhZG93LWxnIGhvdmVyOnNoYWRvdy1ibHVlLTkwMC8yMCBob3ZlcjotdHJhbnNsYXRlLXktMSI+CiAgICAgICAgPCEtLSBDYXJkIEhlYWRlciAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJoLTI0IGJnLWJsdWUtNjAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJlbGF0aXZlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1wYXR0ZXJuIG9wYWNpdHktMTAiPjwvZGl2PgogICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyIj5CYXNpYyAgUGxhbjwvaDM+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gUHJpY2luZyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJwLTYgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi02Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LTR4bCBmb250LWJvbGQgdGV4dC10cmFuc3BhcmVudCBiZy1jbGlwLXRleHQgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNDAwIHRvLWJsdWUtNDAwIj4yNSU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1ncmF5LTMwMCBtbC0xIj4vIFRyYWRlPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRmVhdHVyZXMgTGlzdCAtLT4KICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTMgbWItOCI+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRleHQtZ3JheS0zMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTUwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICBQcmluY2lwYWwgcmV0dXJuIG9uIG1hdHVyaXR5CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS01MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuNzA3LTkuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDkgMTAuNTg2IDcuNzA3IDkuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwMDEuNDE0IDBsNC00eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgSW5zdGFudCBXaXRoZHJhd2FsCiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS01MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuNzA3LTkuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDkgMTAuNTg2IDcuNzA3IDkuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwMDEuNDE0IDBsNC00eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgUHJvZmVzc2lvbmFsIENoYXJ0cwogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC1ncmF5LTMwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy01IGgtNSB0ZXh0LWJsdWUtNTAwIG1yLTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0zLjcwNy05LjI5M2ExIDEgMCAwMC0xLjQxNC0xLjQxNEw5IDEwLjU4NiA3LjcwNyA5LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMDAxLjQxNCAwbDQtNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDI0LzcgU3VwcG9ydAogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci10IGJvcmRlci1ncmF5LTcwMCBwdC0zIG10LTMiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgdGV4dC1ibHVlLTQwMCBtci0yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNCA0YTIgMiAwIDAwLTIgMnY0YTIgMiAwIDAwMiAyVjZoMTBhMiAyIDAgMDAtMi0ySDR6bTIgNmEyIDIgMCAwMTItMmg4YTIgMiAwIDAxMiAydjRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0ydi00em02IDRhMiAyIDAgMTAwLTQgMiAyIDAgMDAwIDR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICBNaW46IDxzcGFuIGNsYXNzPSJ0ZXh0LWJsdWUtMzAwIG1sLTEiPiQzMDAwPC9zcGFuPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTUgaC01IHRleHQtYmx1ZS00MDAgbXItMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQgNGEyIDIgMCAwMC0yIDJ2NGEyIDIgMCAwMDIgMlY2aDEwYTIgMiAwIDAwLTItMkg0em0yIDZhMiAyIDAgMDEyLTJoOGEyIDIgMCAwMTIgMnY0YTIgMiAwIDAxLTIgMkg4YTIgMiAwIDAxLTItMnYtNHptNiA0YTIgMiAwIDEwMC00IDIgMiAwIDAwMCA0eiIgY2xpcC1ydWxlPSJldmVub2RkIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgTWF4OiA8c3BhbiBjbGFzcz0idGV4dC1ibHVlLTMwMCBtbC0xIj4kMjk5OTk8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPCEtLSBDVEEgQnV0dG9uIC0tPgogICAgICAgICAgICA8YSBocmVmPSJsb2dpbiIgY2xhc3M9ImJsb2NrIHctZnVsbCBweC00IHB5LTMgZm9udC1tZWRpdW0gdGV4dC1jZW50ZXIgdGV4dC13aGl0ZSBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEiPgogICAgICAgICAgICAgICAgU2VsZWN0IFBsYW4KICAgICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFZpc3VhbCBpbmRpY2F0b3IgZm9yIHByZW1pdW0gcGxhbnMgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JhZGllbnQtdG8tciBmcm9tLWFtYmVyLTUwMCB0by1ibHVlLTUwMCB0ZXh0LXdoaXRlIHRleHQteHMgcHgtMyBweS0xIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1ibC1sZyByb3VuZGVkLXRyLWxnIj4KICAgICAgICAgICAgICAgIFByZW1pdW0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQWRkaXRpb25hbCBJbmZvIC0tPgogICAgICAgIDxkaXYgY2xhc3M9Im10LTEyIHAtNiBiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTcwIHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBzaGFkb3ctbGciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWQ6dy0zLzUgbWItNiBtZDptYi0wIj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMyI+TmVlZCBhIGN1c3RvbSBwbGFuPzwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS0zMDAiPk91ciB0ZWFtIGNhbiBjcmVhdGUgdGFpbG9yZWQgaW52ZXN0bWVudCBzb2x1dGlvbnMgZm9yIGluc3RpdHV0aW9uYWwgY2xpZW50cyBhbmQgaGlnaC1uZXQtd29ydGggaW5kaXZpZHVhbHMuPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImNvbnRhY3QiIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgcHgtNiBweS0zIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgdGV4dC1iYXNlIGZvbnQtbWVkaXVtIHJvdW5kZWQtbWQgdGV4dC13aGl0ZSBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS02MDAgdG8taW5kaWdvLTYwMCBob3Zlcjpmcm9tLWJsdWUtNTAwIGhvdmVyOnRvLWluZGlnby01MDAgc2hhZG93LWxnIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjotdHJhbnNsYXRlLXktMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgT3VyIFRlYW0KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibWwtMiAtbXItMSB3LTUgaC01IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0xNCA1bDcgN20wIDBsLTcgN203LTdIMyIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPCEtLSBFbmQgUHJpY2luZyBTZWN0aW9uIC0tPgoKCgoKCgoKCgoKPCEtLSBFeHBlcnQgU3VwcG9ydCBTZWN0aW9uIC0tPgo8c2VjdGlvbiBjbGFzcz0icHktMTYgYmctZGFyay00MDAiPgogICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiPgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTIgZ2FwLTEwIj4KICAgICAgICAgICAgPCEtLSBDaGFydCBXaWRnZXQgLS0+CiAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZGFyay0zMDAgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyIGJvcmRlci1ncmF5LTgwMCBzaGFkb3ctbGciPgogICAgPGRpdiBjbGFzcz0idy1mdWxsIGgtWzQwMHB4XSI+CiAgICAgICAgPGlmcmFtZQogICAgICAgICAgICBzcmM9Imh0dHBzOi8vd2lkZ2V0LmNvaW5saWIuaW8vd2lkZ2V0P3R5cGU9Y2hhcnQmdGhlbWU9ZGFyayZjb2luX2lkPTg1OSZwcmVmX2NvaW5faWQ9MTUwNSIKICAgICAgICAgICAgc2Nyb2xsaW5nPSJhdXRvIgogICAgICAgICAgICBtYXJnaW53aWR0aD0iMCIKICAgICAgICAgICAgbWFyZ2luaGVpZ2h0PSIwIgogICAgICAgICAgICBmcmFtZWJvcmRlcj0iMCIKICAgICAgICAgICAgY2xhc3M9InctZnVsbCBoLWZ1bGwgYm9yZGVyLTAiPgogICAgICAgIDwvaWZyYW1lPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwLTIgdGV4dC1yaWdodCB0ZXh0LXhzIHRleHQtZ3JlZW4tNTAwIj4KICAgICAgICA8YSBocmVmPSJodHRwczovL2NvaW5saWIuaW8iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iaG92ZXI6dW5kZXJsaW5lIj5DcnlwdG9jdXJyZW5jeSBQcmljZXMgYnkgQ29pbmxpYjwvYT4KICAgIDwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRXhwZXJ0IFN1cHBvcnQgQ29udGVudCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2UteS04Ij4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0yIGZsZXggaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1oZWFkc2V0IHRleHQtcHJpbWFyeSBtci0zIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgIFNUQVkgVVAgVE8gREFURSBXSVRIIE9VUiBFWFBFUlRTCiAgICAgICAgICAgICAgICAgICAgPC9oMj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoLTEgdy0yMCBiZy1wcmltYXJ5IG15LTQiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGxlYWRpbmctcmVsYXhlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIE91ciBsb2NhbCBhbmQgaW50ZXJuYXRpb25hbCB0ZWFtcyBhcmUgaGVyZSB0byBzdXBwb3J0IHlvdSBvbiBhIDI0LzUgYmFzaXMgaW4gbW9yZSB0aGFuIDIwIGxhbmd1YWdlcywgd2hpbGUgb3VyIHdpZGUgcmFuZ2Ugb2YgcGF5bWVudCBtZXRob2RzIGdpdmVzIHlvdSBncmVhdGVyIGZsZXhpYmlsaXR5IHdoZW4gaXQgY29tZXMgdG8gZGVwb3NpdHMgYW5kIHdpdGhkcmF3YWxzLgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWRhcmstMzAwIHJvdW5kZWQtbGcgcC02IGJvcmRlciBib3JkZXItZ3JheS04MDAiPgogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0zIGZsZXggaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1zdGFyIHRleHQteWVsbG93LTQwMCBtci0zIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgIEV4cGVyaWVuY2UgTW9yZSBUaGFuIFRyYWRpbmcKICAgICAgICAgICAgICAgICAgICA8L2gyPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIGxlYWRpbmctcmVsYXhlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIE91ciBzdWNjZXNzIGlzIGNlbnRyZWQgYXJvdW5kIGEgbnVtYmVyIG9mIGNvcmUgdmFsdWVzLiBUaGV5IGluY2x1ZGUgcHJvdmlkaW5nIGNvbXBldGl0aXZlIGJyb2tlcmFnZSBmZWVzIHRocm91Z2ggdGlnaHQgc3ByZWFkcywgZW5zdXJpbmcgbGlnaHRuaW5nLWZhc3QgZXhlY3V0aW9uLCBhY2Nlc3MgdG8gYWR2YW5jZWQgdHJhZGluZyBwbGF0Zm9ybXMgd2l0aCBhIHdpZGUgcmFuZ2Ugb2YgcHJvZHVjdHMsIGFuZCBleGNlcHRpb25hbCBjdXN0b21lciBzZXJ2aWNlLgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxvZ2luIiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHB4LTUgcHktMiBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHRleHQtYmFzZSBmb250LW1lZGl1bSByb3VuZGVkLW1kIHRleHQtZ3JheS0zMDAgaG92ZXI6dGV4dC13aGl0ZSBob3Zlcjpib3JkZXItcHJpbWFyeSB0cmFuc2l0aW9uIGR1cmF0aW9uLTE1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZWFybiBhYm91dCBvdXIgY29tbWlzc2lvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQgbWwtMiI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIFRyYWRpbmcgRmVhdHVyZXMgU2VjdGlvbiAtLT4KPHNlY3Rpb24gY2xhc3M9InB5LTE2IGJnLWdyYWRpZW50LXRvLWIgZnJvbS1kYXJrLTMwMCB0by1kYXJrLTQwMCI+CiAgICA8ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWItMTIgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWJsb2NrIHB4LTQgcHktMSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1ibHVlLTQwMCB1cHBlcmNhc2UgYmctYmx1ZS05MDAgYmctb3BhY2l0eS03MCByb3VuZGVkLWZ1bGwgc2hhZG93LWxnIj4KICAgICAgICAgICAgICAgIFBsYXRmb3JtIEZlYXR1cmVzCiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJtdC0zIHRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS00MDAgdG8tYmx1ZS00MDAiPkFkdmFuY2VkIFRyYWRpbmcgVG9vbHM8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0ibXQtMyB0ZXh0LWdyYXktMzAwIG1heC13LTJ4bCBteC1hdXRvIj5PdXIgcGxhdGZvcm0gcHJvdmlkZXMgZXZlcnl0aGluZyB5b3UgbmVlZCBmb3Igc3VjY2Vzc2Z1bCB0cmFkaW5nIGluIG9uZSBwb3dlcmZ1bCBpbnRlcmZhY2U8L3A+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgc206Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTQgZ2FwLTgiPgogICAgICAgICAgICA8IS0tIEZlYXR1cmUgMSAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JheS04MDAgYmctb3BhY2l0eS04MCBwLTYgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGhvdmVyOmJvcmRlci1ibHVlLTUwMCBzaGFkb3ctbGcgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIGhvdmVyOnNoYWRvdy1ibHVlLTkwMC8yMCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTE2IGgtMTYgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTYwMCB0by1pbmRpZ28tNzAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtYi00IHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1ib2x0IHRleHQtd2hpdGUgdGV4dC14bCI+PC9pPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMyI+UmVsaWFibGUgPHNwYW4gY2xhc3M9InRleHQtYmx1ZS00MDAiPkV4ZWN1dGlvbjwvc3Bhbj48L2gzPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS0zMDAiPgogICAgICAgICAgICAgICAgICAgIEZlYXR1cmluZyB0aGUgbWFya2V0J3Mgc2hhcnBlc3QgZXhlY3V0aW9uLCB0cnVzdCB3ZWFsdGggYXZlbnVlIGNUcmFkZXIgZmlsbHMgeW91ciBvcmRlcnMgaW4gbWlsbGlzZWNvbmRzIHdpdGhvdXQgYW55IHJlcXVvdGVzIG9yIHByaWNlIG1hbmlwdWxhdGlvbi4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIEZlYXR1cmUgMiAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JheS04MDAgYmctb3BhY2l0eS04MCBwLTYgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGhvdmVyOmJvcmRlci1ibHVlLTUwMCBzaGFkb3ctbGcgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIGhvdmVyOnNoYWRvdy1ibHVlLTkwMC8yMCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTE2IGgtMTYgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1pbmRpZ28tNjAwIHRvLWJsdWUtNzAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtYi00IHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jaGFydC1saW5lIHRleHQtd2hpdGUgdGV4dC14bCI+PC9pPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMyI+SW50ZWxsaWdlbnQgPHNwYW4gY2xhc3M9InRleHQtaW5kaWdvLTQwMCI+QW5hbHlzaXM8L3NwYW4+PC9oMz4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIj4KICAgICAgICAgICAgICAgICAgICBNYWtlIGluZm9ybWVkIGRlY2lzaW9ucyB3aXRoIHNtYXJ0IG1hcmtldCBhbmFseXNpcyB0b29scywgTGl2ZSBTZW50aW1lbnQgZGF0YSBhbmQgaW4tcGxhdGZvcm0gbWFya2V0IGluc2lnaHRzIGZyb20gVHJhZGluZyBDZW50cmFsLgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRmVhdHVyZSAzIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTgwIHAtNiByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItZ3JheS03MDAgaG92ZXI6Ym9yZGVyLWJsdWUtNTAwIHNoYWRvdy1sZyB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEgaG92ZXI6c2hhZG93LWJsdWUtOTAwLzIwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctMTYgaC0xNiBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNTAwIHRvLWN5YW4tNjAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtYi00IHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1zZWFyY2gtZG9sbGFyIHRleHQtd2hpdGUgdGV4dC14bCI+PC9pPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMyI+VHJhbnNwYXJlbnQgPHNwYW4gY2xhc3M9InRleHQtY3lhbi00MDAiPlJlcG9ydGluZzwvc3Bhbj48L2gzPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS0zMDAiPgogICAgICAgICAgICAgICAgICAgIEFjY2VzcyB0cmFuc2FjdGlvbiBzdGF0aXN0aWNzLCBlcXVpdHkgY2hhcnRzIGFuZCBkZXRhaWxlZCBoaXN0b3J5IG9mIHlvdXIgZGVhbHMgZm9yIGEgY3J5c3RhbCBjbGVhciB1bmRlcnN0YW5kaW5nIG9mIHlvdXIgcGVyZm9ybWFuY2UuCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBGZWF0dXJlIDQgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktODAwIGJnLW9wYWNpdHktODAgcC02IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBob3Zlcjpib3JkZXItYmx1ZS01MDAgc2hhZG93LWxnIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjotdHJhbnNsYXRlLXktMSBob3ZlcjpzaGFkb3ctYmx1ZS05MDAvMjAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xNiBoLTE2IGJnLWdyYWRpZW50LXRvLWJyIGZyb20tdGVhbC02MDAgdG8tZ3JlZW4tNzAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtYi00IHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1kZXNrdG9wIHRleHQtd2hpdGUgdGV4dC14bCI+PC9pPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMyI+SW50dWl0aXZlIDxzcGFuIGNsYXNzPSJ0ZXh0LXRlYWwtNDAwIj5JbnRlcmZhY2U8L3NwYW4+PC9oMz4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIj4KICAgICAgICAgICAgICAgICAgICBFYXN5IHRvIHVzZSBhbmQgbmF2aWdhdGUsIHRydXN0IHdlYWx0aCBhdmVudWUgY1RyYWRlciB3YXMgYnVpbHQgd2l0aCByZWFsIHRyYWRlcnMnIG5lZWRzIGluIG1pbmQuIFRyYWRlIHdpdGggdHJ1c3Qgd2VhbHRoIGF2ZW51ZSBjVHJhZGVyIGFuZCBleHBlcmllbmNlIGl0cyBkaXN0aW5jdCBhZHZhbnRhZ2UuCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KCgoKCgoKCjwhLS0gVHJ1c3RlZCBCcmFuZCBTZWN0aW9uIC0tPgo8c2VjdGlvbiBjbGFzcz0icHktMTYgYmctZ3JheS05MDAiPgogICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiPgogICAgICAgIDxkaXYgY2xhc3M9Im1iLTEyIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1ibG9jayBweC00IHB5LTEgdGV4dC1zbSBmb250LXNlbWlib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtYmx1ZS00MDAgdXBwZXJjYXNlIGJnLWJsdWUtOTAwIGJnLW9wYWNpdHktNzAgcm91bmRlZC1mdWxsIHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICBHbG9iYWwgVHJ1c3QKICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8aDIgY2xhc3M9Im10LTMgdGV4dC0zeGwgZm9udC1ib2xkIHRleHQtd2hpdGUiPldoeSA8c3BhbiBjbGFzcz0idGV4dC10cmFuc3BhcmVudCBiZy1jbGlwLXRleHQgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNDAwIHRvLWJsdWUtNjAwIj50cnVzdCB3ZWFsdGggYXZlbnVlPC9zcGFuPiBJcyBPbmUgb2YgdGhlIFdvcmxkJ3MgTW9zdCBUcnVzdGVkIEJyYW5kczwvaDI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJtdC0zIHRleHQtZ3JheS0zMDAgbWF4LXctMnhsIG14LWF1dG8iPkV4cGVyaWVuY2UgdGhlIHJlbGlhYmlsaXR5IGFuZCBzZWN1cml0eSB0aGF0IG91ciBnbG9iYWwgY2xpZW50cyBoYXZlIGNvbWUgdG8gdHJ1c3Q8L3A+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTIgZ2FwLTEwIGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IENvbnRhaW5lciAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JheS04MDAgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBzaGFkb3cteGwgdHJhbnNmb3JtIHRyYW5zaXRpb24gZHVyYXRpb24tNTAwIGhvdmVyOnNoYWRvdy1ibHVlLTkwMC8yMCIgeC1kYXRhPSJ7fSIgeC1pbml0PSJzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICAgIG5ldyBUcmFkaW5nVmlldy53aWRnZXQoewogICAgICAgICAgICAgICAgICAgICdjb250YWluZXJfaWQnOiAnZm9yZXhfaGVhdF9tYXAnLAogICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICcxMDAlJywKICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogNDAwLAogICAgICAgICAgICAgICAgICAgICdjdXJyZW5jaWVzJzogWydFVVInLCAnVVNEJywgJ0pQWScsICdHQlAnLCAnQ0hGJywgJ0FVRCcsICdDQUQnLCAnTlpEJywgJ0NOWSddLAogICAgICAgICAgICAgICAgICAgICdpc1RyYW5zcGFyZW50JzogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnY29sb3JUaGVtZSc6ICdkYXJrJywKICAgICAgICAgICAgICAgICAgICAnbG9jYWxlJzogJ2VuJwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0sIDEwMCkiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC00IGJnLWdyYXktODAwIGJvcmRlci1iIGJvcmRlci1ncmF5LTcwMCI+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSI+UmVhbC1UaW1lIE1hcmtldCBBbmFseXNpczwvaDM+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPgogICAgICAgICAgICAgICAgPGRpdiBpZD0iZm9yZXhfaGVhdF9tYXAiIGNsYXNzPSJ3LWZ1bGwgaC05NiBiZy1ncmF5LTgwMCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJweS0yIHB4LTQgdGV4dC1yaWdodCB0ZXh0LXhzIHRleHQtYmx1ZS00MDAgYmctZ3JheS04MDAiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS9tYXJrZXRzL2N1cnJlbmNpZXMvZm9yZXgtaGVhdC1tYXAvIiByZWw9Im5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImhvdmVyOnVuZGVybGluZSI+Rm9yZXggSGVhdCBNYXAgYnkgVHJhZGluZ1ZpZXc8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEVORCAtLT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtZm9yZXgtaGVhdC1tYXAuanMiIGFzeW5jPjwvc2NyaXB0PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gVHJ1c3QgRmVhdHVyZXMgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktODAwIHJvdW5kZWQteGwgb3ZlcmZsb3ctaGlkZGVuIGJvcmRlciBib3JkZXItZ3JheS03MDAgc2hhZG93LXhsIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjotdHJhbnNsYXRlLXktMSBob3ZlcjpzaGFkb3ctYmx1ZS05MDAvMjAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC02Ij4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNiBib3JkZXItYiBib3JkZXItZ3JheS03MDAgcGItMyI+T3VyIFRydXN0ZWQgUmVwdXRhdGlvbjwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC1zaHJpbmstMCBtdC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy04IGgtOCByb3VuZGVkLWZ1bGwgYmctYmx1ZS02MDAgYmctb3BhY2l0eS0yMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtY2hlY2sgdGV4dC1ibHVlLTQwMCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtbWVkaXVtIj5HbG9iYWxseSBSZWd1bGF0ZWQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtc20gbXQtMSI+T3BlcmF0aW5nIHVuZGVyIHN0cmljdCBmaW5hbmNpYWwgcmVndWxhdGlvbnMgdG8gZW5zdXJlIG1heGltdW0gc2VjdXJpdHkgZm9yIHlvdXIgYXNzZXRzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4LXNocmluay0wIG10LTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTggaC04IHJvdW5kZWQtZnVsbCBiZy1ibHVlLTYwMCBiZy1vcGFjaXR5LTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS10cm9waHkgdGV4dC1ibHVlLTQwMCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtbWVkaXVtIj40MCsgSW50ZXJuYXRpb25hbCBBd2FyZHM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtc20gbXQtMSI+UmVjb2duaXRpb24gZm9yIGV4Y2VsbGVuY2UgaW4gdHJhZGluZyBzZXJ2aWNlcywgcGxhdGZvcm0gdGVjaG5vbG9neSBhbmQgY3VzdG9tZXIgc3VwcG9ydDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC1zaHJpbmstMCBtdC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy04IGgtOCByb3VuZGVkLWZ1bGwgYmctYmx1ZS02MDAgYmctb3BhY2l0eS0yMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtaGVhZHNldCB0ZXh0LWJsdWUtNDAwIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtd2hpdGUgZm9udC1tZWRpdW0iPjI0LzcgTXVsdGlsaW5ndWFsIFN1cHBvcnQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtc20gbXQtMSI+RXhwZXJ0IGFzc2lzdGFuY2UgYXZhaWxhYmxlIGFyb3VuZCB0aGUgY2xvY2sgaW4gbXVsdGlwbGUgbGFuZ3VhZ2VzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4LXNocmluay0wIG10LTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTggaC04IHJvdW5kZWQtZnVsbCBiZy1ibHVlLTYwMCBiZy1vcGFjaXR5LTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1zaGllbGQtYWx0IHRleHQtYmx1ZS00MDAiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSBmb250LW1lZGl1bSI+U2VncmVnYXRlZCBDbGllbnQgRnVuZHM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtc20gbXQtMSI+WW91ciBpbnZlc3RtZW50cyBhcmUga2VwdCBpbiBzZXBhcmF0ZSBhY2NvdW50cyBmb3IgbWF4aW11bSBzZWN1cml0eTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC1zaHJpbmstMCBtdC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy04IGgtOCByb3VuZGVkLWZ1bGwgYmctYmx1ZS02MDAgYmctb3BhY2l0eS0yMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtdXNlci10aWUgdGV4dC1ibHVlLTQwMCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtbWVkaXVtIj5QZXJzb25hbCBBY2NvdW50IE1hbmFnZXJzPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTQwMCB0ZXh0LXNtIG10LTEiPkRlZGljYXRlZCBwcm9mZXNzaW9uYWxzIHRvIGd1aWRlIHlvdXIgdHJhZGluZyBqb3VybmV5PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC04IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibG9naW4iIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgcHgtNiBweS0zIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgdGV4dC1iYXNlIGZvbnQtbWVkaXVtIHJvdW5kZWQtbWQgdGV4dC13aGl0ZSBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCBzaGFkb3ctbGcgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIExlYXJuIE1vcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im1sLTIgLW1yLTEgdy01IGgtNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE0IDVsNyA3bTAgMGwtNyA3bTctN0gzIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+CgoKCgoKCgoKCgoKCjwhLS0gSG93IEl0IFdvcmtzIFNlY3Rpb24gLS0+CjxzZWN0aW9uIGNsYXNzPSJweS0xNiBiZy1ncmF5LTkwMCI+CiAgICA8ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWItMTIgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWJsb2NrIHB4LTQgcHktMSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1ibHVlLTQwMCB1cHBlcmNhc2UgYmctYmx1ZS05MDAgYmctb3BhY2l0eS03MCByb3VuZGVkLWZ1bGwgc2hhZG93LWxnIj4KICAgICAgICAgICAgICAgIFNpbXBsZSBQcm9jZXNzCiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJtdC0zIHRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS00MDAgdG8tYmx1ZS02MDAiPkhvdyBJdCBXb3JrczwvaDI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJtdC0zIHRleHQtZ3JheS0zMDAgbWF4LXctMnhsIG14LWF1dG8iPkdldCBzdGFydGVkIHdpdGggdHJhZGluZyBpbiB0aHJlZSBzaW1wbGUgc3RlcHM8L3A+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTgiPgogICAgICAgICAgICA8IS0tIFN0ZXAgMSAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgZ3JvdXAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iIGZyb20tYmx1ZS02MDAvMjAgdG8tYmx1ZS04MDAvMjAgcm91bmRlZC14bCB0cmFuc2Zvcm0gcm90YXRlLTEgZ3JvdXAtaG92ZXI6cm90YXRlLTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIG9wYWNpdHktNTAiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgYmctZ3JheS04MDAgYmctb3BhY2l0eS05MCByb3VuZGVkLXhsIHAtOCBzaGFkb3ctbGcgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBncm91cC1ob3Zlcjpib3JkZXItYmx1ZS02MDAgdHJhbnNmb3JtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBob3ZlcjpzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWJsdWUtOTAwLzIwIGhvdmVyOi10cmFuc2xhdGUteS0yIGgtZnVsbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWNlbnRlciBtYi02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0yMCBoLTIwIGJnLWJsdWUtNjAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlIHRleHQtMnhsIGZvbnQtYm9sZCBzaGFkb3ctbGciPjE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyIHRleHQtd2hpdGUgbWItMyI+RGVwb3NpdDwvaDM+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWNlbnRlciBtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaC0xIHctMjAgYmctYmx1ZS01MDAgbXgtYXV0byI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS0zMDAgdGV4dC1jZW50ZXIgbWItOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIE9wZW4gcmVhbCBhY2NvdW50IGFuZCBhZGQgZnVuZHMuIFdlIHdvcmsgd2l0aCBtb3JlIHRoYW4gMjAgcGF5bWVudCBzeXN0ZW1zIGZvciB5b3VyIGNvbnZlbmllbmNlLgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC1hdXRvIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0icmVnaXN0ZXIiIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgcHgtNiBweS0zIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgdGV4dC1iYXNlIGZvbnQtbWVkaXVtIHJvdW5kZWQtbWQgdGV4dC13aGl0ZSBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCBzaGFkb3ctbGcgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldCBTdGFydGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUgbWwtMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2U9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0xMyA3bDUgNW0wIDBsLTUgNW01LTVINiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIFN0ZXAgMiAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgZ3JvdXAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iIGZyb20tYmx1ZS02MDAvMjAgdG8tYmx1ZS04MDAvMjAgcm91bmRlZC14bCB0cmFuc2Zvcm0gcm90YXRlLTEgZ3JvdXAtaG92ZXI6cm90YXRlLTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIG9wYWNpdHktNTAiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgYmctZ3JheS04MDAgYmctb3BhY2l0eS05MCByb3VuZGVkLXhsIHAtOCBzaGFkb3ctbGcgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBncm91cC1ob3Zlcjpib3JkZXItYmx1ZS02MDAgdHJhbnNmb3JtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBob3ZlcjpzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWJsdWUtOTAwLzIwIGhvdmVyOi10cmFuc2xhdGUteS0yIGgtZnVsbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWNlbnRlciBtYi02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0yMCBoLTIwIGJnLWJsdWUtNjAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlIHRleHQtMnhsIGZvbnQtYm9sZCBzaGFkb3ctbGciPjI8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyIHRleHQtd2hpdGUgbWItMyI+VHJhZGU8L2gzPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1jZW50ZXIgbWItNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImgtMSB3LTIwIGJnLWJsdWUtNTAwIG14LWF1dG8iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIHRleHQtY2VudGVyIG1iLTgiPgogICAgICAgICAgICAgICAgICAgICAgICBUcmFkZSBhbnkgb2YgMTAwIGFzc2V0cyBhbmQgc3RvY2tzLiBVc2UgdGVjaG5pY2FsIGFuYWx5c2lzIGFuZCB0cmFkZSB0aGUgbmV3cyBmb3IgYmV0dGVyIHJlc3VsdHMuCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LWF1dG8gdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsb2dpbiIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC02IHB5LTMgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LWJhc2UgZm9udC1tZWRpdW0gcm91bmRlZC1tZCB0ZXh0LXdoaXRlIGJnLWJsdWUtNjAwIGhvdmVyOmJnLWJsdWUtNzAwIHNoYWRvdy1sZyB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhwbG9yZSBNYXJrZXRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUgbWwtMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2U9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0xMyA3bDUgNW0wIDBsLTUgNW01LTVINiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIFN0ZXAgMyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgZ3JvdXAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iIGZyb20tYmx1ZS02MDAvMjAgdG8tYmx1ZS04MDAvMjAgcm91bmRlZC14bCB0cmFuc2Zvcm0gcm90YXRlLTEgZ3JvdXAtaG92ZXI6cm90YXRlLTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIG9wYWNpdHktNTAiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgYmctZ3JheS04MDAgYmctb3BhY2l0eS05MCByb3VuZGVkLXhsIHAtOCBzaGFkb3ctbGcgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBncm91cC1ob3Zlcjpib3JkZXItYmx1ZS02MDAgdHJhbnNmb3JtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBob3ZlcjpzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWJsdWUtOTAwLzIwIGhvdmVyOi10cmFuc2xhdGUteS0yIGgtZnVsbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWNlbnRlciBtYi02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0yMCBoLTIwIGJnLWJsdWUtNjAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlIHRleHQtMnhsIGZvbnQtYm9sZCBzaGFkb3ctbGciPjM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyIHRleHQtd2hpdGUgbWItMyI+V2l0aGRyYXc8L2gzPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1jZW50ZXIgbWItNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImgtMSB3LTIwIGJnLWJsdWUtNTAwIG14LWF1dG8iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIHRleHQtY2VudGVyIG1iLTgiPgogICAgICAgICAgICAgICAgICAgICAgICBHZXQgZnVuZHMgZWFzaWx5IHRvIHlvdXIgYmFuayBjYXJkIG9yIGUtd2FsbGV0IHdpdGggb3VyIGZhc3QgYW5kIHNlY3VyZSB3aXRoZHJhd2FsIHByb2Nlc3MuCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LWF1dG8gdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsb2dpbiIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC02IHB5LTMgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LWJhc2UgZm9udC1tZWRpdW0gcm91bmRlZC1tZCB0ZXh0LXdoaXRlIGJnLWJsdWUtNjAwIGhvdmVyOmJnLWJsdWUtNzAwIHNoYWRvdy1sZyB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVhcm4gTW9yZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IG1sLTIiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTMgN2w1IDVtMCAwbC01IDVtNS01SDYiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KCgoKCgoKCgoKCgoKCgoKPCEtLSBQcmVtaXVtIFRyYWRpbmcgRXhwZXJpZW5jZSBTZWN0aW9uIC0tPgo8c2VjdGlvbiBjbGFzcz0icHktMTYgYmctZ3JheS05MDAiPgogICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiPgogICAgICAgIDxkaXYgY2xhc3M9Im1iLTEyIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1ibG9jayBweC00IHB5LTEgdGV4dC1zbSBmb250LXNlbWlib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtYmx1ZS00MDAgdXBwZXJjYXNlIGJnLWJsdWUtOTAwIGJnLW9wYWNpdHktNzAgcm91bmRlZC1mdWxsIHNoYWRvdy1sZyI+CiAgICAgICAgICAgICAgICBGcmVlZG9tIHRvIFRyYWRlCiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJtdC0zIHRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS00MDAgdG8tYmx1ZS02MDAiPlRyYWRlIFdoYXQgWW91IFdhbnQsIFdoZW4gWW91IFdhbnQ8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0ibXQtMyB0ZXh0LWdyYXktMzAwIG1heC13LTJ4bCBteC1hdXRvIj5FeHBlcmllbmNlIHVubGltaXRlZCB0cmFkaW5nIHBvc3NpYmlsaXRpZXMgd2l0aCBvdXIgY29tcHJlaGVuc2l2ZSBwbGF0Zm9ybTwvcD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMiBnYXAtMTAgaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgPCEtLSBMZWZ0OiBJbWFnZSBDb2x1bW4gLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGdyb3VwIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLXhsIHNoYWRvdy0yeGwiIHgtZGF0YT0ie30iIHgtaW5pdD0ic2V0VGltZW91dCgoKSA9PiB7ICRlbC5jbGFzc0xpc3QuYWRkKCdvcGFjaXR5LTEwMCcpOyAkZWwuY2xhc3NMaXN0LnJlbW92ZSgnb3BhY2l0eS0wJyk7IH0sIDEwMCkiIGNsYXNzPSJvcGFjaXR5LTAgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTcwMCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTYwMC8yMCB0by1ibHVlLTkwMC8yMCByb3VuZGVkLXhsIHRyYW5zZm9ybSByb3RhdGUtMSBncm91cC1ob3Zlcjpyb3RhdGUtMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgb3BhY2l0eS03MCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0idGVtcC9jdXN0b20vaW1nL2NvbW1pc3Npb24tc2NoZW1lLWNyeXB0MXQxLnBuZyIgYWx0PSJUcmFkaW5nIENvbW1pc3Npb24gU2NoZW1lIiBjbGFzcz0icmVsYXRpdmUgei0xMCByb3VuZGVkLXhsIHctZnVsbCB0cmFuc2Zvcm0gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tNTAwIGdyb3VwLWhvdmVyOnNjYWxlLTEwNSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBiZy1ncmFkaWVudC10by10IGZyb20tZ3JheS05MDAgcC00Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LWJsdWUtMzAwIHRleHQtY2VudGVyIj5Db21wZXRpdGl2ZSBjb21taXNzaW9uIHN0cnVjdHVyZSBmb3IgYWxsIHRyYWRlcnM8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIFJpZ2h0OiBDb250ZW50IENvbHVtbiAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JheS04MDAgYmctb3BhY2l0eS04MCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItZ3JheS03MDAgaG92ZXI6Ym9yZGVyLWJsdWUtNjAwIHAtOCBzaGFkb3cteGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjotdHJhbnNsYXRlLXktMSBob3ZlcjpzaGFkb3ctYmx1ZS05MDAvMjAiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS00MDAgdG8tYmx1ZS02MDAgbWItNCI+UHJlbWl1bSBUcmFkaW5nIEV4cGVyaWVuY2U8L2gzPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS0zMDAgbWItNiBsZWFkaW5nLXJlbGF4ZWQiPgogICAgICAgICAgICAgICAgICAgIE9uZSBvZiB0aGUgcHJpbWFyeSBnb2FscyBvZiB0cnVzdCB3ZWFsdGggYXZlbnVlIGlzIHRvIHByb3ZpZGUgdGhlIGJlc3QgcHJvZHVjdCBpbiB0aGUgbWFya2V0LiBPdXIgcmVsYXRpb25zaGlwcyB3aXRoIGxlYWRpbmcgdGllciBvbmUgZmluYW5jaWFsIGluc3RpdHV0aW9ucyBtZWFuIGRlZXAgbGlxdWlkaXR5IGFuZCB0aWdodGVyIHNwcmVhZHMgZm9yIEZvcmV4IHRyYWRlcnMuCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZS15LTQgbWItNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgtc2hyaW5rLTAgbXQtMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy02IGgtNiByb3VuZGVkLWZ1bGwgYmctYmx1ZS02MDAgYmctb3BhY2l0eS0yMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jaGVjayB0ZXh0LWJsdWUtNDAwIHRleHQtc20iPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtbC0zIHRleHQtZ3JheS0zMDAiPlRyYWRlIEZvcmV4LCBJbmRpY2VzLCBTaGFyZXMgJiBDb21tb2RpdGllczwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC1zaHJpbmstMCBtdC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTYgaC02IHJvdW5kZWQtZnVsbCBiZy1ibHVlLTYwMCBiZy1vcGFjaXR5LTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWNoZWNrIHRleHQtYmx1ZS00MDAgdGV4dC1zbSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Im1sLTMgdGV4dC1ncmF5LTMwMCI+QWNjZXNzIGdsb2JhbCBtYXJrZXRzIDI0IGhvdXJzIC8gNyBkYXlzPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4LXNocmluay0wIG10LTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctNiBoLTYgcm91bmRlZC1mdWxsIGJnLWJsdWUtNjAwIGJnLW9wYWNpdHktMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtY2hlY2sgdGV4dC1ibHVlLTQwMCB0ZXh0LXNtIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibWwtMyB0ZXh0LWdyYXktMzAwIj5NdWx0aWxpbmd1YWwgY3VzdG9tZXIgc3VwcG9ydDwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC1zaHJpbmstMCBtdC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTYgaC02IHJvdW5kZWQtZnVsbCBiZy1ibHVlLTYwMCBiZy1vcGFjaXR5LTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWNoZWNrIHRleHQtYmx1ZS00MDAgdGV4dC1zbSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Im1sLTMgdGV4dC1ncmF5LTMwMCI+VHJhZGUgb24gdGhlIGdvIG9uIG91ciBtb2JpbGUgYXBwczwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtNiI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibG9naW4iIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgcHgtNiBweS0zIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgdGV4dC1iYXNlIGZvbnQtbWVkaXVtIHJvdW5kZWQtbWQgdGV4dC13aGl0ZSBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCBzaGFkb3ctbGcgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgTGVhcm4gQWJvdXQgT3VyIENvbW1pc3Npb25zCiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSBtbC0yIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTMgN2w1IDVtMCAwbC01IDVtNS01SDYiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIFRyYWRpbmcgU2VydmljZXMgU2VjdGlvbiAtLT4KPHNlY3Rpb24gY2xhc3M9InB5LTE2IGJnLWdyYXktODAwIj4KICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYi0xMiB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtYmxvY2sgcHgtNCBweS0xIHRleHQtc20gZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWJsdWUtNDAwIHVwcGVyY2FzZSBiZy1ibHVlLTkwMCBiZy1vcGFjaXR5LTcwIHJvdW5kZWQtZnVsbCBzaGFkb3ctbGciPgogICAgICAgICAgICAgICAgQ29tcHJlaGVuc2l2ZSBTZXJ2aWNlcwogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxoMiBjbGFzcz0ibXQtMyB0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC10cmFuc3BhcmVudCBiZy1jbGlwLXRleHQgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNDAwIHRvLWJsdWUtNjAwIj5TdGFydCBUcmFkaW5nIHdpdGggdHJ1c3Qgd2VhbHRoIGF2ZW51ZTwvaDI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJtdC0zIHRleHQtZ3JheS0zMDAgbWF4LXctMnhsIG14LWF1dG8iPkV2ZXJ5dGhpbmcgeW91IG5lZWQgZm9yIHN1Y2Nlc3NmdWwgdHJhZGluZyBpbiBvbmUgcGxhdGZvcm08L3A+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTgiPgogICAgICAgICAgICA8IS0tIE1hcmtldCBBbmFseXNpcyBDYXJkIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTgwIHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBob3Zlcjpib3JkZXItYmx1ZS02MDAgcC02IHNoYWRvdy1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS0xIGhvdmVyOnNoYWRvdy1ibHVlLTkwMC8yMCBoLWZ1bGwiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xNCBoLTE0IGJnLWJsdWUtNjAwIGJnLW9wYWNpdHktMjAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1iLTQiPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtY2hhcnQtbGluZSB0ZXh0LWJsdWUtNDAwIHRleHQteGwiPjwvaT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQiPk1hcmtldCBBbmFseXNpczwvaDM+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InNwYWNlLXktMyB0ZXh0LWdyYXktMzAwIj4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleC1zaHJpbmstMCB0ZXh0LWJsdWUtNDAwIG1yLTIiPsOi4oKswqI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkRhaWx5IE1hcmtldCBBbmFseXNpczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4LXNocmluay0wIHRleHQtYmx1ZS00MDAgbXItMiI+w6LigqzCojwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+V2Vla2x5IExpdmUgV2ViaW5hcnM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleC1zaHJpbmstMCB0ZXh0LWJsdWUtNDAwIG1yLTIiPsOi4oKswqI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkxpdmUgUSAmIEEgU2Vzc2lvbnM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleC1zaHJpbmstMCB0ZXh0LWJsdWUtNDAwIG1yLTIiPsOi4oKswqI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlRyYWRpbmcgU3RyYXRlZ3kgU3VwcG9ydDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIEF3YXJkLVdpbm5pbmcgQnJva2VyIENhcmQgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktODAwIGJnLW9wYWNpdHktODAgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGhvdmVyOmJvcmRlci1ibHVlLTYwMCBwLTYgc2hhZG93LWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEgaG92ZXI6c2hhZG93LWJsdWUtOTAwLzIwIGgtZnVsbCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTE0IGgtMTQgYmctYmx1ZS02MDAgYmctb3BhY2l0eS0yMCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWItNCI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS10cm9waHkgdGV4dC1ibHVlLTQwMCB0ZXh0LXhsIj48L2k+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00Ij5Bd2FyZC1XaW5uaW5nIEJyb2tlcjwvaDM+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InNwYWNlLXktMyB0ZXh0LWdyYXktMzAwIj4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleC1zaHJpbmstMCB0ZXh0LWJsdWUtNDAwIG1yLTIiPsOi4oKswqI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjQyKyBJbmR1c3RyeSBBd2FyZHM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleC1zaHJpbmstMCB0ZXh0LWJsdWUtNDAwIG1yLTIiPsOi4oKswqI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlRvcCAxMDAgQ29tcGFuaWVzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZsZXgtc2hyaW5rLTAgdGV4dC1ibHVlLTQwMCBtci0yIj7DouKCrMKiPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5CZXN0IENsaWVudCBGdW5kcyBTZWN1cml0eSBHbG9iYWw8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleC1zaHJpbmstMCB0ZXh0LWJsdWUtNDAwIG1yLTIiPsOi4oKswqI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkJlc3QgRm9yZXggTmV3cyAmIEFuYWx5c2lzIFByb3ZpZGVyPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gSW52ZXN0bWVudCBPcHRpb25zIENhcmQgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktODAwIGJnLW9wYWNpdHktODAgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGhvdmVyOmJvcmRlci1ibHVlLTYwMCBwLTYgc2hhZG93LWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEgaG92ZXI6c2hhZG93LWJsdWUtOTAwLzIwIGgtZnVsbCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTE0IGgtMTQgYmctYmx1ZS02MDAgYmctb3BhY2l0eS0yMCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWItNCI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1oYW5kLWhvbGRpbmctdXNkIHRleHQtYmx1ZS00MDAgdGV4dC14bCI+PC9pPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCI+SW52ZXN0bWVudCBPcHRpb25zPC9oMz4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3BhY2UteS0zIHRleHQtZ3JheS0zMDAiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4LXNocmluay0wIHRleHQtYmx1ZS00MDAgbXItMiI+w6LigqzCojwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+QkEgQ29weSAtIEhvdyBpdCBXb3Jrczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4LXNocmluay0wIHRleHQtYmx1ZS00MDAgbXItMiI+w6LigqzCojwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+QmVjb21lIGEgRm9sbG93ZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleC1zaHJpbmstMCB0ZXh0LWJsdWUtNDAwIG1yLTIiPsOi4oKswqI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlBBTU0gUmFua2luZzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4LXNocmluay0wIHRleHQtYmx1ZS00MDAgbXItMiI+w6LigqzCojwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+QmVjb21lIGFuIEludmVzdG9yPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibXQtMTIgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICA8YSBocmVmPSJyZWdpc3RlciIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC04IHB5LTMgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LWJhc2UgZm9udC1tZWRpdW0gcm91bmRlZC1tZCB0ZXh0LXdoaXRlIGJnLWJsdWUtNjAwIGhvdmVyOmJnLWJsdWUtNzAwIHNoYWRvdy1sZyB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6LXRyYW5zbGF0ZS15LTEiPgogICAgICAgICAgICAgICAgU3RhcnQgVHJhZGluZyBOb3cKICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSBtbC0yIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEzIDdsNSA1bTAgMGwtNSA1bTUtNUg2IiAvPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+CgoKCgoKCgo8L3NlY3Rpb24+Cgo8IS0tIENsaWVudCBUZXN0aW1vbmlhbHMgU2VjdGlvbiAtLT4KPHNlY3Rpb24gY2xhc3M9InB5LTE2IGJnLWdyYXktOTAwIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiIgeC1kYXRhPSJ7IGFjdGl2ZVRlc3RpbW9uaWFsOiBudWxsIH0iPgogICAgPCEtLSBCYWNrZ3JvdW5kIEVmZmVjdHMgLS0+CiAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmx1ZS01MDAvNSB0by1lbWVyYWxkLTQwMC81Ij48L2Rpdj4KICAgICAgICA8IS0tIEFuaW1hdGVkIEdyaWQgUGF0dGVybiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIG9wYWNpdHktMTAiPgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJoLWZ1bGwgdy1mdWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgICAgICAgPHBhdHRlcm4gaWQ9InRlc3RpbW9uaWFsLWdyaWQiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wIDQwVjBoNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjAuNSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjIwIiByPSIxIiBmaWxsPSJjdXJyZW50Q29sb3IiLz4KICAgICAgICAgICAgICAgICAgICA8L3BhdHRlcm4+CiAgICAgICAgICAgICAgICA8L2RlZnM+CiAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI3Rlc3RpbW9uaWFsLWdyaWQpIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgei0xMCBtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgPCEtLSBTZWN0aW9uIEhlYWRlciAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJtYi0xMiB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtYmxvY2sgcHgtNCBweS0xIHRleHQtc20gZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWJsdWUtNDAwIHVwcGVyY2FzZSBiZy1ibHVlLTkwMCBiZy1vcGFjaXR5LTcwIHJvdW5kZWQtZnVsbCBzaGFkb3ctbGciPgogICAgICAgICAgICAgICAgU3VjY2VzcyBTdG9yaWVzCiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJtdC0zIHRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS00MDAgdG8tYmx1ZS00MDAiPkNsaWVudCBUZXN0aW1vbmlhbHM8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0ibXQtMyB0ZXh0LWdyYXktMzAwIG1heC13LTJ4bCBteC1hdXRvIj5IZWFyIGZyb20gb3VyIHNhdGlzZmllZCBjbGllbnRzIHdobyBoYXZlIGFjaGlldmVkIGltcHJlc3NpdmUgcmVzdWx0cyB3aXRoIG91ciBwbGF0Zm9ybTwvcD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBUZXN0aW1vbmlhbHMgR3JpZCAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy00IGdhcC02Ij4KICAgICAgICAgICAgPCEtLSBUZXN0aW1vbmlhbCAxIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBncm91cCIKICAgICAgICAgICAgICAgIHgtZGF0YT0ieyBpc0hvdmVyZWQ6IGZhbHNlIH0iCiAgICAgICAgICAgICAgICBAbW91c2VlbnRlcj0iaXNIb3ZlcmVkID0gdHJ1ZTsgYWN0aXZlVGVzdGltb25pYWwgPSAxIgogICAgICAgICAgICAgICAgQG1vdXNlbGVhdmU9ImlzSG92ZXJlZCA9IGZhbHNlOyBhY3RpdmVUZXN0aW1vbmlhbCA9IG51bGwiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNTAwLzIwIHRvLWVtZXJhbGQtNDAwLzIwIHJvdW5kZWQtMnhsIGZpbHRlciBibHVyLXhsIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0zMDAiCiAgICAgICAgICAgICAgICAgICAgOmNsYXNzPSJ7ICdvcGFjaXR5LTc1JzogaXNIb3ZlcmVkLCAnb3BhY2l0eS0wJzogIWlzSG92ZXJlZCB9Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGgtZnVsbCBiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTgwIHJvdW5kZWQtMnhsIHAtNiBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3Zlcjpib3JkZXItYmx1ZS01MDAvNTAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggdGV4dC15ZWxsb3ctNDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTQgaC00IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA0OSAyLjkyN2MuMy0uOTIxIDEuNjAzLS45MjEgMS45MDIgMGwxLjA3IDMuMjkyYTEgMSAwIDAwLjk1LjY5aDMuNDYyYy45NjkgMCAxLjM3MSAxLjI0LjU4OCAxLjgxbC0yLjggMi4wMzRhMSAxIDAgMDAtLjM2NCAxLjExOGwxLjA3IDMuMjkyYy4zLjkyMS0uNzU1IDEuNjg4LTEuNTQgMS4xMThsLTIuOC0yLjAzNGExIDEgMCAwMC0xLjE3NSAwbC0yLjggMi4wMzRjLS43ODQuNTctMS44MzgtLjE5Ny0xLjUzOS0xLjExOGwxLjA3LTMuMjkyYTEgMSAwIDAwLS4zNjQtMS4xMThMMi45OCA4LjcyYy0uNzgzLS41Ny0uMzgtMS44MS41ODgtMS44MWgzLjQ2MWExIDEgMCAwMC45NTEtLjY5bDEuMDctMy4yOTJ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNCBoLTQiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuMDQ5IDIuOTI3Yy4zLS45MjEgMS42MDMtLjkyMSAxLjkwMiAwbDEuMDcgMy4yOTJhMSAxIDAgMDAuOTUuNjloMy40NjJjLjk2OSAwIDEuMzcxIDEuMjQuNTg4IDEuODFsLTIuOCAyLjAzNGExIDEgMCAwMC0uMzY0IDEuMTE4bDEuMDcgMy4yOTJjLjMuOTIxLS43NTUgMS42ODgtMS41NCAxLjExOGwtMi44LTIuMDM0YTEgMSAwIDAwLTEuMTc1IDBsLTIuOCAyLjAzNGMtLjc4NC41Ny0xLjgzOC0uMTk3LTEuNTM5LTEuMTE4bDEuMDctMy4yOTJhMSAxIDAgMDAtLjM2NC0xLjExOEwyLjk4IDguNzJjLS43ODMtLjU3LS4zOC0xLjgxLjU4OC0xLjgxaDMuNDYxYTEgMSAwIDAwLjk1MS0uNjlsMS4wNy0zLjI5MnoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTQgaC00IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA0OSAyLjkyN2MuMy0uOTIxIDEuNjAzLS45MjEgMS45MDIgMGwxLjA3IDMuMjkyYTEgMSAwIDAwLjk1LjY5aDMuNDYyYy45NjkgMCAxLjM3MSAxLjI0LjU4OCAxLjgxbC0yLjggMi4wMzRhMSAxIDAgMDAtLjM2NCAxLjExOGwxLjA3IDMuMjkyYy4zLjkyMS0uNzU1IDEuNjg4LTEuNTQgMS4xMThsLTIuOC0yLjAzNGExIDEgMCAwMC0xLjE3NSAwbC0yLjggMi4wMzRjLS43ODQuNTctMS44MzgtLjE5Ny0xLjUzOS0xLjExOGwxLjA3LTMuMjkyYTEgMSAwIDAwLS4zNjQtMS4xMThMMi45OCA4LjcyYy0uNzgzLS41Ny0uMzgtMS44MS41ODgtMS44MWgzLjQ2MWExIDEgMCAwMC45NTEtLjY5bDEuMDctMy4yOTJ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTggaC04IHRleHQtYmx1ZS00MDAgbWwtYXV0byBvcGFjaXR5LTIwIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwIDhjLTMuMyAwLTYgMi43LTYgNnYxMGg2VjE0aC00YzAtMi4yIDEuOC00IDQtNHptMTIgMGMtMy4zIDAtNiAyLjctNiA2djEwaDZWMTRoLTRjMC0yLjIgMS44LTQgNC00eiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTMwMCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbSI+U2luY2UgSSBzdGFydGVkIHVzaW5nIHRydXN0IHdlYWx0aCBhdmVudWUsIEkgaGF2ZSBiZWVuIGVhcm5pbmcgbGlrZSBuZXZlciBiZWZvcmUuIFlvdSBndXlzIGhhdmUgdGhlIGJlc3Qgc2lnbmFscy48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0idGVtcC9jdXN0b20vaW1nZTIuanBnIiBhbHQ9Ik1hbGNvbTQ3IiBjbGFzcz0idy0xMCBoLTEwIHJvdW5kZWQtZnVsbCBvYmplY3QtY292ZXIgYm9yZGVyLTIgYm9yZGVyLWJsdWUtNTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCB0ZXh0LXNtIj5NYWxjb200NzwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ibHVlLTQwMCB0ZXh0LXhzIj5WZXJpZmllZCBUcmFkZXI8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBUZXN0aW1vbmlhbCAyIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBncm91cCIKICAgICAgICAgICAgICAgIHgtZGF0YT0ieyBpc0hvdmVyZWQ6IGZhbHNlIH0iCiAgICAgICAgICAgICAgICBAbW91c2VlbnRlcj0iaXNIb3ZlcmVkID0gdHJ1ZTsgYWN0aXZlVGVzdGltb25pYWwgPSAyIgogICAgICAgICAgICAgICAgQG1vdXNlbGVhdmU9ImlzSG92ZXJlZCA9IGZhbHNlOyBhY3RpdmVUZXN0aW1vbmlhbCA9IG51bGwiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iciBmcm9tLWVtZXJhbGQtNTAwLzIwIHRvLWJsdWUtNDAwLzIwIHJvdW5kZWQtMnhsIGZpbHRlciBibHVyLXhsIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0zMDAiCiAgICAgICAgICAgICAgICAgICAgOmNsYXNzPSJ7ICdvcGFjaXR5LTc1JzogaXNIb3ZlcmVkLCAnb3BhY2l0eS0wJzogIWlzSG92ZXJlZCB9Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGgtZnVsbCBiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTgwIHJvdW5kZWQtMnhsIHAtNiBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3Zlcjpib3JkZXItZW1lcmFsZC01MDAvNTAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggdGV4dC15ZWxsb3ctNDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTQgaC00IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA0OSAyLjkyN2MuMy0uOTIxIDEuNjAzLS45MjEgMS45MDIgMGwxLjA3IDMuMjkyYTEgMSAwIDAwLjk1LjY5aDMuNDYyYy45NjkgMCAxLjM3MSAxLjI0LjU4OCAxLjgxbC0yLjggMi4wMzRhMSAxIDAgMDAtLjM2NCAxLjExOGwxLjA3IDMuMjkyYy4zLjkyMS0uNzU1IDEuNjg4LTEuNTQgMS4xMThsLTIuOC0yLjAzNGExIDEgMCAwMC0xLjE3NSAwbC0yLjggMi4wMzRjLS43ODQuNTctMS44MzgtLjE5Ny0xLjUzOS0xLjExOGwxLjA3LTMuMjkyYTEgMSAwIDAwLS4zNjQtMS4xMThMMi45OCA4LjcyYy0uNzgzLS41Ny0uMzgtMS44MS41ODgtMS44MWgzLjQ2MWExIDEgMCAwMC45NTEtLjY5bDEuMDctMy4yOTJ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNCBoLTQiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuMDQ5IDIuOTI3Yy4zLS45MjEgMS42MDMtLjkyMSAxLjkwMiAwbDEuMDcgMy4yOTJhMSAxIDAgMDAuOTUuNjloMy40NjJjLjk2OSAwIDEuMzcxIDEuMjQuNTg4IDEuODFsLTIuOCAyLjAzNGExIDEgMCAwMC0uMzY0IDEuMTE4bDEuMDcgMy4yOTJjLjMuOTIxLS43NTUgMS42ODgtMS41NCAxLjExOGwtMi44LTIuMDM0YTEgMSAwIDAwLTEuMTc1IDBsLTIuOCAyLjAzNGMtLjc4NC41Ny0xLjgzOC0uMTk3LTEuNTM5LTEuMTE4bDEuMDctMy4yOTJhMSAxIDAgMDAtLjM2NC0xLjExOEwyLjk4IDguNzJjLS43ODMtLjU3LS4zOC0xLjgxLjU4OC0xLjgxaDMuNDYxYTEgMSAwIDAwLjk1MS0uNjlsMS4wNy0zLjI5MnoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTQgaC00IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA0OSAyLjkyN2MuMy0uOTIxIDEuNjAzLS45MjEgMS45MDIgMGwxLjA3IDMuMjkyYTEgMSAwIDAwLjk1LjY5aDMuNDYyYy45NjkgMCAxLjM3MSAxLjI0LjU4OCAxLjgxbC0yLjggMi4wMzRhMSAxIDAgMDAtLjM2NCAxLjExOGwxLjA3IDMuMjkyYy4zLjkyMS0uNzU1IDEuNjg4LTEuNTQgMS4xMThsLTIuOC0yLjAzNGExIDEgMCAwMC0xLjE3NSAwbC0yLjggMi4wMzRjLS43ODQuNTctMS44MzgtLjE5Ny0xLjUzOS0xLjExOGwxLjA3LTMuMjkyYTEgMSAwIDAwLS4zNjQtMS4xMThMMi45OCA4LjcyYy0uNzgzLS41Ny0uMzgtMS44MS41ODgtMS44MWgzLjQ2MWExIDEgMCAwMC45NTEtLjY5bDEuMDctMy4yOTJ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTggaC04IHRleHQtZW1lcmFsZC00MDAgbWwtYXV0byBvcGFjaXR5LTIwIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwIDhjLTMuMyAwLTYgMi43LTYgNnYxMGg2VjE0aC00YzAtMi4yIDEuOC00IDQtNHptMTIgMGMtMy4zIDAtNiAyLjctNiA2djEwaDZWMTRoLTRjMC0yLjIgMS44LTQgNC00eiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTMwMCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbSI+SSBhbHJlYWR5IGdvdCBtb3JlIHRoYW4gJDIwMCwwMDAgd2l0aGluIGEgbW9udGggaW52ZXN0aW5nIHdpdGggdHJ1c3Qgd2VhbHRoIGF2ZW51ZS4gV2lsbCBhZ2FpbiBpbnZlc3Qgc29vbi48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0idGVtcC9jdXN0b20vaW1nZTEuanBnIiBhbHQ9IkNocmlzdHkiIGNsYXNzPSJ3LTEwIGgtMTAgcm91bmRlZC1mdWxsIG9iamVjdC1jb3ZlciBib3JkZXItMiBib3JkZXItZW1lcmFsZC01MDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc20iPkNocmlzdHk8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZW1lcmFsZC00MDAgdGV4dC14cyI+RWxpdGUgSW52ZXN0b3I8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBUZXN0aW1vbmlhbCAzIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBncm91cCIKICAgICAgICAgICAgICAgIHgtZGF0YT0ieyBpc0hvdmVyZWQ6IGZhbHNlIH0iCiAgICAgICAgICAgICAgICBAbW91c2VlbnRlcj0iaXNIb3ZlcmVkID0gdHJ1ZTsgYWN0aXZlVGVzdGltb25pYWwgPSAzIgogICAgICAgICAgICAgICAgQG1vdXNlbGVhdmU9ImlzSG92ZXJlZCA9IGZhbHNlOyBhY3RpdmVUZXN0aW1vbmlhbCA9IG51bGwiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNTAwLzIwIHRvLWVtZXJhbGQtNDAwLzIwIHJvdW5kZWQtMnhsIGZpbHRlciBibHVyLXhsIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0zMDAiCiAgICAgICAgICAgICAgICAgICAgOmNsYXNzPSJ7ICdvcGFjaXR5LTc1JzogaXNIb3ZlcmVkLCAnb3BhY2l0eS0wJzogIWlzSG92ZXJlZCB9Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGgtZnVsbCBiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTgwIHJvdW5kZWQtMnhsIHAtNiBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3Zlcjpib3JkZXItYmx1ZS01MDAvNTAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggdGV4dC15ZWxsb3ctNDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTQgaC00IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA0OSAyLjkyN2MuMy0uOTIxIDEuNjAzLS45MjEgMS45MDIgMGwxLjA3IDMuMjkyYTEgMSAwIDAwLjk1LjY5aDMuNDYyYy45NjkgMCAxLjM3MSAxLjI0LjU4OCAxLjgxbC0yLjggMi4wMzRhMSAxIDAgMDAtLjM2NCAxLjExOGwxLjA3IDMuMjkyYy4zLjkyMS0uNzU1IDEuNjg4LTEuNTQgMS4xMThsLTIuOC0yLjAzNGExIDEgMCAwMC0xLjE3NSAwbC0yLjggMi4wMzRjLS43ODQuNTctMS44MzgtLjE5Ny0xLjUzOS0xLjExOGwxLjA3LTMuMjkyYTEgMSAwIDAwLS4zNjQtMS4xMThMMi45OCA4LjcyYy0uNzgzLS41Ny0uMzgtMS44MS41ODgtMS44MWgzLjQ2MWExIDEgMCAwMC45NTEtLjY5bDEuMDctMy4yOTJ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNCBoLTQiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuMDQ5IDIuOTI3Yy4zLS45MjEgMS42MDMtLjkyMSAxLjkwMiAwbDEuMDcgMy4yOTJhMSAxIDAgMDAuOTUuNjloMy40NjJjLjk2OSAwIDEuMzcxIDEuMjQuNTg4IDEuODFsLTIuOCAyLjAzNGExIDEgMCAwMC0uMzY0IDEuMTE4bDEuMDcgMy4yOTJjLjMuOTIxLS43NTUgMS42ODgtMS41NCAxLjExOGwtMi44LTIuMDM0YTEgMSAwIDAwLTEuMTc1IDBsLTIuOCAyLjAzNGMtLjc4NC41Ny0xLjgzOC0uMTk3LTEuNTM5LTEuMTE4bDEuMDctMy4yOTJhMSAxIDAgMDAtLjM2NC0xLjExOEwyLjk4IDguNzJjLS43ODMtLjU3LS4zOC0xLjgxLjU4OC0xLjgxaDMuNDYxYTEgMSAwIDAwLjk1MS0uNjlsMS4wNy0zLjI5MnoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTQgaC00IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA0OSAyLjkyN2MuMy0uOTIxIDEuNjAzLS45MjEgMS45MDIgMGwxLjA3IDMuMjkyYTEgMSAwIDAwLjk1LjY5aDMuNDYyYy45NjkgMCAxLjM3MSAxLjI0LjU4OCAxLjgxbC0yLjggMi4wMzRhMSAxIDAgMDAtLjM2NCAxLjExOGwxLjA3IDMuMjkyYy4zLjkyMS0uNzU1IDEuNjg4LTEuNTQgMS4xMThsLTIuOC0yLjAzNGExIDEgMCAwMC0xLjE3NSAwbC0yLjggMi4wMzRjLS43ODQuNTctMS44MzgtLjE5Ny0xLjUzOS0xLjExOGwxLjA3LTMuMjkyYTEgMSAwIDAwLS4zNjQtMS4xMThMMi45OCA4LjcyYy0uNzgzLS41Ny0uMzgtMS44MS41ODgtMS44MWgzLjQ2MWExIDEgMCAwMC45NTEtLjY5bDEuMDctMy4yOTJ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTggaC04IHRleHQtYmx1ZS00MDAgbWwtYXV0byBvcGFjaXR5LTIwIiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwIDhjLTMuMyAwLTYgMi43LTYgNnYxMGg2VjE0aC00YzAtMi4yIDEuOC00IDQtNHptMTIgMGMtMy4zIDAtNiAyLjctNiA2djEwaDZWMTRoLTRjMC0yLjIgMS44LTQgNC00eiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTMwMCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbSI+SSB3YXMgYWJsZSB0byBlYXJuIGFkZGl0aW9uYWwgJDMwLDAwMCB0byBteSBwcm9maXQuIEl0J3MgYW1hemluZywgeW91IGd1eXMgYXJlIHRoZSBiZXN0LCBrZWVwIGl0IHVwLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJ0ZW1wL2N1c3RvbS9pbWdlMy5qcGciIGFsdD0iTGluZGF5OCIgY2xhc3M9InctMTAgaC0xMCByb3VuZGVkLWZ1bGwgb2JqZWN0LWNvdmVyIGJvcmRlci0yIGJvcmRlci1ibHVlLTUwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgdGV4dC1zbSI+TGluZGF5ODwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ibHVlLTQwMCB0ZXh0LXhzIj5Qcm9mZXNzaW9uYWwgVHJhZGVyPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gVGVzdGltb25pYWwgNCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgZ3JvdXAiCiAgICAgICAgICAgICAgICB4LWRhdGE9InsgaXNIb3ZlcmVkOiBmYWxzZSB9IgogICAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9ImlzSG92ZXJlZCA9IHRydWU7IGFjdGl2ZVRlc3RpbW9uaWFsID0gNCIKICAgICAgICAgICAgICAgIEBtb3VzZWxlYXZlPSJpc0hvdmVyZWQgPSBmYWxzZTsgYWN0aXZlVGVzdGltb25pYWwgPSBudWxsIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1lbWVyYWxkLTUwMC8yMCB0by1ibHVlLTQwMC8yMCByb3VuZGVkLTJ4bCBmaWx0ZXIgYmx1ci14bCB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMzAwIgogICAgICAgICAgICAgICAgICAgIDpjbGFzcz0ieyAnb3BhY2l0eS03NSc6IGlzSG92ZXJlZCwgJ29wYWNpdHktMCc6ICFpc0hvdmVyZWQgfSI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBoLWZ1bGwgYmctZ3JheS04MDAgYmctb3BhY2l0eS04MCByb3VuZGVkLTJ4bCBwLTYgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgaG92ZXI6Ym9yZGVyLWVtZXJhbGQtNTAwLzUwIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgbWItNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IHRleHQteWVsbG93LTQwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNCBoLTQiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuMDQ5IDIuOTI3Yy4zLS45MjEgMS42MDMtLjkyMSAxLjkwMiAwbDEuMDcgMy4yOTJhMSAxIDAgMDAuOTUuNjloMy40NjJjLjk2OSAwIDEuMzcxIDEuMjQuNTg4IDEuODFsLTIuOCAyLjAzNGExIDEgMCAwMC0uMzY0IDEuMTE4bDEuMDcgMy4yOTJjLjMuOTIxLS43NTUgMS42ODgtMS41NCAxLjExOGwtMi44LTIuMDM0YTEgMSAwIDAwLTEuMTc1IDBsLTIuOCAyLjAzNGMtLjc4NC41Ny0xLjgzOC0uMTk3LTEuNTM5LTEuMTE4bDEuMDctMy4yOTJhMSAxIDAgMDAtLjM2NC0xLjExOEwyLjk4IDguNzJjLS43ODMtLjU3LS4zOC0xLjgxLjU4OC0xLjgxaDMuNDYxYTEgMSAwIDAwLjk1MS0uNjlsMS4wNy0zLjI5MnoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTQgaC00IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA0OSAyLjkyN2MuMy0uOTIxIDEuNjAzLS45MjEgMS45MDIgMGwxLjA3IDMuMjkyYTEgMSAwIDAwLjk1LjY5aDMuNDYyYy45NjkgMCAxLjM3MSAxLjI0LjU4OCAxLjgxbC0yLjggMi4wMzRhMSAxIDAgMDAtLjM2NCAxLjExOGwxLjA3IDMuMjkyYy4zLjkyMS0uNzU1IDEuNjg4LTEuNTQgMS4xMThsLTIuOC0yLjAzNGExIDEgMCAwMC0xLjE3NSAwbC0yLjggMi4wMzRjLS43ODQuNTctMS44MzgtLjE5Ny0xLjUzOS0xLjExOGwxLjA3LTMuMjkyYTEgMSAwIDAwLS4zNjQtMS4xMThMMi45OCA4LjcyYy0uNzgzLS41Ny0uMzgtMS44MS41ODgtMS44MWgzLjQ2MWExIDEgMCAwMC45NTEtLjY5bDEuMDctMy4yOTJ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNCBoLTQiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuMDQ5IDIuOTI3Yy4zLS45MjEgMS42MDMtLjkyMSAxLjkwMiAwbDEuMDcgMy4yOTJhMSAxIDAgMDAuOTUuNjloMy40NjJjLjk2OSAwIDEuMzcxIDEuMjQuNTg4IDEuODFsLTIuOCAyLjAzNGExIDEgMCAwMC0uMzY0IDEuMTE4bDEuMDcgMy4yOTJjLjMuOTIxLS43NTUgMS42ODgtMS41NCAxLjExOGwtMi44LTIuMDM0YTEgMSAwIDAwLTEuMTc1IDBsLTIuOCAyLjAzNGMtLjc4NC41Ny0xLjgzOC0uMTk3LTEuNTM5LTEuMTE4bDEuMDctMy4yOTJhMSAxIDAgMDAtLjM2NC0xLjExOEwyLjk4IDguNzJjLS43ODMtLjU3LS4zOC0xLjgxLjU4OC0xLjgxaDMuNDYxYTEgMSAwIDAwLjk1MS0uNjlsMS4wNy0zLjI5MnoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy04IGgtOCB0ZXh0LWVtZXJhbGQtNDAwIG1sLWF1dG8gb3BhY2l0eS0yMCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMCA4Yy0zLjMgMC02IDIuNy02IDZ2MTBoNlYxNGgtNGMwLTIuMiAxLjgtNCA0LTR6bTEyIDBjLTMuMyAwLTYgMi43LTYgNnYxMGg2VjE0aC00YzAtMi4yIDEuOC00IDQtNHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS0zMDAgbGVhZGluZy1yZWxheGVkIHRleHQtc20iPlRoaXMgd2FzIGEgdmVyeSBlYXN5IHByb2Nlc3MgYW5kIEkgcmVjZWl2ZWQgbXkgZnVuZHMgcXVpY2tseSBhcyBJIG5lZWRlZCB0aGVtISBIaWdobHkgcmVjb21tZW5kIHRydXN0IHdlYWx0aCBhdmVudWUuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9InRlbXAvY3VzdG9tL2ltZ2U0LmpwZyIgYWx0PSJDcmlhbiIgY2xhc3M9InctMTAgaC0xMCByb3VuZGVkLWZ1bGwgb2JqZWN0LWNvdmVyIGJvcmRlci0yIGJvcmRlci1lbWVyYWxkLTUwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgdGV4dC1zbSI+Q3JpYW48L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZW1lcmFsZC00MDAgdGV4dC14cyI+QWN0aXZlIFRyYWRlcjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQWRkaXRpb25hbCB0ZXN0aW1vbmlhbHMgY29sbGFwc2VkIHNlY3Rpb24gLS0+CiAgICAgICAgPGRpdiB4LWRhdGE9Insgc2hvd01vcmU6IGZhbHNlIH0iIGNsYXNzPSJtdC04Ij4KICAgICAgICAgICAgPHRlbXBsYXRlIHgtaWY9InNob3dNb3JlIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTQgZ2FwLTYgbXQtOCI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBBZGRpdGlvbmFsIHRlc3RpbW9uaWFscy4uLiAtLT4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBUZXN0aW1vbmlhbCA1IC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGJnLWdyYXktODAwIGJnLW9wYWNpdHktODAgcm91bmRlZC0yeGwgcC02IGJvcmRlciBib3JkZXItZ3JheS03MDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGhvdmVyOmJvcmRlci1ibHVlLTUwMC81MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgbWItNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCB0ZXh0LXllbGxvdy00MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTQgaC00IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNb3JlIHN0YXJzLi4uIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTMwMCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbSI+SSByYXRlIHRydXN0IHdlYWx0aCBhdmVudWUgZml2ZSBzdGFycyBiZWNhdXNlIG9mIHRoZSBzZXJ2aWNlLCB5b3UgcmVnaXN0ZXIgb25saW5lLCB1cGxvYWQgSUQgYW5kIHlvdSBkZXBvc2l0IGFuZCB3aXRoZHJhdyBhZnRlciB0cmFkZXMuIFRoaXMgaXMgc28gbG92ZWx5LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJ0ZW1wL2N1c3RvbS9pbWdlNS5qcGciIGFsdD0iQ2xhdWRpYSIgY2xhc3M9InctMTAgaC0xMCByb3VuZGVkLWZ1bGwgb2JqZWN0LWNvdmVyIGJvcmRlci0yIGJvcmRlci1ibHVlLTUwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCB0ZXh0LXNtIj5DbGF1ZGlhPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ibHVlLTQwMCB0ZXh0LXhzIj5TYXRpc2ZpZWQgSW52ZXN0b3I8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gVGVzdGltb25pYWwgNiAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTgwIHJvdW5kZWQtMnhsIHAtNiBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3Zlcjpib3JkZXItZW1lcmFsZC01MDAvNTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIG1iLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggdGV4dC15ZWxsb3ctNDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuMDQ5IDIuOTI3Yy4zLS45MjEgMS42MDMtLjkyMSAxLjkwMiAwbDEuMDcgMy4yOTJhMSAxIDAgMDAuOTUuNjloMy40NjJjLjk2OSAwIDEuMzcxIDEuMjQuNTg4IDEuODFsLTIuOCAyLjAzNGExIDEgMCAwMC0uMzY0IDEuMTE4bDEuMDcgMy4yOTJjLjMuOTIxLS43NTUgMS42ODgtMS41NCAxLjExOGwtMi44LTIuMDM0YTEgMSAwIDAwLTEuMTc1IDBsLTIuOCAyLjAzNGMtLjc4NC41Ny0xLjgzOC0uMTk3LTEuNTM5LTEuMTE4bDEuMDctMy4yOTJhMSAxIDAgMDAtLjM2NC0xLjExOEwyLjk4IDguNzJjLS43ODMtLjU3LS4zOC0xLjgxLjU4OC0xLjgxaDMuNDYxYTEgMSAwIDAwLjk1MS0uNjlsMS4wNy0zLjI5MnoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTW9yZSBzdGFycy4uLiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS0zMDAgbGVhZGluZy1yZWxheGVkIHRleHQtc20iPkkgYW0gdmVyeSBwbGVhc2VkIHdpdGggdGhlIGN1c3RvbWVyIHNlcnZpY2UuIEFsc28gb25saW5lIHNlcnZpY2UgaXMgZ3JlYXQgYW5kIGVhc3kgdGhhbmsgeW91IHRydXN0IHdlYWx0aCBhdmVudWUgdGVhbS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0idGVtcC9jdXN0b20vamVubnkuanBnIiBhbHQ9Ikplbm55IiBjbGFzcz0idy0xMCBoLTEwIHJvdW5kZWQtZnVsbCBvYmplY3QtY292ZXIgYm9yZGVyLTIgYm9yZGVyLWVtZXJhbGQtNTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc20iPkplbm55PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1lbWVyYWxkLTQwMCB0ZXh0LXhzIj5QcmVtaXVtIE1lbWJlcjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBUZXN0aW1vbmlhbCA3IC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGJnLWdyYXktODAwIGJnLW9wYWNpdHktODAgcm91bmRlZC0yeGwgcC02IGJvcmRlciBib3JkZXItZ3JheS03MDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGhvdmVyOmJvcmRlci1ibHVlLTUwMC81MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgbWItNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCB0ZXh0LXllbGxvdy00MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3LTQgaC00IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wNDkgMi45MjdjLjMtLjkyMSAxLjYwMy0uOTIxIDEuOTAyIDBsMS4wNyAzLjI5MmExIDEgMCAwMC45NS42OWgzLjQ2MmMuOTY5IDAgMS4zNzEgMS4yNC41ODggMS44MWwtMi44IDIuMDM0YTEgMSAwIDAwLS4zNjQgMS4xMThsMS4wNyAzLjI5MmMuMy45MjEtLjc1NSAxLjY4OC0xLjU0IDEuMTE4bC0yLjgtMi4wMzRhMSAxIDAgMDAtMS4xNzUgMGwtMi44IDIuMDM0Yy0uNzg0LjU3LTEuODM4LS4xOTctMS41MzktMS4xMThsMS4wNy0zLjI5MmExIDEgMCAwMC0uMzY0LTEuMTE4TDIuOTggOC43MmMtLjc4My0uNTctLjM4LTEuODEuNTg4LTEuODFoMy40NjFhMSAxIDAgMDAuOTUxLS42OWwxLjA3LTMuMjkyeiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNb3JlIHN0YXJzLi4uIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTMwMCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbSI+SSdtIGhhcHB5LCB0aGF0IGluIGRpZmZpY3VsdCB0aW1lcyB0aGVyZSBhcmUgcGVvcGxlIHRoYXQgd2lsbCBzdXBwb3J0IHlvdSBhbmQgaGVscCB5b3UgbWFrZSBtb3JlIG1vbmV5LCB0aGFuayB5b3UgdHJ1c3Qgd2VhbHRoIGF2ZW51ZSBmb3IgZ2l2aW5nIG1lIGEgY2hhbmNlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJ0ZW1wL2N1c3RvbS9taWtlLmpwZyIgYWx0PSJNaWtlIiBjbGFzcz0idy0xMCBoLTEwIHJvdW5kZWQtZnVsbCBvYmplY3QtY292ZXIgYm9yZGVyLTIgYm9yZGVyLWJsdWUtNTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc20iPk1pa2U8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWJsdWUtNDAwIHRleHQteHMiPlJlZ3VsYXIgSW52ZXN0b3I8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gVGVzdGltb25pYWwgOCAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTgwIHJvdW5kZWQtMnhsIHAtNiBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3Zlcjpib3JkZXItZW1lcmFsZC01MDAvNTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIG1iLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggdGV4dC15ZWxsb3ctNDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idy00IGgtNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjAgMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuMDQ5IDIuOTI3Yy4zLS45MjEgMS42MDMtLjkyMSAxLjkwMiAwbDEuMDcgMy4yOTJhMSAxIDAgMDAuOTUuNjloMy40NjJjLjk2OSAwIDEuMzcxIDEuMjQuNTg4IDEuODFsLTIuOCAyLjAzNGExIDEgMCAwMC0uMzY0IDEuMTE4bDEuMDcgMy4yOTJjLjMuOTIxLS43NTUgMS42ODgtMS41NCAxLjExOGwtMi44LTIuMDM0YTEgMSAwIDAwLTEuMTc1IDBsLTIuOCAyLjAzNGMtLjc4NC41Ny0xLjgzOC0uMTk3LTEuNTM5LTEuMTE4bDEuMDctMy4yOTJhMSAxIDAgMDAtLjM2NC0xLjExOEwyLjk4IDguNzJjLS43ODMtLjU3LS4zOC0xLjgxLjU4OC0xLjgxaDMuNDYxYTEgMSAwIDAwLjk1MS0uNjlsMS4wNy0zLjI5MnoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTW9yZSBzdGFycy4uLiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS0zMDAgbGVhZGluZy1yZWxheGVkIHRleHQtc20iPkkndmUgaW52ZXN0ZWQgd2l0aCB0cnVzdCB3ZWFsdGggYXZlbnVlIHNldmVyYWwgdGltZXMsIGFsd2F5cyBwYWlkIGJhY2sgb24gdGltZS4gVGhlIGVudGlyZSB0cmFkZSBwcm9jZXNzIGlzIGNvbXBsZXRlIGluIGp1c3QgYSBmZXcgZGF5cy4gVmVyeSBpbXByZXNzZWQgYW5kIHNhdGlzZmllZC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0idGVtcC9jdXN0b20va2F0aHkuanBnIiBhbHQ9IkthdGh5IiBjbGFzcz0idy0xMCBoLTEwIHJvdW5kZWQtZnVsbCBvYmplY3QtY292ZXIgYm9yZGVyLTIgYm9yZGVyLWVtZXJhbGQtNTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc20iPkthdGh5PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1lbWVyYWxkLTQwMCB0ZXh0LXhzIj5Mb25nLXRlcm0gQ2xpZW50PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CgogICAgICAgICAgICA8IS0tIFZpZXcgTW9yZSBCdXR0b24gLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG10LTEyIj4KICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSJzaG93TW9yZSA9ICFzaG93TW9yZSIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHB4LTYgcHktMyByb3VuZGVkLXhsIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTUwMCB0by1lbWVyYWxkLTQwMCB0ZXh0LXdoaXRlIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gaG92ZXI6c2NhbGUtMTA1IGhvdmVyOnNoYWRvdy1sZyBob3ZlcjpzaGFkb3ctYmx1ZS01MDAvMjUiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHgtdGV4dD0ic2hvd01vcmUgPyAnU2hvdyBMZXNzJyA6ICdWaWV3IE1vcmUgU3VjY2VzcyBTdG9yaWVzJyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctNSBoLTUgbWwtMiB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAiCiAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz0ieyAncm90YXRlLTE4MCc6IHNob3dNb3JlIH0iCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE5IDlsLTcgNy03LTciLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+CgoKCjwhLS0gQ3J5cHRvY3VycmVuY3kgTG9nb3MgU2VjdGlvbiAtIERhcmsgTW9kZSAtLT4KPHNlY3Rpb24gY2xhc3M9ImJnLWdyYXktOTAwIHB5LTEwIj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIgbXgtYXV0byBweC00Ij4KICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIj4KICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LXdyYXAganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGdhcC04IG1kOmdhcC0xMiI+CiAgICAgICAgPCEtLSBCaXRjb2luIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InctMS80IHNtOnctMS82IG1kOnctMS83IHRyYW5zZm9ybSBob3ZlcjpzY2FsZS0xMTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktODAwIGJnLW9wYWNpdHktNTAgYmFja2Ryb3AtYmx1ci1zbSBwLTQgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGhvdmVyOmJvcmRlci1ibHVlLTUwMCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJ0ZW1wL2N1c3RvbS9pbWcvYnRjLnBuZyIgYWx0PSJCaXRjb2luIiBjbGFzcz0idy1mdWxsIGgtYXV0byBmaWx0ZXIgZHJvcC1zaGFkb3ctbGciPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gRXRoZXJldW0gLS0+CiAgICAgICAgPGRpdiBjbGFzcz0idy0xLzQgc206dy0xLzYgbWQ6dy0xLzcgdHJhbnNmb3JtIGhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JheS04MDAgYmctb3BhY2l0eS01MCBiYWNrZHJvcC1ibHVyLXNtIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItZ3JheS03MDAgaG92ZXI6Ym9yZGVyLWJsdWUtNTAwIj4KICAgICAgICAgICAgPGltZyBzcmM9InRlbXAvY3VzdG9tL2ltZy9ldGgucG5nIiBhbHQ9IkV0aGVyZXVtIiBjbGFzcz0idy1mdWxsIGgtYXV0byBmaWx0ZXIgZHJvcC1zaGFkb3ctbGciPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gRG9nZWNvaW4gLS0+CiAgICAgICAgPGRpdiBjbGFzcz0idy0xLzQgc206dy0xLzYgbWQ6dy0xLzcgdHJhbnNmb3JtIGhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JheS04MDAgYmctb3BhY2l0eS01MCBiYWNrZHJvcC1ibHVyLXNtIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItZ3JheS03MDAgaG92ZXI6Ym9yZGVyLWJsdWUtNTAwIj4KICAgICAgICAgICAgPGltZyBzcmM9InRlbXAvY3VzdG9tL2ltZy9kb2dlLnBuZyIgYWx0PSJEb2dlY29pbiIgY2xhc3M9InctZnVsbCBoLWF1dG8gZmlsdGVyIGRyb3Atc2hhZG93LWxnIj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIEJpdGNvaW4gQ2FzaCAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEvNCBzbTp3LTEvNiBtZDp3LTEvNyB0cmFuc2Zvcm0gaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTUwIGJhY2tkcm9wLWJsdXItc20gcC00IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBob3Zlcjpib3JkZXItYmx1ZS01MDAiPgogICAgICAgICAgICA8aW1nIHNyYz0idGVtcC9jdXN0b20vaW1nL2JjaC5wbmciIGFsdD0iQml0Y29pbiBDYXNoIiBjbGFzcz0idy1mdWxsIGgtYXV0byBmaWx0ZXIgZHJvcC1zaGFkb3ctbGciPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gVGV0aGVyIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InctMS80IHNtOnctMS82IG1kOnctMS83IHRyYW5zZm9ybSBob3ZlcjpzY2FsZS0xMTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktODAwIGJnLW9wYWNpdHktNTAgYmFja2Ryb3AtYmx1ci1zbSBwLTQgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGhvdmVyOmJvcmRlci1ibHVlLTUwMCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJ0ZW1wL2N1c3RvbS9pbWcvdXNkdC5wbmciIGFsdD0iVGV0aGVyIiBjbGFzcz0idy1mdWxsIGgtYXV0byBmaWx0ZXIgZHJvcC1zaGFkb3ctbGciPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQmluYW5jZSBDb2luIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InctMS80IHNtOnctMS82IG1kOnctMS83IHRyYW5zZm9ybSBob3ZlcjpzY2FsZS0xMTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktODAwIGJnLW9wYWNpdHktNTAgYmFja2Ryb3AtYmx1ci1zbSBwLTQgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIGhvdmVyOmJvcmRlci1ibHVlLTUwMCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJ0ZW1wL2N1c3RvbS9pbWcvYm5iLnBuZyIgYWx0PSJCaW5hbmNlIENvaW4iIGNsYXNzPSJ3LWZ1bGwgaC1hdXRvIGZpbHRlciBkcm9wLXNoYWRvdy1sZyI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBMaXRlY29pbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEvNCBzbTp3LTEvNiBtZDp3LTEvNyB0cmFuc2Zvcm0gaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1ncmF5LTgwMCBiZy1vcGFjaXR5LTUwIGJhY2tkcm9wLWJsdXItc20gcC00IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBob3Zlcjpib3JkZXItYmx1ZS01MDAiPgogICAgICAgICAgICA8aW1nIHNyYz0idGVtcC9jdXN0b20vaW1nL2x0Yy5wbmciIGFsdD0iTGl0ZWNvaW4iIGNsYXNzPSJ3LWZ1bGwgaC1hdXRvIGZpbHRlciBkcm9wLXNoYWRvdy1sZyI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNjcmlwdCB0eXBlPXRleHQvamF2YXNjcmlwdD4gdmFyIGhvc3QgPSAnaDUxLnAuY3RyYWRlci5jb20nOzwvc2NyaXB0PjxzY3JpcHQgc3JjPXRlbXAvY3VzdG9tL2pzL3NwcmVhZHMtaG9tZS5qcyB0eXBlPW1vZHVsZT48L3NjcmlwdD4KCjwvbWFpbj4KCgoKCgoKCjwhLS0gRm9vdGVyIC0tPgo8Zm9vdGVyIGNsYXNzPSJiZy1kYXJrLTQwMCB0ZXh0LWdyYXktMzAwIj4KICAgIDwhLS0gVXBwZXIgRm9vdGVyIC0tPgogICAgPGRpdiBjbGFzcz0iYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InB5LTEyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTQgZ2FwLTgiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gQ29tcGFueSBJbmZvIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIG1iLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLyIgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJoLTggdy1hdXRvIiBzcmM9Imh0dHBzOi8vMzYwdHJ1c3R3ZWFsdGhhdmVudWUuc3RnbGVuLmNvbS9zdG9yYWdlL2FwcC9wdWJsaWMvcGhvdG9zL04wTXlXMFVnYjZpTENzR0RjM2llbzdDbUIyaWhCdEFjTDJ2WEpkWHUuanBnIiBhbHQ9InRydXN0IHdlYWx0aCBhdmVudWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTQwMCBtYi02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydXN0IHdlYWx0aCBhdmVudWUgb2ZmZXJzIENGRCB0cmFkaW5nIG9uIHN0b2NrcywgZm9yZXgsIGluZGljZXMsIGNvbW1vZGl0aWVzLCBhbmQgY3J5cHRvY3VycmVuY2llcyB3aXRoIGNvbXBldGl0aXZlIHNwcmVhZHMgYW5kIGFkdmFuY2VkIHRyYWRpbmcgdG9vbHMuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBzcGFjZS14LTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlR3aXR0ZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhYiBmYS10d2l0dGVyIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0idGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSI+TGlua2VkSW48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhYiBmYS1saW5rZWRpbiI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmluZm9AMzYwdHJ1c3R3ZWFsdGhhdmVudWUuc3RnbGVuLmNvbSIgY2xhc3M9InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPkVtYWlsPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtZW52ZWxvcGUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gUXVpY2sgTGlua3MgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIgbWItNCI+UXVpY2sgTGlua3M8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InNwYWNlLXktMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYWJvdXQiIGNsYXNzPSJ0ZXh0LXNtIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uIj5BYm91dCBVczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IndoeS11cyIgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24iPldoeSBDaG9vc2UgVXM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJmb3ItdHJhZGVycyIgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24iPkVkdWNhdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImNvbnRhY3RzIiBjbGFzcz0idGV4dC1zbSB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbiI+Q29udGFjdDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8IS0tIFRyYWRpbmcgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIgbWItNCI+VHJhZGluZzwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3BhY2UteS0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJjcnlwdG9jdXJyZW5jaWVzIiBjbGFzcz0idGV4dC1zbSB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbiI+Q3J5cHRvY3VycmVuY2llczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImZvcmV4IiBjbGFzcz0idGV4dC1zbSB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbiI+Rm9yZXg8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJzaGFyZXMiIGNsYXNzPSJ0ZXh0LXNtIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uIj5TaGFyZXM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJpbmRpY2VzIiBjbGFzcz0idGV4dC1zbSB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbiI+SW5kaWNlczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8IS0tIEFjY291bnQgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIgbWItNCI+WW91ciBBY2NvdW50PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImxvZ2luIiBjbGFzcz0idGV4dC1zbSB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbiI+TG9nIEluPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0icmVnaXN0ZXIiIGNsYXNzPSJ0ZXh0LXNtIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uIj5DcmVhdGUgQWNjb3VudDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImxvZ2luIiBjbGFzcz0idGV4dC1zbSB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbiI+RGVtbyBBY2NvdW50PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iY29udGFjdCIgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24iPkhlbHAgQ2VudGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIFBsYXRmb3JtIEF2YWlsYWJpbGl0eSAtLT4KICAgIDxkaXYgY2xhc3M9ImJvcmRlci10IGJvcmRlci1ncmF5LTgwMCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJweS02Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWItNCBtZDptYi0wIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSI+QXZhaWxhYmxlIE9uPC9oND4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIiBhcmlhLWxhYmVsPSJXZWIgUGxhdGZvcm0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1kZXNrdG9wIG1yLTIiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXNtIj5XZWI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSIgYXJpYS1sYWJlbD0iV2luZG93cyBBcHAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhYiBmYS13aW5kb3dzIG1yLTIiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXNtIj5XaW5kb3dzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUiIGFyaWEtbGFiZWw9IkFuZHJvaWQgQXBwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYWIgZmEtYW5kcm9pZCBtci0yIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1zbSI+QW5kcm9pZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIiBhcmlhLWxhYmVsPSJpT1MgQXBwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYWIgZmEtYXBwbGUgbXItMiI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtc20iPmlPUzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBEaXNjbGFpbWVyICYgTGVnYWwgLS0+CiAgICA8ZGl2IGNsYXNzPSJiZy1kYXJrLTUwMCBib3JkZXItdCBib3JkZXItZ3JheS04MDAiPgogICAgICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHktNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHRleHQtZ3JheS00MDAiPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtYi00IGxlYWRpbmctcmVsYXhlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LXNlbWlib2xkIHRleHQtZ3JheS0zMDAiPlJJU0sgV0FSTklORzo8L3NwYW4+IFRoZSBGaW5hbmNpYWwgUHJvZHVjdHMgb2ZmZXJlZCBieSB0aGUgY29tcGFueSBpbmNsdWRlIENvbnRyYWN0cyBmb3IgRGlmZmVyZW5jZSAoJ0NGRHMnKSBhbmQgb3RoZXIgY29tcGxleCBmaW5hbmNpYWwgcHJvZHVjdHMuIFRyYWRpbmcgQ0ZEcyBjYXJyaWVzIGEgaGlnaCBsZXZlbCBvZiByaXNrIHNpbmNlIGxldmVyYWdlIGNhbiB3b3JrIGJvdGggdG8geW91ciBhZHZhbnRhZ2UgYW5kIGRpc2FkdmFudGFnZS4gQXMgYSByZXN1bHQsIENGRHMgbWF5IG5vdCBiZSBzdWl0YWJsZSBmb3IgYWxsIGludmVzdG9ycyBiZWNhdXNlIGl0IGlzIHBvc3NpYmxlIHRvIGxvc2UgYWxsIG9mIHlvdXIgaW52ZXN0ZWQgY2FwaXRhbC4gWW91IHNob3VsZCBuZXZlciBpbnZlc3QgbW9uZXkgdGhhdCB5b3UgY2Fubm90IGFmZm9yZCB0byBsb3NlLiBCZWZvcmUgdHJhZGluZyBpbiB0aGUgY29tcGxleCBmaW5hbmNpYWwgcHJvZHVjdHMgb2ZmZXJlZCwgcGxlYXNlIGVuc3VyZSB5b3UgdW5kZXJzdGFuZCB0aGUgcmlza3MgaW52b2x2ZWQuCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC13cmFwIGdhcC00IG1iLTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJ0ZXJtcyIgY2xhc3M9InRleHQtYmx1ZS00MDAgaG92ZXI6dGV4dC1ibHVlLTMwMCB0cmFuc2l0aW9uIj5UZXJtcyAmIENvbmRpdGlvbnM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InByaXZhY3kiIGNsYXNzPSJ0ZXh0LWJsdWUtNDAwIGhvdmVyOnRleHQtYmx1ZS0zMDAgdHJhbnNpdGlvbiI+UHJpdmFjeSBQb2xpY3k8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InJlZ3VsYXRpb24iIGNsYXNzPSJ0ZXh0LWJsdWUtNDAwIGhvdmVyOnRleHQtYmx1ZS0zMDAgdHJhbnNpdGlvbiI+TGVnYWwgRG9jdW1lbnRzPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxwPsKpIDxzY3JpcHQ+ZG9jdW1lbnQud3JpdGUobmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKTwvc2NyaXB0PiB0cnVzdCB3ZWFsdGggYXZlbnVlLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJndHJhbnNsYXRlX3dyYXBwZXIiPjwvZGl2Pg0KPHNjcmlwdD4NCiAgICB3aW5kb3cuZ3RyYW5zbGF0ZVNldHRpbmdzID0gew0KICAgICAgICBkZWZhdWx0X2xhbmd1YWdlOiAiZW4iLA0KICAgICAgICBhbHRfZmxhZ3M6eyJlbiI6InVzYSJ9LA0KICAgICAgICB3cmFwcGVyX3NlbGVjdG9yOiAiLmd0cmFuc2xhdGVfd3JhcHBlciIsDQogICAgICAgIGZsYWdfc3R5bGU6ICIzZCIsDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmd0cmFuc2xhdGUubmV0L3dpZGdldHMvbGF0ZXN0L2Zsb2F0LmpzIiBkZWZlcj48L3NjcmlwdD4NCjwvZm9vdGVyPgoKPCEtLSBTdGlja3kgTWFya2V0IFRpY2tlciBXaWRnZXQgLS0+CjxkaXYgY2xhc3M9ImZpeGVkIGJvdHRvbS0wIGxlZnQtMCByaWdodC0wIHotMzAgYmctZGFyay00MDAgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIj4KICAgIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vZXh0ZXJuYWwtZW1iZWRkaW5nL2VtYmVkLXdpZGdldC10aWNrZXItdGFwZS5qcyIgYXN5bmM+CiAgICAgICAgewogICAgICAgICJzeW1ib2xzIjogWwogICAgICAgIHsKICAgICAgICAgICAgInRpdGxlIjogIkVVUi9VU0QiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJ0aXRsZSI6ICJCVEMvVVNEIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAidGl0bGUiOiAiRVRIL1VTRCIKICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiY29sb3JUaGVtZSI6ICJkYXJrIiwKICAgICAgICAiaXNUcmFuc3BhcmVudCI6IGZhbHNlLAogICAgICAgICJkaXNwbGF5TW9kZSI6ICJhZGFwdGl2ZSIsCiAgICAgICAgImxvY2FsZSI6ICJlbiIKICAgICAgICB9CiAgICAgICAgPC9zY3JpcHQ+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8IS0tIExpdmUgQ2hhdCBCdXR0b24gLS0+CgoKCgoKCgoKCgoKCiAgICAgPHN0eWxlPgogICAgICAgLmxhc3Qtd2lkZ2V0ewogICAgICAgICAgcG9zaXRpb246IHN0aWNreTsKICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgICAgYm90dG9tOiAwOwogICAgICAgIH0KICAgPC9zdHlsZT4KCgogICAgICAgIDxkaXYgY2xhc3MgPSAibGFzdC13aWRnZXQiPgogICAgICAgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPgo8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIiA+CiAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Ij48L2Rpdj4KCiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vZXh0ZXJuYWwtZW1iZWRkaW5nL2VtYmVkLXdpZGdldC10aWNrZXItdGFwZS5qcyIgYXN5bmM+CiAgewogICJzeW1ib2xzIjogWwogIHsKICAgICAgInByb05hbWUiOiAiRlhfSURDOkVVUlVTRCIsCiAgICAgICJ0aXRsZSI6ICJFVVIvVVNEIgogIH0sCiAgewogICAgICAicHJvTmFtZSI6ICJCSVRTVEFNUDpCVENVU0QiLAogICAgICAidGl0bGUiOiAiQlRDL1VTRCIKICB9LAogIHsKICAgICAgInByb05hbWUiOiAiQklUU1RBTVA6RVRIVVNEIiwKICAgICAgInRpdGxlIjogIkVUSC9VU0QiCiAgfQogIF0sCiAgImNvbG9yVGhlbWUiOiAiZGFyayIsCiAgImlzVHJhbnNwYXJlbnQiOiBmYWxzZSwKICAiZGlzcGxheU1vZGUiOiAiYWRhcHRpdmUiLAogICJsb2NhbGUiOiAiZW4iCn0KICA8L3NjcmlwdD4KPC9kaXY+CgoKICAgICAgICA8IS0tIEdldEJ1dHRvbi5pbyB3aWRnZXQgLS0+CjwhLS08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+LS0+CjwhLS0gICAgKGZ1bmN0aW9uICgpIHstLT4KPCEtLSAgICAgICAgdmFyIG9wdGlvbnMgPSB7LS0+CiAgICAgICAgICAgIDwhLS13aGF0c2FwcDogIiIsIC8vIFdoYXRzQXBwIG51bWJlci0tPgogICAgICAgICAgICA8IS0tY2FsbF90b19hY3Rpb246ICJNZXNzYWdlIHVzIiwgLy8gQ2FsbCB0byBhY3Rpb24tLT4KICAgICAgICAgICAgPCEtLWJ1dHRvbl9jb2xvcjogIiNGRjY1NTAiLCAvLyBDb2xvciBvZiBidXR0b24tLT4KICAgICAgICAgICAgPCEtLXBvc2l0aW9uOiAicmlnaHQiLCAvLyBQb3NpdGlvbiBtYXkgYmUgJ3JpZ2h0JyBvciAnbGVmdCctLT4KPCEtLSAgICAgICAgfTstLT4KPCEtLSAgICAgICAgdmFyIHByb3RvID0gJ2h0dHBzOicsIGhvc3QgPSAiZ2V0YnV0dG9uLmlvIiwgdXJsID0gcHJvdG8gKyAnLy9zdGF0aWMuJyArIGhvc3Q7LS0+CjwhLS0gICAgICAgIHZhciBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7IHMudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOyBzLmFzeW5jID0gdHJ1ZTsgcy5zcmMgPSB1cmwgKyAnL3dpZGdldC1zZW5kLWJ1dHRvbi9qcy9pbml0LmpzJzstLT4KPCEtLSAgICAgICAgcy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7IFdoV2lkZ2V0U2VuZEJ1dHRvbi5pbml0KGhvc3QsIHByb3RvLCBvcHRpb25zKTsgfTstLT4KPCEtLSAgICAgICAgdmFyIHggPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07IHgucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocywgeCk7LS0+CjwhLS0gICAgfSkoKTstLT4KPCEtLTwvc2NyaXB0Pi0tPgo8IS0tIEFkZGl0aW9uYWwgU2NyaXB0cyAtLT4KPHNjcmlwdD4KICAgIC8vIExpdmUgQ2hhdCBGdW5jdGlvbgogICAgZnVuY3Rpb24gb3BlbkxpdmVDaGF0KGUpIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgY29uc29sZS5sb2coJ09wZW5pbmcgbGl2ZSBjaGF0Li4uJyk7CiAgICAgICAgLy8gSW1wbGVtZW50IHlvdXIgbGl2ZSBjaGF0IGZ1bmN0aW9uYWxpdHkgaGVyZQogICAgfQoKICAgIC8vIFRoZW1lIHRvZ2dsZSBmdW5jdGlvbmFsaXR5CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24oKSB7CiAgICAgICAgLy8gSW5pdGlhbGl6ZSBhbnkgY3VzdG9tIGNvbXBvbmVudHMKICAgICAgICBjb25zb2xlLmxvZygnRE9NIGxvYWRlZCwgaW5pdGlhbGl6aW5nIGNvbXBvbmVudHMuLi4nKTsKICAgIH0pOwoKICAgIC8vIEFuYWx5dGljcyAocHJlc2VydmVkIGZyb20gb3JpZ2luYWwpCiAgICBmdW5jdGlvbiBiaW5kR0FFdmVudHMoZXZlbnRDYXRlZ29yeSwgY2FsbGJhY2ssIGl0ZXIpIHsKICAgICAgICBpZiAodHlwZW9mIGl0ZXIgPT09ICJ1bmRlZmluZWQiKSB7IGl0ZXIgPSAxOyB9CiAgICAgICAgaWYod2luZG93LmRhdGFMYXllcikgewogICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmKGl0ZXIgPiAyICYmIHR5cGVvZiBjYWxsYmFjayA9PT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGJpbmRHQUV2ZW50cyhldmVudENhdGVnb3J5LCBjYWxsYmFjaywgaXRlciArIDEpOwogICAgICAgICAgICB9LCA1MDApOwogICAgICAgIH0KICAgIH0KCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICAgICBpZignJyA9PSAnMScpIHsKICAgICAgICAgICAgYmluZEdBRXZlbnRzKCdleF9uZXdfdXNlcicpOwogICAgICAgIH0KCiAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgJy5zdGFydC10cmFkaW5nLCAub3Blbi1saXZlLWFjY291bnQsIC5vcGVuLWRlbW8tYWNjb3VudCcsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICB2YXIgcmVkaXJlY3RMaW5rID0gJCh0aGlzKS5hdHRyKCdocmVmJyk7CiAgICAgICAgICAgIGJpbmRHQUV2ZW50cygnZXhfYnV0dG9uJywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcmVkaXJlY3RMaW5rOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICB9KTsKICAgIH0pOwo8L3NjcmlwdD4KCjwhLS0gU21hcnRzdXBwIExpdmUgQ2hhdCBzY3JpcHQgLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIF9zbWFydHN1cHAgPSBfc21hcnRzdXBwIHx8IHt9Owpfc21hcnRzdXBwLmtleSA9ICdmOWFhZTVjMWFiMDMzM2U4NTc4MzYyOGE5YzMxOTU3ZjMwOWYyZmNmJzsKd2luZG93LnNtYXJ0c3VwcHx8KGZ1bmN0aW9uKGQpIHsKICB2YXIgcyxjLG89c21hcnRzdXBwPWZ1bmN0aW9uKCl7IG8uXy5wdXNoKGFyZ3VtZW50cyl9O28uXz1bXTsKICBzPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdO2M9ZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICBjLnR5cGU9J3RleHQvamF2YXNjcmlwdCc7Yy5jaGFyc2V0PSd1dGYtOCc7Yy5hc3luYz10cnVlOwogIGMuc3JjPSdodHRwczovL3d3dy5zbWFydHN1cHBjaGF0LmNvbS9sb2FkZXIuanM/JztzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMscyk7Cn0pKGRvY3VtZW50KTsKPC9zY3JpcHQ+Cjxub3NjcmlwdD5Qb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20iIHRhcmdldD0iX2JsYW5rIj5TbWFydHN1cHA8L2E+PC9ub3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg=="}},"time_used":443,"timings":{"blocked":-1,"dns":3,"connect":88,"send":0,"wait":260,"receive":0,"ssl":92},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.949Z","timestamp":1785120760949,"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":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /alpinejs@3.x.x/dist/cdn.min.js HTTP/1.1\r\nHost: unpkg.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://360trustwealthavenue.stglen.com/\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 302 \r\ndate: Mon, 27 Jul 2026 02:52:40 GMT\r\ncontent-type: text/plain;charset=UTF-8\r\ncontent-length: 48\r\nlocation: /alpinejs@3.15.12/dist/cdn.min.js\r\naccess-control-allow-origin: *\r\ncache-control: public, max-age=60, s-maxage=300\r\ncross-origin-resource-policy: cross-origin\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a2185974280b4c11-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"302","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"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/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-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":null}},"time_used":46,"timings":{"blocked":-1,"dns":3,"connect":28,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.144Z","timestamp":1785120762144,"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=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\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: 2516\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: ZrXfEJMhNIK-dI72sfU6p43mW9tdir1oeXktd_Dj9EhgIN5lyfXxGA==\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":1387,"size_decoded":1882,"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-07-27T05:24:59.922785Z","times_seen":15508,"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":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":"s2.coinmarketcap.com/static/img/coins/64x64/32196.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.156Z","timestamp":1785120762156,"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=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\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: Sun, 26 Jul 2026 03:33:59 GMT\r\netag: \"4d5fec04d4a1bc91ff0237e3cd86559f\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 83929\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: HW67OVj61lo27XDJJiliHj_PHO5k9jAmi9J7TAd0uvl1ZTy4Swmb0g==\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":1131,"size_decoded":1665,"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-07-27T05:24:59.829395Z","times_seen":1105,"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":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/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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.501Z","timestamp":1785120763501,"http_version":"HTTP/2","security_state":"","security_info":null,"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/market-overview/?locale=en\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 02:52:43 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: 0b90370b244852b321b5718bde2baf7c\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"360trustwealthavenue.stglen.com/dash/ethereum-eth-logo.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.988Z","timestamp":1785120760988,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /dash/ethereum-eth-logo.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:04 GMT\r\naccept-ranges: bytes\r\ncontent-length: 160579\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":160579,"size_decoded":160991,"mime_type":"image/png","magic":"PNG image data, 3258 x 3258, 8-bit/color RGBA, non-interlaced","md5":"86b356aa4636232f3e200c65d2a8b6b4","sha1":"3f415cd75e8a755a032ae16a3406c41dcc2d667a","sha256":"7af0cf14f1d0a35e2446b1ad8db4fc424c6735c4ca2ded1410f8d3ad69456913","sha512":"a2e8a2b8039b0a0f3fbd8d4a89554b313f7cab24530426eafc2d9a1b63e5c126fb419b61826894a2cc5f42f2c298151cec05d0e73aae55f419da60ad02b45a38","ssdeep":"1536:oU+xMzsj5wW0nmkkIX0fJNWuimucyv/QqBqdXi532C6yeoGBtAtFpj9j8GgG8cSx:3+az2GRnb3p/532RFK7ph8GZ2qiXK+","tlshash":"59f34beb9f2bccf9856a317f7baf0c2296d1db656395928653c1c11f7f8d0200a05a8c","first_seen":"2023-05-21T17:02:57Z","last_seen":"2026-07-27T05:09:56.404933Z","times_seen":1389,"resource_available":false,"data":"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"}},"time_used":391,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":272,"receive":119,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505","date":"2026-07-27T02:52:41.967Z","timestamp":1785120761967,"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=chart\u0026theme=dark\u0026coin_id=859\u0026pref_coin_id=1505\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: 7087135\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 02:52:41 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=uQHgqb0Rx%2BkTRsAWu6rokblUptSueJ%2Bv9pJzmmCMj4hPSYdR%2FqtWaj3BXPfB%2F6i27sV1bWQL8Nj9krGgKPbEOgTUK%2FkiHOCegA%2Bh5nVrEBBQJ4%2B%2FueWIPNZvWgE7\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218597a4be50daa-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":"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"]}],"data":{"size":84456,"size_decoded":25536,"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-07-27T05:24:59.874028Z","times_seen":1473,"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":"s2.coinmarketcap.com/static/img/coins/64x64/1027.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.140Z","timestamp":1785120762140,"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=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\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: 63531\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 9fJN7s8nOe8hAm9D8uGvBYUhzSjpXLru4W9XcRRIMaBXQzKZx1kyig==\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":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-07-27T05:24:59.818059Z","times_seen":22523,"resource_available":false,"data":"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"}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":0,"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.34","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=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:42.260Z","timestamp":1785120762260,"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=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\ncontent-type: image/png\r\ncontent-length: 995\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 03 Dec 2024 12:34:09 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 04:08:30 GMT\r\netag: \"fb99efdd147ed3f3dcaf18ee5ba11bc1\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 81871\r\nvia: 1.1 0c320ef7cdafe090a827b487bd3f2d44.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: GT4lYm5fIp_HYq8XXl6IWQw2NOPTgGEoPLy-_SwUoWa7NDJwjIyGJw==\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":995,"size_decoded":1528,"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-07-27T05:24:59.883562Z","times_seen":988,"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":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/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://www.tradingview-widget.com/embed-widget/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.527Z","timestamp":1785120763527,"http_version":"HTTP/2","security_state":"","security_info":null,"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\nReferer: https://www.tradingview-widget.com/embed-widget/market-overview/?locale=en\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 02:52:43 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: 7d8d490a0aa9cdd29ecac90155807bd5\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-07-27T05:14:11.3544Z","times_seen":17556491,"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.tradingview.com/external-embedding/embed-widget-forex-cross-rates.js","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":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.965Z","timestamp":1785120760965,"http_version":"HTTP/2","security_state":"secure","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 /external-embedding/embed-widget-forex-cross-rates.js 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://360trustwealthavenue.stglen.com/\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\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"6ff9630986d3855842b586b326474dae\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:24 GMT\r\nx-amz-id-2: gOMHE79Zn7yZ7yeqnhc2FK+gr/LdIPQnKT1/sqspzs6732OIPvuk0br9ZUw50iTxC4qxwwtAi+UBCvBVhRKB+q2k+kfN0z4K\r\nx-amz-request-id: 39DAMT3KYR5Z64HK\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: 9fupqI4xxEHAneKy4exkfX_7FVRNO7mI\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:52:19\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d99f46996efe3eb36c00e5cf61724f1d\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":12720,"size_decoded":5883,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"6ff9630986d3855842b586b326474dae","sha1":"69f83fc5e5e46f4ae60db6c9a2c7a0624f2b971d","sha256":"2eb114ab8c6de3b23037ae8feb4df46fc8d082acfe985a7086ad2744b49f2618","sha512":"7aea1b79bb1426698dcc337f9814dddffd5bcbddf75914dd5e73e107f13b378656aacca54997eb6dffbbeabb0c071c3b1a30d5e3d6eff3e117964eac45090f24","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6OrmaRMViZMEa:uD5Unb26nD6OrmaRkFEa","tlshash":"5b42d7aab660dcbd919945dba07a2321b61d3944b203eca4b5ace4c510fdccca531f7e","first_seen":"2026-07-16T22:06:47.112342Z","last_seen":"2026-07-27T05:25:34.153155Z","times_seen":720,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxBLGspLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgRT10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoRT8odChFLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxFKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKG4uaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLGkpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1yLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19bmV3IGNsYXNzIGV4dGVuZHMgZHtnZXQgd2lkZ2V0SWQoKXtyZXR1cm4iZm9yZXgtY3Jvc3MtcmF0ZXMifWdldCB1c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0KCl7cmV0dXJuITB9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWyJjb2xvclRoZW1lIiwiY3VycmVuY2llcyIsImN1c3RvbWVyIiwiZGlzYWJsZUNyb3NzQ2xpY2tIcmVmIiwiaGVpZ2h0IiwibGFyZ2VDaGFydFVybCIsImxvY2FsZSIsIndpZHRoIiwiYmFja2dyb3VuZENvbG9yIl19fX0pKCk7"}},"time_used":232,"timings":{"blocked":-1,"dns":1,"connect":7,"send":0,"wait":2,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-forex-heat-map.js","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":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.967Z","timestamp":1785120760967,"http_version":"HTTP/2","security_state":"secure","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 /external-embedding/embed-widget-forex-heat-map.js 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://360trustwealthavenue.stglen.com/\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\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"4250af1be90fb91f7a96be6b3a9493fe\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:25 GMT\r\nx-amz-id-2: 6Dfw/cNX0r+3XjAuhQrQzRSQAiuPdq6Kk4Y5KReSuuRPNg+XSrqvqHXWkdLK+osbA1/Y9hdE61P+qEgFZWPU0CC7o0SMARG+\r\nx-amz-request-id: EGX6WVEJXPE5CE99\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: jqDTKkFvqs8xX7k2iSQBx9loYguVft9h\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:44:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: aef890ccdd67a8d7c2746a1266db86f0\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"]},{"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":12750,"size_decoded":5892,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"4250af1be90fb91f7a96be6b3a9493fe","sha1":"f5c2d8c57b7c58224c792f81892276d4ea678a33","sha256":"daa79144c249605c3e1c1434585756c3037c661ffea4e1a235dba1b5305f656c","sha512":"2b610f8da456f88151919aaf899a93949f3bed150f3376c4c4cfe510ba24c0ed536176f876ade3e5c6d128132dcc727669b6882dfc8aaf6ff16c3f685758c047","ssdeep":"384:gf6uCWoofYkFdjhA7Fb2670q64rmYRMViZMAf/:uD5Axb267D64rmYRkFAn","tlshash":"f742c8aab660dcbd919945dba07a2321b61d3944b203eca4b5ece4c510fdccca531f7e","first_seen":"2026-07-16T22:06:47.19391Z","last_seen":"2026-07-27T05:18:44.267624Z","times_seen":661,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLGE9Il9fTkhUVFBfXyIsbz1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBvLnRlc3QoZS5wcm90b2NvbCk/bnVsbDphfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShvLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczphLGlkOm8sb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPW4ucGFyZW50Tm9kZTthJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihhLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGEmJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MoYSkpLGEmJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsbyxBLGspLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgRT10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoRT8odChFLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxFKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKG4uaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBhPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcoYSksdGhpcy5fc2V0SGFzaFN0cmluZyhhLGkpLG4uc2V0QXR0cmlidXRlKCJzcmMiLGEudG9TdHJpbmcoKSksbi50aXRsZT1yLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19bmV3IGNsYXNzIGV4dGVuZHMgZHtnZXQgd2lkZ2V0SWQoKXtyZXR1cm4iZm9yZXgtaGVhdC1tYXAifWdldCB1c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0KCl7cmV0dXJuITB9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWyJjb2xvclRoZW1lIiwiY3VycmVuY2llcyIsImN1c3RvbWVyIiwiZGlzYWJsZUNyb3NzQ2xpY2tIcmVmIiwiZnJhbWVFbGVtZW50SWQiLCJoZWlnaHQiLCJpc1RyYW5zcGFyZW50IiwibGFyZ2VDaGFydFVybCIsImxvY2FsZSIsIndpZHRoIiwiYmFja2dyb3VuZENvbG9yIl19fX0pKCk7"}},"time_used":71,"timings":{"blocked":-1,"dns":29,"connect":28,"send":0,"wait":2,"receive":-1,"ssl":8},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/dash/bitcoin-btc-logo.png","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.986Z","timestamp":1785120760986,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /dash/bitcoin-btc-logo.png HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 29 Jul 2025 14:16:04 GMT\r\naccept-ranges: bytes\r\ncontent-length: 87786\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":87786,"size_decoded":88197,"mime_type":"image/png","magic":"PNG image data, 2000 x 2000, 8-bit/color RGBA, non-interlaced","md5":"d6a21bc3c9efb83425341d0e319f8110","sha1":"f2e3c72421dba14abc3d3e5f47527a8871845a85","sha256":"fc600df9cffdbed77b88c6f4efdb491310f0f84d1b2d58387958c3c41e950476","sha512":"d2f6ca081bb1101677532559318db1f55a345c2137a8b8a326cd0941341dbebae13a4227552619b3618f1321805d7e992e923db3a87deb87de06341d625935a4","ssdeep":"1536:L+ktmrYWswbPcfmsyLnWvN4yKuATOz/ccPPfIXsMSKCo1weydaPAgZbdL:ntmrnbxHWVCgcQwXsKtAsZL","tlshash":"f083f1138c1ece75d8554afcfabb8fc1f70026bdc131add5a8385d68b499980125b8ee","first_seen":"2023-05-21T17:02:57Z","last_seen":"2026-07-27T05:09:56.386782Z","times_seen":1439,"resource_available":false,"data":"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"}},"time_used":272,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":87,"receive":185,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"360trustwealthavenue.stglen.com/temp/custom/mike.jpg","fqdn":"360trustwealthavenue.stglen.com","domain":"stglen.com","tld":"com"},"ip":{"addr":"163.61.188.9","port":443,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:41.002Z","timestamp":1785120761002,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"360trustwealthavenue.stglen.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 17 Jun 2026 03:45:04 GMT","end":"Tue, 15 Sep 2026 03:45:03 GMT"},"fingerprint":{"sha1":"35:0C:62:BB:4F:45:0C:70:39:69:81:00:D0:FF:77:BF:F4:C1:D6:0E","sha256":"8D:F2:5A:54:80:A9:DF:C2:F6:54:BB:A5:2A:78:E8:1E:B3:23:82:A9:23:5A:52:F9:80:58:40:61:5E:28:D2:4A"}}},"request":{"raw":"GET /temp/custom/mike.jpg HTTP/1.1\r\nHost: 360trustwealthavenue.stglen.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://360trustwealthavenue.stglen.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Inh1L1Vvb2JZNHpCdXJIZy9kUGJoUWc9PSIsInZhbHVlIjoiaVkwRkgrbkxvZDloSGEyZzNqOWRteGszNTRtOE5RZEZXQ2JoaDc0enplc3Vad3JYc3BWWmIvRGRWZDRhYjM2WnMvSUFaVDdOTThtSWlqNmhnRStEbUdPdDZ5N2tZdjBUVWdhYnV4NFkrbE1LL2dHK2R0ckxXZGV4NE8ybTVCT24iLCJtYWMiOiJjNGJkNDZlNjFjYzllOWE2OTY0NjhlMTRhZGIxNGNkMTViYjM5YmNjYWQ2YWIwYTliNGQyYTZjNDBhYWI5NThiIiwidGFnIjoiIn0%3D; remedy_algo_trade_session=eyJpdiI6IkhEU1VwKzdxZ2htTi9FWnhHMXlyWUE9PSIsInZhbHVlIjoiaXZoUGhBUm5KMGIrU0RGOTZKMCt0V0JsSnF3cGdMd1Yvc2IwU3ZJWWdWWFA2L2pQRjBvbWZMMERuMmlNQ0h0NFdSOG5URUtYRFNOcFBqK3p5YWo0a2lzVzMwU2NkKzFGbUhwTVhvSkZ0aDFnZ2h5ZU0rVkpGREdUNzN1bjBXY0YiLCJtYWMiOiJhNDUxN2ZlZjgzMjhjOTQzYTliZDM5NDg5NTYwZWEzMzJjYTBlYWQyYzZkOTk3OWQ3MGJjMTBiMGQ2YmI0OTdmIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 02:52:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 29 Jul 2025 14:16:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 6667\r\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\nserver: LiteSpeed\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":6667,"size_decoded":7078,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 198x255, components 3","md5":"3f1b545d163e56b17412b63bb84fb950","sha1":"33d88481dcfdd996fdbc6fafa90b7dba45ffa57a","sha256":"cf9154baa608377206b54e2a3ce431f76b770dd4766ee90189bbbb90170dee50","sha512":"49de6ec21f6c6cd380244d8ab36e0c5fb1fc76967e593cdf05a9734bb6aa5cdfe5f1b363060afa252a0c29780a6ff93cfc9dc6ad4a7b53f2df93c4a59b364d72","ssdeep":"192:S/Xklx2nLOdT66567v2i83R0xfCHBsIvHSSIClahwI:DaLOdD67DouUyY+wI","tlshash":"64d19d4d618e6e66ec0408b1ed5f136a4b40ccc43c685f53c2819e8a7dac996de93a2d","first_seen":"2024-08-19T14:44:35.701898Z","last_seen":"2026-07-27T05:24:59.830905Z","times_seen":927,"resource_available":false,"data":"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"}},"time_used":514,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":170,"receive":344,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"360trustwealthavenue.stglen.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/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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.087Z","timestamp":1785120763087,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 1aecc123756ad5d669a745d424f093f0\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-27T05:26:55.647444Z","times_seen":115,"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":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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.122Z","timestamp":1785120763122,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 2852ca11c2fb91c07e6022e7e366363d\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-27T05:26:55.733133Z","times_seen":114,"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":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.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.157.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/Gc2en3nHxA4","date":"2026-07-27T02:52:43.261Z","timestamp":1785120763261,"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/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.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: 23758\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 00:07:39 GMT\r\nexpires: Fri, 23 Jul 2027 00:07:39 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: 355504\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":62519,"size_decoded":24569,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (61258)","md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T05:15:36.990389Z","times_seen":469,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgZD1mdW5jdGlvbihSLGMsRyxCLG0sTixoLFAsayxEKXt7az05ODt3aGlsZShrIT1jKXtpZihrPT02OClyZXR1cm4gRDtpZihrPT04NylrPShHPDwyJjcpPDYmJigoR140MCkmNyk+PTQ/NDA6Njg7ZWxzZSBpZihrPT05OClrPTM3O2Vsc2UgaWYoaz09NDApe2E6e2lmKCEoUD0oaD1tLFopLnRydXN0ZWRUeXBlcyxQKXx8IVAuY3JlYXRlUG9saWN5KXtEPWg7YnJlYWsgYX10cnl7aD1QLmNyZWF0ZVBvbGljeShOLHtjcmVhdGVIVE1MOm4sY3JlYXRlU2NyaXB0Om4sY3JlYXRlU2NyaXB0VVJMOm59KX1jYXRjaChJKXtpZihaLmNvbnNvbGUpWi5jb25zb2xlW0JdKEkubWVzc2FnZSl9RD1ofWs9Njh9ZWxzZSBrPT01Nj8oRD1CLGs9ODcpOms9PTM3JiYoaz0oR14xMyk8MjQmJihHXlIpPj0xOD81Njo4Nyl9fX0sWj10aGlzfHxzZWxmLG49ZnVuY3Rpb24oUil7cmV0dXJuIGQuY2FsbCh0aGlzLDMwLDgwLDMsUil9OygwLGV2YWwpKGZ1bmN0aW9uKFIsYyl7cmV0dXJuKGM9ZCgzMCw4MCwxNCwiZXJyb3IiLG51bGwsImFkIikpJiZSLmV2YWwoYy5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBjLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR319KFopKEFycmF5KE1hdGgucmFuZG9tKCkqNzgyNHwwKS5qb2luKCJcbiIpK1snLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PScsCicoZnVuY3Rpb24oKXsvKicsCicnLAonIENvcHlyaWdodCBHb29nbGUgTExDJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgY3U9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD0oUD05OCwxNik7Oyl0cnl7aWYoUD09ODApYnJlYWs7ZWxzZSBpZihQPT0zNylQPSgoR3w2KSY3KT49MyYmKEc+PjImNik8Mz81Njo4NztlbHNlIGlmKFA9PTg3KVA9KEd8OCk9PUc/NDA6Njg7ZWxzZSBpZihQPT03NSlQPTk5O2Vsc2UgaWYoUD09MSlkPTE2LGUoODgsRCxaLFQpLFA9MzI7ZWxzZSBpZihQPT01NilrLnJhdz1SLE9iamVjdC5mcmVlemUmJihPYmplY3QuZnJlZXplKGspLE9iamVjdC5mcmVlemUoUikpLE49ayxQPTg3O2Vsc2UgaWYoUD09NDApUD05OTtlbHNlIGlmKFA9PTYpZD0yMSxuPWtuKEIsayxSLFopLFA9MzI7ZWxzZSBpZihQPT05OClQPTM3O2Vsc2UgaWYoUD09MzkpWi5TPWgsQj1aLlAucG9wKCksUD02O2Vsc2V7aWYoUD09NjgpcmV0dXJuIE47UD09NTE/UD1jJiZaLlM/MTY6NzU6UD09NTI/KE49bixQPTY4KTpQPT0zMj8oZD0xNixQPTUxKTpQPT0xNj8obT1aLlMsbShmdW5jdGlvbigpe1JCKDMxLGZhbHNlLFosUixSKX0pLFA9NTIpOlA9PTk5JiYoUD1aLlAubGVuZ3RoPzM5OjUyKX19Y2F0Y2goSSl7aWYoZD09MTYpdGhyb3cgSTtkPT0yMSYmKFQ9SSxQPTEpfX0sb0I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Zm9yKG09MTttIT01OTspaWYobT09MjYpbT1SPDwxJms/ODg6OTI7ZWxzZSBpZihtPT0zNyl7YTp7aWYodHlwZW9mIGM9PT0ic3RyaW5nIil7Qj10eXBlb2YgRCE9PSJzdHJpbmcifHxELmxlbmd0aCE9Rz8tMTpjLmluZGV4T2YoRCxoKTticmVhayBhfWZvcihaPWg7WjxjLmxlbmd0aDtaKyspaWYoWiBpbiBjJiZjW1pdPT09RCl7Qj1aO2JyZWFrIGF9Qj0tMX1tPTIzfWVsc2UgaWYobT09NzApdGhpcy5CPUcsbT0yNjtlbHNlIGlmKG09PTc0KVo9dHlwZW9mIGMsbj1aIT1oP1o6Yz9BcnJheS5pc0FycmF5KGMpPyJhcnJheSI6WjoibnVsbCIsQj1uPT1EfHxuPT1oJiZ0eXBlb2YgYy5sZW5ndGg9PUcsbT01NjtlbHNlIGlmKG09PTM2KW09KFJ8NDApPT1SPzc0OjU2O2Vsc2V7aWYobT09ODgpcmV0dXJuIEI7bT09NTY/bT0oUj4+MSZrKT09MT8zNzoyMzptPT02MT8oQj1jdShHLEcsMyksbT0zNik6bT09MjM/bT0oUi01JjMpPT0zPzcwOjI2Om09PTA/bT0oUiY1OSk9PVI/NjE6MzY6bT09OTI/KHRoaXMubisrLGg9Ry10aGlzLmgsdGhpcy5oKz1oL3RoaXMubix0aGlzLmh4Kz1oKihHLXRoaXMuaCksbT04OCk6bT09MSYmKG09MCl9fSxDbj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Zm9yKG49NDc7biE9MjE7KWlmKG49PTQ1KW49KFJeMjIpPj4zPzU3OjY3O2Vsc2UgaWYobj09Njgpbj1SLTQ+PjQ+PTEmJigoUl42OCkmMTYpPDI/MTI6OTI7ZWxzZSBpZihuPT1rKW49KFImOTApPT1SPzMzOjY4O2Vsc2UgaWYobj09NjcpbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRyxFUikmJkdbRVJdfHwoR1tFUl09KytIdSksbj01NztlbHNlIGlmKG49PTQ3KW49aztlbHNlIGlmKG49PTMzKW09YSgxOCxudWxsLDgxOTIsRyx0cnVlKSxuPTY4O2Vsc2V7aWYobj09NTcpcmV0dXJuIG07bj09OTI/bj0oUnw0OCk9PVI/ODE6NDU6bj09ODE/KHRoaXNbdGhpcysiIl09dGhpcyxuPTQ1KTpuPT0xMiYmKGM9aCxjXj1jPDwxMyxjPShaPWM+PjE3LChjfDApLShjJlopLSh+Y15aKSsofmN8WikpLChjPShjXmM8PDUpJkQpfHwoYz0xKSxtPShHfDApKyhjfDApLTIqKEcmYyksbj05Mil9fSxySj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtmb3IobT05NTttIT02NTspe2lmKG09PTg3KXJldHVybiBCO2lmKG09PTI4KWhXKDI0LHRydWUsRyksbT0zMTtlbHNlIGlmKG09PTQ2KXthOntmb3IoYyBpbiBoKWlmKEQuY2FsbCh2b2lkIDAsaFtjXSxjLGgpKXtCPVI7YnJlYWsgYX1CPUd9bT04N31lbHNlIGlmKG09PTMxKW09aC5aW0RdLmxlbmd0aD09Uj84OToxMztlbHNlIGlmKG09PTIxKUQ9Ry50eXBlLG09Nzg7ZWxzZSBpZihtPT03MSl0aGlzLmxYPXRoaXMubFgsdGhpcy5nPXRoaXMuZyxtPTU5O2Vsc2UgaWYobT09NiltPShrfDE2KT09az83NTo5NDtlbHNlIGlmKG09PTEzKW09KGs+PjImMTMpPT0xPzcxOjU5O2Vsc2UgaWYobT09NTkpbT0oaz4+MSY3KT09ND83OTo2O2Vsc2UgaWYobT09OTUpbT02MztlbHNlIGlmKG09PTk0KW09KChrXjUyKSYxMyk+PTgmJigoa141MCkmMTQpPDk/NDY6ODc7ZWxzZSBpZihtPT02MyltPWs+PjEmNj8xMzoyMTtlbHNlIGlmKG09PTc4KW09RCBpbiBoLlomJnRXKDcsUixHLGguWltEXSk/Mjg6MTM7ZWxzZSBpZihtPT03OSltPTY7ZWxzZSBpZihtPT03NSl7YTp7Zm9yKG49UjtuPEQubGVuZ3RoOysrbilpZihaPURbbl0sIVouZlgmJloubGlzdGVuZXI9PWMmJlouY2FwdHVyZT09ISFHJiZaLlZuPT1oKXtCPW47YnJlYWsgYX1CPS0xfW09OTR9ZWxzZSBtPT04OSYmKGRlbGV0ZSBoLlpbRF0saC5KeC0tLG09MTMpfX0sdFc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXt7UD05NDt3aGlsZShQIT05KWlmKFA9PTE2KUQ9b0IoMTMsNiwxLFIsRyxoKSwoYz1EPj1SKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGgsRCwxKSxkPWMsUD00NztlbHNle2lmKFA9PTQpcmV0dXJuIGQ7aWYoUD09NTcpbT1aW0JdLFA9NDA7ZWxzZSBpZihQPT01MilQPTM3O2Vsc2UgaWYoUD09NDApUD0hb0IoMTMsNDUsRywib2JqZWN0IiwiYXJyYXkiLG0pfHxOUCg0LCJvYmplY3QiLDE5LG0pJiZtLm5vZGVUeXBlPkQ/OTU6NzU7ZWxzZSBpZihQPT00NylQPShrJjI3KT09az82NTo3MjtlbHNlIGlmKFA9PTkzKUc9UltsOV0sZD1HIGluc3RhbmNlb2Ygak0/RzpudWxsLFA9NDtlbHNlIGlmKFA9PTYyKVA9KGsrOF4yNyk+PWsmJihrLTR8NzUpPGs/Mjk6MTg7ZWxzZSBpZihQPT03NSl7YTp7aWYobSYmdHlwZW9mIG0ubGVuZ3RoPT1HKXtpZihOUCg0LCJvYmplY3QiLDE4LG0pKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBtLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIG09PT0iZnVuY3Rpb24iKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19VD1SfVA9KFJCKDMzLEQsaCxUP2hXKDEyLEQsbSk6bSxOKSw2MCl9ZWxzZSBQPT02NT8oTj1mdW5jdGlvbihJKXtJJiZuLmFwcGVuZENoaWxkKHR5cGVvZiBJPT09InN0cmluZyI/Yy5jcmVhdGVUZXh0Tm9kZShJKTpJKX0sQj0xLFA9NTIpOlA9PTYwPyhCKyssUD0zNyk6UD09OTQ/UD0xMjpQPT05OT8oYUIuY2FsbCh0aGlzLFI/Ui50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5ZTj1udWxsLFImJnRoaXMuaW5pdChSLEcpLFA9NjIpOlA9PTcyP1A9KGs+PjEmMjMpPT0yPzkzOjQ6UD09MTI/UD1rKzYmMTM/NjI6OTk6UD09Mjk/KGQ9eWZbR10oeWYucHJvdG90eXBlLHtwYXJlbnQ6UixsZW5ndGg6UixzdGFjazpSLHBvcDpSLHByb3RvdHlwZTpSLHByb3BlcnR5SXNFbnVtZXJhYmxlOlIsZG9jdW1lbnQ6UixzcGxpY2U6UixjYWxsOlIscmVwbGFjZTpSLGNvbnNvbGU6UixmbG9vcjpSfSksUD0xOCk6UD09Mzc/UD1CPFoubGVuZ3RoPzU3OjcyOlA9PTk1PyhOKG0pLFA9NjApOlA9PTE4JiYoUD1rPj4xPDkmJihrXjgwKT4+Mz49Mj8xNjo0Nyl9fX0sTVA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7Qj00Nzt3aGlsZShCIT0zNCl7aWYoQj09OTIpdGhyb3cgbmV3IFNNKHR5cGVvZiBHLDEpO2lmKEI9PTk2KVIuc2FuZGJveC5zdXBwb3J0cyYmIVIuc2FuZGJveC5zdXBwb3J0cyhEW2NdKXx8Ui5zYW5kYm94LmFkZChEW2NdKSxCPTc5O2Vsc2UgaWYoQj09NTYpQj0oays4JjU5KTxrJiYoays2XjUpPj1rPzMyOjgzO2Vsc2UgaWYoQj09NSlCPW48Ui5sZW5ndGg/MTg6NDk7ZWxzZSBpZihCPT02NylCPUcgaW5zdGFuY2VvZiBYMT83NTo5MjtlbHNlIGlmKEI9PTMwKXtpZihHIGluc3RhbmNlb2YgWDEpaD1HLktqO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO1Iuc3JjPWgudG9TdHJpbmcoKSxCPTUxfWVsc2UgaWYoQj09MjUpQj02MjtlbHNlIGlmKEI9PTQ3KUI9NTY7ZWxzZSBpZihCPT00NSlUPSEhKGg9Ry5PMiwtMip+KGgmUikrfmgrKGheUikrKGh8flIpKSxCPTY7ZWxzZSBpZihCPT03OSljKyssQj02MjtlbHNlIGlmKEI9PTc1KUQ9ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24iLnNwbGl0KCIgIiksUi5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCIiKSxjPTAsQj0yNTtlbHNlIGlmKEI9PTgzKUI9ay01PDE1JiYoa142OSk+PjQ+PTI/NDU6NjtlbHNlIGlmKEI9PTUzKUI9NzY7ZWxzZXtpZihCPT01MSlyZXR1cm4gVDtCPT01Mj9CPTE2OkI9PTcyP0I9NTpCPT02Mj9CPWM8RC5sZW5ndGg/OTY6MzA6Qj09Nzc/KFIucmVtb3ZlQXR0cmlidXRlKCJzcmNkb2MiKSxCPTY3KTpCPT00PyhuKyssQj01KTpCPT0xNj9CPWg+Nz8yNzo0OkI9PTE4PyhoKz1HLEQ9KG09RDw8RyxjPVJbbl0sMiooY3wwKSt+Yy0ofm18YykpLEI9NTIpOkI9PTQ5PyhUPVosQj04Myk6Qj09Nj9CPShrKzUmNyk9PTE/NTM6NzY6Qj09MTM/Qj0xNjpCPT0zMj8oaD1uPTAsWj1bXSxCPTcyKTpCPT0yNz8oaC09OCxaLnB1c2goRD4+aCYyNTUpLEI9MTMpOkI9PTc2JiYoQj0oaysxJjExKT09Mz83Nzo1MSl9fX19LGhXPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7Zm9yKFo9NTtaIT05NjspaWYoWj09OTEpe2E6e2lmKChEPUcubGVuZ3RoLEQpPlIpe2ZvcihjPShoPUFycmF5KEQpLFIpO2M8RDtjKyspaFtjXT1HW2NdO249aDticmVhayBhfW49W119Wj05OX1lbHNlIGlmKFo9PTQwKW49TWF0aC5mbG9vcih0aGlzLkooKSksWj01NztlbHNlIGlmKFo9PTEwKVo9ay00Pj4zPT0xPzkxOjk5O2Vsc2UgaWYoWj09NDIpUi5uWD1mdW5jdGlvbigpe3JldHVybiBSLlh6P1IuWHo6Ui5Yej1uZXcgUn0sUi5Yej12b2lkIDAsWj0xMDtlbHNlIGlmKFo9PTIpRy5mWD1SLEcubGlzdGVuZXI9bnVsbCxHLnByb3h5PW51bGwsRy5zcmM9bnVsbCxHLlZuPW51bGwsWj01OTtlbHNlIGlmKFo9PTg1KVo9KGt8NTYpPT1rPzQwOjU3O2Vsc2UgaWYoWj09NTcpWj0oaysxJjI4KT49ayYmKGstMV43KTxrPzI6NTk7ZWxzZSBpZihaPT01OSlaPShrfDcyKT09az80MjoxMDtlbHNlIGlmKFo9PTUpWj04NTtlbHNlIGlmKFo9PTk5KXJldHVybiBufSxUbz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e1Q9NTc7d2hpbGUoVCE9NTkpaWYoVD09aylEWi5jYWxsKHRoaXMpLFJ8fFpafHwoWlo9bmV3IG5uKSx0aGlzLlFuPXRoaXMuQT1udWxsLHRoaXMuWGk9dGhpcy5qbT1mYWxzZSx0aGlzLnMyPXZvaWQgMCx0aGlzLktYPXRoaXMuWjc9dGhpcy5jVj1udWxsLFQ9Njk7ZWxzZSBpZihUPT03NSlUPTQ7ZWxzZXtpZihUPT01MSlyZXR1cm4gTjtUPT00P1Q9QjxtLmxlbmd0aD81Mjo1MTpUPT04OT9UPShHLTVeMzIpPj1HJiYoRy00fDE2KTxHP2s6Njk6VD09MTM/KG49QnUoMyxuKSxaJiZaW2RKXT9aLkkuYWRkKFN0cmluZyhtKSxuLGgsTlAoNCxSLDE2LGMpPyEhYy5jYXB0dXJlOiEhYyxEKTpJQig2NCwib2JqZWN0IixmYWxzZSxuLGgsbSxaLGMsRCksVD01MSk6VD09OTA/KEI9MCxUPTc1KTpUPT01P1Q9QXJyYXkuaXNBcnJheShtKT85MDoxMzpUPT01Nz9UPTg5OlQ9PTE/KEIrKyxUPTQpOlQ9PTY5P1Q9Ry05Pj40PzUxOjU6VD09NTImJihUbyg1NCwib2JqZWN0Iiw5LHRydWUsRCxjLFosbixtW0JdKSxUPTEpfX19LGU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXt7bj0yMTt3aGlsZShuIT02NylpZihuPT0yMSluPTUwO2Vsc2UgaWYobj09MTkpbj0oKGteNTApJjI2KTw3JiYoa143OSk+PTI3Pzk2Ojg3O2Vsc2UgaWYobj09MjkpdHlwZW9mIGguY2xhc3NOYW1lPT1SP2guY2xhc3NOYW1lPUc6aC5zZXRBdHRyaWJ1dGUmJmguc2V0QXR0cmlidXRlKCJjbGFzcyIsRyksbj04OTtlbHNlIGlmKG49PTMpYz1HLHNSPT09dm9pZCAwJiYoc1I9UiksRD0oaD1zUik/aC5jcmVhdGVTY3JpcHRVUkwoYyk6YyxaPW5ldyBYMShEKSxuPTE5O2Vsc2UgaWYobj09NTApbj1rLTE+PjQ+PTEmJihrPj4xJjEyKTwyPzM6MTk7ZWxzZSBpZihuPT0yMClHLks9KChHLks/Ry5LKyJ+IjoiRToiKStoLm1lc3NhZ2UrUitoLnN0YWNrKS5zbGljZSgwLDIwNDgpLG49MTU7ZWxzZSBpZihuPT05NiluPTg3O2Vsc2UgaWYobj09OTIpWj1vQigxMyw3LDEsUixHLGgpPj1SLG49NjI7ZWxzZSBpZihuPT04NyluPShrfDMpPj40PDImJms+PjE+PS02Nj8yOTo4OTtlbHNlIGlmKG49PTYyKW49KGt8MjQpPT1rPzIwOjE1O2Vsc2UgaWYobj09ODkpbj0oays1JjgpPDgmJihrXjkzKT4+Mz49MT85Mjo2MjtlbHNlIGlmKG49PTE1KXJldHVybiBafX0sQVc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKGM9aztjIT00MDspe2lmKGM9PTM3KXJldHVybiBaO2lmKGM9PTY3KWM9Ry05PDwyPj1HJiYoRyszXjUpPEc/NTM6Mzc7ZWxzZSBpZihjPT04KXRoaXMudHlwZT1SLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1oLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLlB0PWZhbHNlLGM9MjM7ZWxzZSBpZihjPT01KWM9KEcrNSYxNCk9PTI/ODY6Njc7ZWxzZSBpZihjPT0xMyl7YTp7aWYoIShEPW51bGwsaD1ILnRydXN0ZWRUeXBlcyxoKXx8IWguY3JlYXRlUG9saWN5KXtaPUQ7YnJlYWsgYX10cnl7RD1oLmNyZWF0ZVBvbGljeShSLHtjcmVhdGVIVE1MOnBuLGNyZWF0ZVNjcmlwdDpwbixjcmVhdGVTY3JpcHRVUkw6cG59KX1jYXRjaChuKXtILmNvbnNvbGUmJkguY29uc29sZS5lcnJvcihuLm1lc3NhZ2UpfVo9RH1jPTV9ZWxzZSBjPT04Nj8oYjkuY2FsbCh0aGlzLFIsaHx8UWYublgoKSxEKSxjPTY3KTpjPT0zOT9jPShHJjc5KT09Rz84OjIzOmM9PWs/Yz0zOTpjPT01Mz8oWj10eXBlb2YgRC5jbGFzc05hbWU9PSJzdHJpbmciP0QuY2xhc3NOYW1lOkQuZ2V0QXR0cmlidXRlJiZELmdldEF0dHJpYnV0ZShSKXx8aCxjPTM3KTpjPT0yMyYmKGM9KEc8PDEmMTYpPDE2JiYoR141OSk+PjM+PTI/MTM6NSl9fSxLbj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7Zm9yKGM9Njc7YyE9Njk7KWlmKGM9PTU3KXRoaXMuc3JjPWgsdGhpcy5KeD1rLHRoaXMuWj17fSxjPTE3O2Vsc2V7aWYoYz09MTcpcmV0dXJuIEQ7Yz09Njc/Yz03NzpjPT0zMj9jPUc8PDImNT8xNzo1NzpjPT03Nz9jPShHPj4yJjMpPT1SPzM2OjMyOmM9PTM2JiYoV3UuY2FsbCh0aGlzKSx0aGlzLkk9bmV3IGpNKHRoaXMpLHRoaXMubHE9dGhpcyx0aGlzLk5vPW51bGwsYz0zMil9fSxJQj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSl7Zm9yKEk9MTc7SSE9NTE7KWlmKEk9PTY3KVouYWRkTGlzdGVuZXIoQiksST0wO2Vsc2UgaWYoST09MTcpST01MztlbHNlIGlmKEk9PTE5KUk9KGteNzQpPj40PzYxOjM3O2Vsc2UgaWYoST09MTEpST1aLmF0dGFjaEV2ZW50PzU0OjMyO2Vsc2V7aWYoST09Nyl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoST09NzQpZm58fChuPVQpLG49PT12b2lkIDAmJihuPUcpLFouYWRkRXZlbnRMaXN0ZW5lcihjLnRvU3RyaW5nKCksQixuKSxJPTA7ZWxzZSBpZihJPT00OSlJPShrJjQ2KT09az85MzoxOTtlbHNlIGlmKEk9PTYxKUk9KGt8MjQpPT1rPzgwOjg2O2Vsc2UgaWYoST09MzcpST1jPzU1Ojc7ZWxzZSBpZihJPT04MClkPVIsST04NjtlbHNlIGlmKEk9PTg5KUk9Wi5hZGRFdmVudExpc3RlbmVyPzc0OjExO2Vsc2UgaWYoST09OTMpZD0hIShHLnJiJkQpJiZNUCg4LEQsRykhPWgmJighKGM9Ry5pcSwtMS1+KGN8RCktKGNeRCkpfHxHLmRpc3BhdGNoRXZlbnQodnUoNTYsUixELDIsNjQsOCxoLDI0KSkpJiYhRy5nLEk9MTk7ZWxzZSBpZihJPT04NSlkPXFQKFZmLFIpLEk9NDk7ZWxzZSBpZihJPT01NSlUPU5QKDQsUiwyMSxuKT8hIW4uY2FwdHVyZTohIW4sKFA9dFcoMjAsWikpfHwoWltsOV09UD1uZXcgak0oWikpLE49UC5hZGQoYyxoLEQsVCxtKSxJPTk3O2Vsc2V7aWYoST09MzYpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtpZihJPT0wKWk5KyssST02MTtlbHNlIGlmKEk9PTUzKUk9KGstOXw4NCk8ayYmKGsrNV4zKT49az8xMDozNDtlbHNlIGlmKEk9PTU0KVouYXR0YWNoRXZlbnQoTG4oMywib24iLGMudG9TdHJpbmcoKSw0OCksQiksST0wO2Vsc2V7aWYoST09ODYpcmV0dXJuIGQ7ST09MzI/ST1aLmFkZExpc3RlbmVyJiZaLnJlbW92ZUxpc3RlbmVyPzY3OjM2Okk9PTEwPyhSLlFuJiZSLlFuLmZvckVhY2goRyx2b2lkIDApLEk9MzQpOkk9PTU5PyhCPUYxKDk0LCJvbiIsMyksTi5wcm94eT1CLEIuc3JjPVosQi5saXN0ZW5lcj1OLEk9ODkpOkk9PTk3P0k9Ti5wcm94eT82MTo1OTpJPT0zNCYmKEk9KGs8PDImMTMpPT00Pzg1OjQ5KX19fX0sZj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7e0Q9MzA7d2hpbGUoRCE9NzkpaWYoRD09OTQpRD0oa3w3KT4+Mz84ODo1MTtlbHNlIGlmKEQ9PTUxKXRoaXMuTW89SC5kb2N1bWVudHx8ZG9jdW1lbnQsRD04ODtlbHNlIGlmKEQ9PTg4KUQ9ay0yPDwyPj1rJiYoays0XjI5KTxrPzYyOjYzO2Vsc2UgaWYoRD09MzApRD05NDtlbHNlIGlmKEQ9PTYyKUMoRyxSLGgpLFJbeG5dPTI3OTYsRD02MztlbHNlIGlmKEQ9PTYzKXJldHVybiBjfX0sT1I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7e1Q9NTI7d2hpbGUoVCE9OTYpaWYoVD09NTApVD1jPT09IiJ8fGM9PXZvaWQgMD83NTo2NjtlbHNlIGlmKFQ9PTgxKVQ9Ui0yPj0xMCYmUis2PDI2PzU6ODY7ZWxzZSBpZihUPT02MilUPShSJjcwKT09Uj8yNDo3NDtlbHNlIGlmKFQ9PTc0KVQ9KFImNDUpPT1SPzE0OjExO2Vsc2UgaWYoVD09MjQpUD1mdW5jdGlvbigpe30sRD12b2lkIDAsYz1nSihHLGZ1bmN0aW9uKGQsSSl7Zm9yKEk9MTU7SSE9NjQ7KUk9PTE1P0k9UD82Nzo2NDpJPT02NyYmKGgmJnU5KGgpLEQ9ZCxQKCksUD12b2lkIDAsST02NCl9LCEhaCksWj1jWzBdLG49Y1sxXSxOPXtob3Q6ZnVuY3Rpb24oZCxJLFMsWCxNLHIsbCl7Zm9yKHI9NDc7ciE9MjU7KXtpZihyPT0xMylyZXR1cm4gTT1aKFMpLGQmJmQoTSksTTtyPT01MD8obCgpLHI9MjUpOnI9PTg0P3I9ST8zOToxMzpyPT1rPyhYPVAsUD1mdW5jdGlvbigpe1goKSx1OShsKX0scj0yNSk6cj09Mzk/cj1EPzUwOms6cj09NDcmJihsPWZ1bmN0aW9uKCl7RChmdW5jdGlvbih3KXt1OShmdW5jdGlvbigpe2Qodyl9KX0sUyl9LHI9ODQpfX0scGU6ZnVuY3Rpb24oZCl7biYmbihkKX19LFQ9NzQ7ZWxzZSBpZihUPT02NilELnNldEF0dHJpYnV0ZShtLGMpLFQ9MTE7ZWxzZSBpZihUPT01MilUPTgxO2Vsc2V7aWYoVD09MTEpcmV0dXJuIE47VD09ODY/VD0oUnw3Mik9PVI/OTI6NjI6VD09MTQ/KEFycmF5LmlzQXJyYXkoYykmJihjPWMuam9pbigiICIpKSxtPSJhcmlhLSIrWixUPTUwKTpUPT01Pyh0aGlzW3RoaXMrIiJdPXRoaXMsTj1Qcm9taXNlLnJlc29sdmUoKSxUPTg2KTpUPT05Mj8oRD1HLE49ZnVuY3Rpb24oKXtyZXR1cm4gRDxoLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpoW0QrK119Ontkb25lOnRydWV9fSxUPTYyKTpUPT0yMj8oQj1VUixaIGluIEI/RC5zZXRBdHRyaWJ1dGUobSxCW1pdKTpELnJlbW92ZUF0dHJpYnV0ZShtKSxUPTExKTpUPT02Nz8obj17fSxVUj0obi5hdG9taWM9RyxuLmF1dG9jb21wbGV0ZT0ibm9uZSIsbi5kcm9wZWZmZWN0PSJub25lIixuLmhhc3BvcHVwPUcsbi5saXZlPSJvZmYiLG4ubXVsdGlsaW5lPUcsbi5tdWx0aXNlbGVjdGFibGU9RyxuLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsbi5yZWFkb25seT1HLG4ucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixuLnJlcXVpcmVkPUcsbi5zb3J0PSJub25lIixuLmJ1c3k9RyxuLmRpc2FibGVkPUcsbltoXT1HLG4uaW52YWxpZD0iZmFsc2UiLG4pLFQ9MjIpOlQ9PTc1JiYoVD1VUj8yMjo2Nyl9fX0sem89ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7e2M9Mzt3aGlsZShjIT01NilpZihjPT02OCljPShHJjEwMyk9PUc/azpSO2Vsc2V7aWYoYz09UilyZXR1cm4gWjtjPT0zNj8oaC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChELGZ1bmN0aW9uKG4pe0pXKDM1LDcsImNsYXNzIiwyMCwiICIsInN0cmluZyIsMCxoLG4pfSk6ZSgzLCJzdHJpbmciLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChCdSgzNCwiY2xhc3MiLGgpLGZ1bmN0aW9uKG4pe3JldHVybiFlKDQ0LDAsbixEKX0pLmpvaW4oIiAiKSxoKSxjPTY4KTpjPT1rPyhaPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy5oeC90aGlzLm4pLGM9Uik6Yz09Mz9jPTY6Yz09NiYmKGM9KEd8MjQpPT1HPzM2OjY4KX19fSxxPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtKXt3aGlsZShrLTM+PjQ9PTQpe2E6e2ZvcigwO1IuVjswKXttPWtmKFIsUi5HKTticmVhayBhO2lmKDEpYnJlYWt9KGg9R04oOCxSLHRydWUpLGgmMTI4KSYmKGhePTEyOCxEPUdOKDIsUix0cnVlKSxoPShHPWg8PDIsKEcmRCktMS1+KEd8RCkpKSxtPWh9aWYoImoiKWJyZWFrfXdoaWxlKCgoa14yMSkmMjMpPT00KXthOntpZihSLlYpe209a2YoUixSLkcpO2JyZWFrIGF9aD1HTig4LFIsdHJ1ZSksaCYxMjgmJihoXj0xMjgsRz1HTigyLFIsdHJ1ZSksaD0oRD1oPDwyLChEJkcpLTEtfihEfEcpKSksbT1ofWlmKHRydWUpYnJlYWt9cmV0dXJuKCgoa14oKChrXjM4KSYxNSk+PTkmJmstNDwxOSYmKGg9UnYoRyksaCYxMjgmJihoPS1+KGgmMTI3KSsofmgmMTI3KSsoaHwtMTI4KXxSdihHKTw8UiksbT1oKSw3MCkpJjE1KT09MyYmKGg9eWZbRy5SXShHLnZWKSxoW0cuUl09ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gUjtpZih0cnVlIT1bXSlicmVha319LGguY29uY2F0PWZ1bmN0aW9uKEIpe1I9Qn0sbT1oKSwoKGteNTEpJjE1KT09MSkmJihtPShaPShjPWhbR108PDI0LEQ9aFsoR3wwKSsxXTw8MTYsKGN8MCkrKGNeRCkrKH5jXkQpLShjfH5EKSksbj1oWyhHfDApKzJdPDxSLC0obnwwKSsyKihaJm4pKyhaXm4pKyh+WiZuKSl8aFsoR3wwKSszXSksbX0sUkI9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7Zm9yKFA9Njk7UCE9MDspaWYoUD09NTMpbj1oLmxlbmd0aCxaPXR5cGVvZiBoPT09InN0cmluZyI/aC5zcGxpdChHKTpoLGM9UixQPTI7ZWxzZSBpZihQPT0xMilQPWstMT4+Mz09Mz85MDo1MTtlbHNlIGlmKFA9PTQ5KVA9NDc7ZWxzZSBpZihQPT0yKVA9OTQ7ZWxzZSBpZihQPT04MSlQPShrKzdeMjEpPj1rJiZrLTc8PDE8az80MTo3MjtlbHNlIGlmKFA9PTExKUQ9bj0wLFA9NDk7ZWxzZSBpZihQPT04MilEKyssUD00NztlbHNlIGlmKFA9PTk2KU49TWF0aC5mbG9vcih0aGlzLlRmKyh0aGlzLkooKS10aGlzLmtOKSksUD04MTtlbHNlIGlmKFA9PTY5KVA9NTc7ZWxzZSBpZihQPT00MiljIGluIFomJkQuY2FsbCh2b2lkIDAsWltjXSxjLGgpLFA9ODc7ZWxzZSBpZihQPT05NClQPWM8bj80MjoxMjtlbHNlIGlmKFA9PTkwKXthOmlmKEcuUC5sZW5ndGgpeyhHLm8mJiI6VFFSOlRRUjoiKCksRykuRTk9RCxHLm89dHJ1ZTt0cnl7Wj1HLkooKSxHLkUyPTAsRy5vbz0wLEcuY3Q9WixHLmtOPVosYz1jdSgyLHRydWUsMjQsbnVsbCwiOiIsRCxHKSxtPWg/MDoxMCxuPUcuSigpLUcua04sRy5UZis9bixHLkJWJiZHLkJWKG4tRy5YLEcudSxHLlcsRy5FMiksRy51PVIsRy5YPTAsRy5XPVIsbjxtfHxHLnM5LS08PTB8fChuPU1hdGguZmxvb3IobiksRy51WC5wdXNoKG48PTI1ND9uOjI1NCkpfWZpbmFsbHl7Ry5vPVJ9Tj1jO2JyZWFrIGF9UD01MX1lbHNlIGlmKFA9PTg3KWMrKyxQPTk0O2Vsc2UgaWYoUD09NTcpUD0oaysxJjYzKTxrJiYoay0yfDcwKT49az85Njo4MTtlbHNlIGlmKFA9PTU5KW4rPVIuY2hhckNvZGVBdChEKSxuKz1uPDwxMCxuPShjPW4+PjYsKG58YykrfmMtKG58fmMpKSxQPTgyO2Vsc2UgaWYoUD09NDEpe2E6e2lmKHRoaXMubj09PTApe049WzAsMF07YnJlYWsgYX1OPSh0aGlzLlQuc29ydChmdW5jdGlvbihkLEkpe3JldHVybiBkLUl9KSxbdGhpcy5uLHRoaXMuVFt0aGlzLlQubGVuZ3RoPj4xXV0pfVA9NzJ9ZWxzZSBpZihQPT03MilQPShrKzdeMTIpPGsmJmstNjw8MT49az8xMTo3MDtlbHNlIGlmKFA9PTIwKW4rPW48PDMsbl49bj4+MTEsWj1uKyhuPDwxNSk+Pj4wLG09bmV3IE51bWJlcigoQj0oVD0xPDxHLChUfDEpLShUJjEpLTIqKH5UJjEpKSwoWnwwKSsoQnwwKS0oWnxCKSkpLG1bMF09KFo+Pj5HKSVoLE49bSxQPTcwO2Vsc2V7aWYoUD09NTEpcmV0dXJuIE47UD09NDc/UD1EPFIubGVuZ3RoPzU5OjIwOlA9PTcwJiYoUD0oa3wzMik9PWs/NTM6MTIpfX0sYT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQpe2ZvcihCPTgzO0IhPTg2Oyl7aWYoQj09ODIpcmV0dXJuIFQ7aWYoQj09NjApQj0oayYxMTQpPT1rPzMyOjgyO2Vsc2V7aWYoQj09MTcpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0cpO2lmKEI9PTU2KXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1IpO2lmKEI9PTEwKUcuUC5zcGxpY2UoMCwwLFIpLEI9MzM7ZWxzZSBpZihCPT04MylCPTM7ZWxzZSBpZihCPT0xMilCPUc/NTA6MTc7ZWxzZSBpZihCPT0zKUI9KGt8NDApPT1rPzEwOjMzO2Vsc2UgaWYoQj09NTApQj10eXBlb2YgUiE9PSJmdW5jdGlvbiI/NTY6NjA7ZWxzZSBpZihCPT0zMil7YTppZihjPXdpbmRvdy5idG9hKXtmb3IoWj0wLG49IiI7WjxoLmxlbmd0aDtaKz1HKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoUixoLnNsaWNlKFosWitHKSk7VD0obT1jKG4pLEQmJihtPW0ucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIikpLG0pO2JyZWFrIGF9Qj04Mn1lbHNlIEI9PTMzJiYoQj0oaz4+MiY3KT09MT8xMjo2MCl9fX0sQlk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD02OTtkIT0yMjspaWYoZD09NTUpREQuY2FsbCh0aGlzLGgpLGQ9NjE7ZWxzZSBpZihkPT05OClQPShUPVpEW2suc3Vic3RyaW5nKDAsMykrIl8iXSk/VChrLnN1YnN0cmluZygzKSxHLGgsRCxjLFosbixtLEIpOkpXKDM1LDcsRyw1LGspLGQ9Mjc7ZWxzZSBpZihkPT0zMilkPWM/NzQ6MTY7ZWxzZSBpZihkPT02OSlkPTk7ZWxzZSBpZihkPT0xNiltPW4/dHlwZW9mIG4ublg9PT0iZnVuY3Rpb24iP24ublgoKTpuZXcgbjpudWxsLGQ9NTc7ZWxzZSBpZihkPT0yMClkPTMyO2Vsc2UgaWYoZD09NTcpdGhpcy5DPW0sZD00MTtlbHNlIGlmKGQ9PTk3KWQ9KG49bnJbWl0pPzcxOjI2O2Vsc2UgaWYoZD09NzUpYz10aGlzLmNvbnN0cnVjdG9yLGQ9MTE7ZWxzZSBpZihkPT04NylOPWZ1bmN0aW9uKCl7fSxOLnByb3RvdHlwZT1oLnByb3RvdHlwZSxHLk89aC5wcm90b3R5cGUsRy5wcm90b3R5cGU9bmV3IE4sRy5wcm90b3R5cGUuY29uc3RydWN0b3I9RyxHLmN3PWZ1bmN0aW9uKEksUyxYKXtmb3IodmFyIE09MTk7TSE9MjU7KWlmKE09PTE5KXZhciByPUFycmF5KChNPTEsYXJndW1lbnRzLmxlbmd0aC1rKSksbD1rO2Vsc2UgaWYoTT09MilyW2wta109YXJndW1lbnRzW2xdLE09NDE7ZWxzZXtpZihNPT01MilyZXR1cm4gaC5wcm90b3R5cGVbU10uYXBwbHkoSSxyKTtNPT00MT8obCsrLE09NTMpOk09PTUzP009bDxhcmd1bWVudHMubGVuZ3RoPzI6NTI6TT09MSYmKE09NTMpfX0sZD03O2Vsc2UgaWYoZD09MjYpYz0oRD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYy5wcm90b3R5cGUpKSYmRC5jb25zdHJ1Y3RvcixkPTIwO2Vsc2UgaWYoZD09MjcpZD0oUis1JjcpPj01JiZSPj4xPDE1PzU1OjQxO2Vsc2UgaWYoZD09NjEpZD0obT1HKT81Nzo3NTtlbHNlIGlmKGQ9PTQxKWQ9KFJ8NDApPT1SPzg3Ojc7ZWxzZSBpZihkPT05KWQ9Uis0Pj4zPT0yPzk4OjI3O2Vsc2UgaWYoZD09NylkPShSfDcyKT09Uj85OTo3MztlbHNlIGlmKGQ9PTk5KVA9YSgxNixudWxsLDgxOTIsayxmYWxzZSksZD03MztlbHNle2lmKGQ9PTczKXJldHVybiBQO2Q9PTc0PyhaPUNuKDY0LDE5LGMpLGQ9OTcpOmQ9PTcxP2Q9MTY6ZD09MTEmJihkPTMyKX19LFBZPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFAsZCl7e2Q9NTU7d2hpbGUoZCE9NSlpZihkPT04NylkPTQxO2Vsc2UgaWYoZD09NTUpZD01NztlbHNlIGlmKGQ9PTQ1KXthOntpZighKFo9Ry5JLlpbU3RyaW5nKGgpXSxaKSl7UD10cnVlO2JyZWFrIGF9Zm9yKG49KFo9Wi5jb25jYXQoKSxOPXRydWUsUik7bjxaLmxlbmd0aDsrK24pKFQ9WltuXSkmJiFULmZYJiZULmNhcHR1cmU9PUQmJihCPVQuVm58fFQuc3JjLG09VC5saXN0ZW5lcixULmFvJiZySigzLFIsVCxHLkkpLE49bS5jYWxsKEIsYykhPT1mYWxzZSYmTik7UD1OJiYhYy5kZWZhdWx0UHJldmVudGVkfWQ9Mzd9ZWxzZSBpZihkPT0zNylkPWs8PDE+PTI1JiYoa3wxKT4+NTwyPzg3OjQxO2Vsc2V7aWYoZD09NDEpcmV0dXJuIFA7ZD09NTcmJihkPShrKzJeMjQpPj1rJiZrKzM+PjI8az80NTozNyl9fX0sdnU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe2ZvcihUPTQ7VCE9Njc7KWlmKFQ9PTkzKVQ9KG58OSk+PjQ/NDc6aztlbHNlIGlmKFQ9PTU1KVRvKDU0LCJvYmplY3QiLDEwLGMsbSxoLEQsRyxaKSxUPTQ3O2Vsc2UgaWYoVD09ODEpe2E6e3N3aXRjaChHKXtjYXNlIDE6Tj1aPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgaDpOPVo/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgUjpOPVo/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIGM6Tj1aPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIDE2Ok49Wj8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgMzI6Tj1aPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBEOk49Wj8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31UPTczfWVsc2UgaWYoVD09NTQpVD03NDtlbHNlIGlmKFQ9PTQ3KVQ9KChuXjEyKSY4KTw0JiYobnwyKT49LTMxPzgxOjczO2Vsc2V7aWYoVD09NzMpcmV0dXJuIE47VD09MD8oRz1CdSg2LEcpLEQmJkRbZEpdP0QuSS5hZGQoU3RyaW5nKFopLEcsUixOUCg0LCJvYmplY3QiLDIwLGgpPyEhaC5jYXB0dXJlOiEhaCxtKTpJQig2Niwib2JqZWN0IixmYWxzZSxHLFIsWixELGgsbSksVD00Nyk6VD09ND9UPTkzOlQ9PTc0P1Q9QjxaLmxlbmd0aD83Nzo0NzpUPT02OT8oQj0wLFQ9NTQpOlQ9PWs/VD1oJiZoLm9uY2U/NTU6NDg6VD09OTg/KEIrKyxUPTc0KTpUPT00OD9UPUFycmF5LmlzQXJyYXkoWik/Njk6MDpUPT03NyYmKHZ1KDU2LGZhbHNlLEcsaCxELHRydWUsWltCXSw1LG0pLFQ9OTgpfX0sRTU9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5oPXRoaXMuaHg9dGhpcy5uPTB9cmV0dXJuW2Z1bmN0aW9uKGgpeyhrLmdiKGgpLFIpLmdiKGgpfSwoUj0oaz1uZXcgKEcucHJvdG90eXBlLnJKPShHLnByb3RvdHlwZS5nYj1mdW5jdGlvbihoLEQpe3JldHVybiBvQi5jYWxsKHRoaXMsMTMsNjUsaCxEKX0sZnVuY3Rpb24oKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDMpfSksRyksbmV3IEcpLGZ1bmN0aW9uKGgsRCl7cmV0dXJuIEQ9W2suckooKSxSLnJKKCksay5oLFIuaF0sKGg9PT12b2lkIDB8fGgpJiYoUj1uZXcgRyksRH0pXX0sSlc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7VD05O3doaWxlKFQhPTgwKWlmKFQ9PTkpVD00ODtlbHNle2lmKFQ9PTI1KXJldHVybiBCO1Q9PTQ4P1Q9KChoXjEzKSY0KTwzJiYoaHw5KT4+Mz49Mj81NjoxNzpUPT04NT8oRyhmdW5jdGlvbihOKXtOKEQpfSksQj1bZnVuY3Rpb24oKXtyZXR1cm4gRH0sZnVuY3Rpb24oKXt9XSxUPTI1KTpUPT01Nj8obi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QucmVtb3ZlKG0pOihuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5jb250YWlucyhtKTplKDQ2LFosbSxCdShrLEcsbikpKSYmZShSLGMsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEJ1KDMzLEcsbiksZnVuY3Rpb24oTil7cmV0dXJuIE4hPW19KS5qb2luKEQpLG4pLFQ9MTcpOlQ9PTE3JiYoVD1oPj4yPDE2JiYoaCsxJjIpPj0xPzg1OjI1KX19fSxGMT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e049MjY7d2hpbGUoTiE9MTcpaWYoTj09NDIpYz10cnVlLE49NDY7ZWxzZSBpZihOPT04MylUPWZ1bmN0aW9uKFApe3JldHVybiBoLmNhbGwoVC5zcmMsVC5saXN0ZW5lcixQKX0saD10byxCPVQsTj0yMTtlbHNlIGlmKE49PTYwKW09bmV3IHJVKEQsdGhpcyksWj1oLlZufHxoLnNyYyxuPWgubGlzdGVuZXIsaC5hbyYmY1koMzMsbnVsbCwzLFIsaCksYz1uLmNhbGwoWixtKSxOPTQ2O2Vsc2UgaWYoTj09MjYpTj1rO2Vsc2V7aWYoTj09NTcpcmV0dXJuIEI7Tj09MjE/Tj0oR14yNCk8NyYmRy03Pj01PzMwOjU3Ok49PWs/Tj0oRz4+MSY3KT09MT84MzoyMTpOPT0zMD9OPWguZlg/NDI6NjA6Tj09NDYmJihCPWMsTj01Nyl9fX0sYXY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7d2hpbGUoIVIueW4mJihCPXZvaWQgMCxoJiZoWzBdPT09d1UmJihCPWhbMl0sRz1oWzFdLGg9dm9pZCAwKSxuPVYoayxSKSxuLmxlbmd0aD09MCYmKEQ9VigxNjgsUik+PjMsbi5wdXNoKEcsRD4+OCYyNTUsRCYyNTUpLEIhPXZvaWQgMCYmbi5wdXNoKEImMjU1KSksUD0iIixoJiYoaC5tZXNzYWdlJiYoUCs9aC5tZXNzYWdlKSxoLnN0YWNrJiYoUCs9IjoiK2guc3RhY2spKSxtPVcoUiwzMDIpLG1bMF0+MykpeyhUPShQPShtWzBdLT0oUD1QLnNsaWNlKDAsKG1bMF18MCktMyksWj1QLmxlbmd0aCwoWnwzKS1+Wisoflp8MykpLGVlKShQLDEyOCksUikuQixSKS5CPVI7dHJ5e1IuSHQ/KE49KE49Vig0NDYsUikpJiZOW04ubGVuZ3RoLTFdfHw5NSwoYz1XKFIsMTYzKSkmJmNbYy5sZW5ndGgtMV09PU58fGxOKDE2MyxbTiYyNTVdLDcsUikpOmplKDQ0NixbOTVdLFIpLGxOKDQyLEsoMixQLmxlbmd0aCkuY29uY2F0KFApLDcsUiwxNDQpfWZpbmFsbHl7Ui5CPVR9aWYoe30pYnJlYWt9fSxHTj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSxTKXtpZihoPVYoMTQyLFIpLGg+PVIuail0aHJvd1t3VSwzMV07Zm9yKGM9KEk9KG09KE49MCxoKSxSLkNqKS5sZW5ndGgsayk7Yz4wOylaPW0+PjMsUz1tJTgsUD1SLndiW1pdLG49OC0oU3wwKSxCPW48Yz9uOmMsRyYmKGQ9UixkLmwhPW0+PjYmJihkLmw9bT4+NixEPWIoZCwzNjMpLGQud0o9eWgoMTYsZC5sLDI1NSxkLk4sWzAsMCxEWzFdLERbMl1dKSksUF49Ui53SltaJkldKSxOfD0oUD4+OC0oU3wwKS0oQnwwKSYoMTw8QiktMSk8PChjfDApLShCfDApLG0rPUIsYy09QjtyZXR1cm4gQygxNDIsKGh8MCkrKGt8KFQ9TiwwKSksUiksVH0sWT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7KFIrNyY0NCk+PVImJlIrND4+MjxSJiYoaD1bLTc1LC0zMSw3MSwtMzUsNDYsLTEwMCxoLDk0LDUwLC03OF0sWj1jJjcsbT1TZSxCPXlmW0cuUl0oRy5KcyksQltHLlJdPWZ1bmN0aW9uKFApe249UDt3aGlsZShudWxsPT1mYWxzZT09MClpZighKForPTYrNypjLFtdKT09dHJ1ZT09IVtdKWJyZWFrO1o9MTYrfihafDcpK2sqKFomLTgpKyh+Wl43KX0sQi5jb25jYXQ9ZnVuY3Rpb24oUCxkLEkpe3JldHVybihkPShuPShQPShJPUQlMTYrMSwrKG0oKXwwKSpJLTc4KkQqRCpuKzM5Km4qbi0yMjYyKm4rWi0gLTEyMDkqRCpuK2hbWisxOSY3XSpEKkkpLUkqbitrKkQqRCpJLHZvaWQgMCksaFtQXSksaClbKForNjEmNykrKC0yLWsqfihjfGspK2sqKH5jXmspKyh+YyZrKSldPWQsaFtaKygtfihjJmspKyhjXmspLSh+YyZrKSsofmN8aykpXT0tMzEsZH0sTj1CKTtzd2l0Y2goISgoUl4xMyk8MjQmJihSXjkwKT49MTgpKXtjYXNlIHRydWU6TnVtYmVyKHRydWUudHJ1ZSk7YnJlYWs7Y2FzZSB0cnVlPT1bXTpzd2l0Y2goIShEPVhYKCJhcnJheSIsaCwibnVsbCIpPT09ImFycmF5Ij9oOltoXSx0aGlzLkspKXtjYXNlIHRydWU6dHJ5e2M9IXRoaXMuUC5sZW5ndGgmJiF0aGlzLm8sYSg1NyxbJGYsW10sRCxrLEddLHRoaXMpLEcmJiFjfHxSQigyNyxmYWxzZSx0aGlzLHRydWUsRyl9Y2F0Y2goUCl7ZSg1NiwiOiIsdGhpcyxQKSxrKHRoaXMuSyl9YnJlYWs7Y2FzZSB0cnVlPT1bXT09bnVsbDprKHRoaXMuSyk7YnJlYWt9YnJlYWt9KFIrM14xMik+PVImJihSKzJeMjcpPFImJihOPVQ9ZnVuY3Rpb24oKXt7dmFyIFA9NzE7d2hpbGUoUCE9OSlpZihQPT0xNil2YXIgZD1bTVQsKFA9OTcsYyksaCx2b2lkIDAsbixtLGFyZ3VtZW50c107ZWxzZSBpZihQPT01OSlQPVouWT8xNjo4ODtlbHNlIGlmKFA9PTk3KVA9RD09Rz83OTozNTtlbHNlIGlmKFA9PTM1KVA9RD09MT81NjoyNztlbHNlIGlmKFA9PTI3KXt2YXIgST1rbihkLDIsdHJ1ZSxaKTtQPTk5fWVsc2UgaWYoUD09NTYpe3ZhciBTPSFaLlAubGVuZ3RoJiYhWi5vO2EoNDMsZCxaKSxTJiZSQigyOCxmYWxzZSxaLGssayksUD05OX1lbHNlIGlmKFA9PTg4KW4mJm0mJm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihtLFQsb3YpLFA9OTtlbHNle2lmKFA9PTk5KXJldHVybiBJO1A9PTcxP1A9Wi5CPT1aPzU5Ojk6UD09NzkmJihhKDQyLGQsWiksST1SQigyOSxmYWxzZSxaLGssayksUD05OSl9fX0pO3N3aXRjaCghKChSfDcyKT09Uikpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgW109PShbXSE9KCFbXT09MCkpOmE6e2lmKGsuVil7Tj1rZihrLGsuRyk7YnJlYWsgYX0oRz1HTig4LGssdHJ1ZSksRyYxMjgpJiYoR149MTI4LGg9R04oMixrLHRydWUpLEc9KEQ9Rzw8MiwoRCZoKS0xLX4oRHxoKSkpLE49R31icmVha313aGlsZShSPj4yPj05JiYoKFJeMTkpJjI0KTwxOSl7RD1xKDE3LEcpO3tjPTA7d2hpbGUoaD4wKWM9Yzw8a3xSdihHKSxoLS19aWYoIVtdPT0oMCE9IShDKEQsYyxHKSxbXSkpKWJyZWFrfXJldHVybiBOfSxzNT1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDksayl9LENyPWZ1bmN0aW9uKGssUil7e3ZhciBHPTkzO3doaWxlKEchPTUxKWlmKEc9PTkzKXZhciBoPShHPTUwLDEpO2Vsc2UgaWYoRz09NjQpRz1oPGFyZ3VtZW50cy5sZW5ndGg/NzU6NTE7ZWxzZSBpZihHPT03NSl7dmFyIEQ9YXJndW1lbnRzW2hdO2ZvcihaIGluIEQpa1taXT1EW1pdO3ZhciBjPShHPTk2LDApfWVsc2UgaWYoRz09OTYpRz04NDtlbHNlIGlmKEc9PTUwKUc9NjQ7ZWxzZSBpZihHPT03MiljKyssRz04NDtlbHNlIGlmKEc9PTg0KUc9YzxIWS5sZW5ndGg/ODA6MjtlbHNlIGlmKEc9PTIpaCsrLEc9NjQ7ZWxzZSBpZihHPT04MCl7dmFyIFo9SFlbY107T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsWikmJihrW1pdPURbWl0pLEc9NzJ9fX0sTlQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEkpe2ZvcihkPTI0O2QhPTE5OylpZihkPT05NilBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEcsZnVuY3Rpb24oUyxYLE0pe2ZvcihNPTI0O00hPTI2OylNPT0yND9NPWsuY2xhc3NMaXN0PzYwOjQ5Ok09PTQ5P009KGsuY2xhc3NMaXN0P2suY2xhc3NMaXN0LmNvbnRhaW5zKFMpOmUoNDUsMCxTLEJ1KDMyLCJjbGFzcyIsaykpKT8yNjo1NTpNPT01NT8oWD1BVyg0MSwiY2xhc3MiLDI4LCIiLGspLGUoNiwic3RyaW5nIixYKyhYLmxlbmd0aD4wPyIgIitTOlMpLGspLE09MjYpOk09PTYwJiYoay5jbGFzc0xpc3QuYWRkKFMpLE09MjYpfSksZD0yNztlbHNlIGlmKGQ9PTkwKWQ9KFI8PDEmOSk+PTEmJihSPj4yJjEyKTw2Pzg2OjI3O2Vsc2UgaWYoZD09MjQpZD02MTtlbHNlIGlmKGQ9PTg2KWQ9ay5jbGFzc0xpc3Q/OTY6NztlbHNlIGlmKGQ9PTI3KWQ9KFJeMzQpPDI2JiYoUisxJjE1KT49OT81ODo5NztlbHNlIGlmKGQ9PTEwKWQ9YzxoLmxlbmd0aD8zMzo3NDtlbHNlIGlmKGQ9PTEzKWMrKyxkPTEwO2Vsc2V7aWYoZD09OTcpcmV0dXJuIEk7aWYoZD09Nyl7Zm9yKGMgaW4gaD0oKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKEQ9e30sQnUpKDM2LCJjbGFzcyIsayksZnVuY3Rpb24oUyl7RFtTXT10cnVlfSksQXJyYXkucHJvdG90eXBlKS5mb3JFYWNoLmNhbGwoRyxmdW5jdGlvbihTKXtEW1NdPXRydWV9KSwiIiksRCloKz1oLmxlbmd0aD4wPyIgIitjOmM7ZD0oZSg1LCJzdHJpbmciLGgsayksMjcpfWVsc2UgaWYoZD09ODkpZD1EPms/Njo1NztlbHNlIGlmKGQ9PTYpWltuKytdPUQmayxEPj49OCxkPTU3O2Vsc2UgaWYoZD09MzMpRD1oLmNoYXJDb2RlQXQoYyksZD04OTtlbHNlIGlmKGQ9PTc0KUk9WixkPTk3O2Vsc2UgaWYoZD09OTQpZD0xMDtlbHNlIGlmKGQ9PTU3KVpbbisrXT1ELGQ9MTM7ZWxzZSBpZihkPT01OCluPWM9RyxaPVtdLGQ9OTQ7ZWxzZSBpZihkPT04KXthOntpZihELkI9KChELkgrPShaPShuPShjfHxELm9vKyssRC5xbz4wJiZELm8mJkQuRTkpJiZELkQ3PD0xJiYhRC5WJiYhRC5TJiYoIWN8fEQuZEotRz4xKSYmZG9jdW1lbnQuaGlkZGVuPT1rLChCPUQub289PTQpfHxuP0QuSigpOkQuY3QpLG09Wi1ELmN0LG0pPj4xND4wLEQpLk4mJihELk49KFQ9RC5OLE49KEQuSCsxPj4yKSoobTw8MiksLSh+VF5OKSsoflQmTikrKFR8fk4pKSksRC5IKzE+PjIhPTB8fEQuQiksQnx8bilELm9vPTAsRC5jdD1aO2lmKCFuKXtJPWs7YnJlYWsgYX1pZigoRC5xbz5ELkUyJiYoRC5FMj1ELnFvKSxaLUQua04pPEQucW8tKGg/MjU1OmM/NToyKSl7ST1rO2JyZWFrIGF9ST0oQygxNDIsKFA9VihjPzE2ODoxNDIsKEQuZEo9RyxEKSksRC5qKSxEKSxELlAucHVzaChbbWMsUCxjP0crMTpHLEQudSxELlddKSx0cnVlKSxELlM9dTl9ZD02NH1lbHNlIGQ9PTE3PyhJPWsmJmsucGFyZW50Tm9kZT9rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoayk6bnVsbCxkPTkwKTpkPT02ND9kPShSKzReMTApPj1SJiYoUis0XjI1KTxSPzE3OjkwOmQ9PTYxJiYoZD1SPj4xJjE1PzY0OjgpfX0sTG49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2ZvcihuPTgwO24hPTk1Oyl7aWYobj09MTUpcmV0dXJuIG07bj09Nzg/bj0oaC1rJjcpPT0xPzU1OjgxOm49PTU1Pyh0aGlzLmxpc3RlbmVyPVosdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPWMsdGhpcy50eXBlPUcsdGhpcy5jYXB0dXJlPSEhRCx0aGlzLlZuPVIsdGhpcy5rZXk9KytJdix0aGlzLmFvPXRoaXMuZlg9ZmFsc2Usbj04MSk6bj09NTY/KG09RyBpbiBUTj9UTltHXTpUTltHXT1SK0csbj0xNSk6bj09Mzg/bj0oaHw0OCk9PWg/NTY6MTU6bj09MTM/KEcucFgoZnVuY3Rpb24oQil7Yz1CfSxSLEQpLG09YyxuPTM4KTpuPT04MT9uPWgtNyY1PzM4OjEzOm49PTgwJiYobj03OCl9fSxCdT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQpe2ZvcihQPTI1O1AhPTU2OylpZihQPT00MCltPXRXKDY4LG4pLFA9NDc7ZWxzZSBpZihQPT0zMyluLkkucmVtb3ZlKFN0cmluZyhaKSxELEIsYyksUD05MztlbHNlIGlmKFA9PTQ3KVA9bT82Njo5MztlbHNlIGlmKFA9PTQ0KU49UixQPTE4O2Vsc2UgaWYoUD09NzMpUD0oa3wzMik9PWs/NTk6NDg7ZWxzZXtpZihQPT00OClyZXR1cm4gZDtpZihQPT01MilQPUFycmF5LmlzQXJyYXkoWik/NDQ6MzE7ZWxzZSBpZihQPT01OSlkPUcuY2xhc3NMaXN0P0cuY2xhc3NMaXN0OkFXKDQxLFIsMjYsIiIsRykubWF0Y2goL1xcUysvZyl8fFtdLFA9NDg7ZWxzZSBpZihQPT03MClQPWsrNj4+ND83Mzo5NDtlbHNlIGlmKFA9PTk0KXthOntpZih0eXBlb2YgUj09PSJmdW5jdGlvbiIpe2Q9UjticmVhayBhfWQ9KFJbZFVdfHwoUltkVV09ZnVuY3Rpb24oSSl7cmV0dXJuIFIuaGFuZGxlRXZlbnQoSSl9KSxSW2RVXSl9UD03M31lbHNlIGlmKFA9PTE4KVA9MzA7ZWxzZSBpZihQPT05MylQPShrLTdeMjMpPj1rJiYoays3JjI1KTxrPzc3OjcwO2Vsc2UgaWYoUD09MzcpUD0oa3w5KT4+Mz09Mz81Mjo5MztlbHNlIGlmKFA9PTI1KVA9Mzc7ZWxzZSBpZihQPT01MylQPW4mJm5bZEpdPzMzOjg5O2Vsc2UgaWYoUD09ODkpUD1uPzQwOjkzO2Vsc2UgaWYoUD09ODIpTisrLFA9MzA7ZWxzZSBpZihQPT0zMSlCPU5QKDQsRywxNyxoKT8hIWguY2FwdHVyZTohIWgsRD1CdSg1LEQpLFA9NTM7ZWxzZSBpZihQPT0yMSlCdSgxNywwLCJvYmplY3QiLGgsRCxjLFpbTl0sbiksUD04MjtlbHNlIGlmKFA9PTc3KXtmb3IoWiBpbihEPVIsaCkuWil7Zm9yKGM9KG49aC5aW1pdLFIpO2M8bi5sZW5ndGg7YysrKSsrRCxoVyg4LEcsbltjXSk7ZGVsZXRlIGguWltoLkp4LS0sWl19UD03MH1lbHNlIFA9PTY2PygoVD1tLkNYKFosRCxjLEIpKSYmY1koMzMsbnVsbCw1LCJvbiIsVCksUD05Myk6UD09MzAmJihQPU48Wi5sZW5ndGg/MjE6OTMpfX0sTlA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9OTY7WiE9NzM7KWlmKFo9PTU4KVo9KEd8MTYpPT1HPzQ3OjcwO2Vsc2V7aWYoWj09NzApcmV0dXJuIGM7Wj09NjY/Wj0oRysyXjIwKT49RyYmKEcrayY1Nyk8Rz82OTo1ODpaPT00Nz8oRD10eXBlb2YgaCxjPUQ9PVImJmghPW51bGx8fEQ9PSJmdW5jdGlvbiIsWj03MCk6Wj09Njk/KHRoaXMuS2o9UixaPTU4KTpaPT05NiYmKFo9NjYpfX0sY1k9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXtmb3IoQj05NTtCIT0wOylpZihCPT04KXRoaXMubisrLEI9ODE7ZWxzZSBpZihCPT05NylCPW0/ODA6Mzc7ZWxzZSBpZihCPT05NClCPXR5cGVvZiBEIT09Im51bWJlciImJkQmJiFELmZYPzE1OjMyO2Vsc2UgaWYoQj09MTUpYz1ELnNyYyxCPTEzO2Vsc2UgaWYoQj09ODApckooaywwLEQsbSksQj0yNjtlbHNlIGlmKEI9PTI2KUI9bS5KeD09MD82MzozMjtlbHNlIGlmKEI9PTY1KXRoaXMuVC5wdXNoKFIpLEI9MTg7ZWxzZSBpZihCPT0zNyloVyg3LHRydWUsRCksQj0zMjtlbHNlIGlmKEI9PTEzKUI9YyYmY1tkSl0/OTE6Mzk7ZWxzZSBpZihCPT02NyloPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLGg8NTAmJih0aGlzLlRbaF09UiksQj0xODtlbHNlIGlmKEI9PTM5KVo9RC50eXBlLG49RC5wcm94eSxjLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yy5yZW1vdmVFdmVudExpc3RlbmVyKFosbixELmNhcHR1cmUpOmMuZGV0YWNoRXZlbnQ/Yy5kZXRhY2hFdmVudChMbigzLGgsWiw1MCksbik6Yy5hZGRMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lcihuKSxpOS0tLG09dFcoMjEsYyksQj05NztlbHNlIGlmKEI9PTE5KUI9Ry04PDwyPj1HJiZHKzI+PjE8Rz84OjE4O2Vsc2UgaWYoQj09OTEpckooMzIsMCxELGMuSSksQj0zMjtlbHNlIGlmKEI9PTk1KUI9MTk7ZWxzZSBpZihCPT04MSlCPXRoaXMuVC5sZW5ndGg8NTA/NjU6Njc7ZWxzZSBpZihCPT02MyltLnNyYz1SLGNbbDldPVIsQj0zMjtlbHNle2lmKEI9PTMyKXJldHVybiBUO0I9PTE4JiYoQj0oR3wxKT4+Mz8zMjo5NCl9fSxLPWZ1bmN0aW9uKGssUixHLGgsRCl7Zm9yKGg9LX4oayYxKSsoRD1bXSwtMikrKGsmLTIpO2g+PTA7aC0tKURbfihrJjEpLTMqfmsrMip+KGt8MSkrKH5rJjEpLShofDApXT0oRz1SPj5oKjgsLTIqfihHJjI1NSktMSt+RysoRyYtMjU2KSk7aWYoe30pcmV0dXJuIER9LGZyPWZ1bmN0aW9uKCl7cmV0dXJuIFBZLmNhbGwodGhpcywxNCl9LFE9ZnVuY3Rpb24oayxSLEcpe3N3aXRjaCghKFI9PTE0Mnx8Uj09MTY4KSl7Y2FzZSB0cnVlOmlmKGsueW4mJlIhPTM2MylyZXR1cm47Uj09NDg4fHxSPT00Mnx8Uj09MjY0fHxSPT0xNHx8Uj09NTA2fHxSPT00NDZ8fFI9PTE2M3x8Uj09OTV8fFI9PTE5MXx8Uj09MzAyP2suWVtSXXx8KGsuWVtSXT1ZKDIsMzQsayxHLFIsMzgpKTprLllbUl09WSgyLDMzLGssRyxSLDEyOSk7YnJlYWs7Y2FzZSAhW106ay5ZW1JdP2suWVtSXS5jb25jYXQoRyk6ay5ZW1JdPXEoMjEsRyxrKTticmVha31SPT0zNjMmJihrLk49R04oMzIsayxmYWxzZSksay5sPXZvaWQgMCl9LER5PXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oayl7ZnVuY3Rpb24gUigpe31yZXR1cm4gUi5wcm90b3R5cGU9ayxuZXcgUn0sREQ9ZnVuY3Rpb24oayl7cmV0dXJuIFRvLmNhbGwodGhpcyw1NCxrLDI1KX0samU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe3N3aXRjaCghKEcuQj09Rykpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgISFudWxsOnttPWIoRyxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8oRD1mdW5jdGlvbihCLFQsTixQLGQsSSxTLFgpe2ZvcihJPShYPTE4LDg5KTs7KXRyeXtpZihYPT0zMylicmVhaztlbHNlIGlmKFg9PTU3KW0ucHVzaChtLkdmWy0oVHw3KS0yKn4oVHw3KSsoVHwtOCkrKH5UfDcpXV5CKSxYPTMzO2Vsc2V7aWYoWD09MzkpdGhyb3cgST04OSxTO1g9PTUwP1g9bS5tQiE9Tj81NDo1NzpYPT02OD8oST0zNixtLkdmPXloKDE2LHEoNTAsOCwtMS0yKn4oUHw0KSsoflBeNCksbSksMjU1LHEoMTgsOCxQLG0pLGQpLFg9NTcpOlg9PTU0PyhQPShOPDwzKS00LGQ9WzAsMCxjWzFdLGNbMl1dLG0ubUI9TixYPTY4KTpYPT0xOCYmKFQ9bS5sZW5ndGgsTj0oVHwwKS00Pj4zLFg9NTApfX1jYXRjaChNKXtpZihJPT04OSl0aHJvdyBNO0k9PTM2JiYoUz1NLFg9MzkpfX0sYz1WKDk1LEcpKTpEPWZ1bmN0aW9uKEIpe20ucHVzaChCKX0saCYmRCgoaHwwKS0gLTUxMisyKn4oaHwyNTUpKyhoJi0yNTYpKSxuPVIubGVuZ3RoLFo9MDt3aGlsZShaPG4pRChSW1pdKSxaKyt9YnJlYWt9fSxQZD1mdW5jdGlvbihrKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssMTYpfSxoMD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiw2LGssUixHLGgsRCxjKX0sYjk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssOCxSLEcsaCxELGMsWixuKX0sak09ZnVuY3Rpb24oayl7cmV0dXJuIEtuLmNhbGwodGhpcywwLDEsOCxrKX0sUnY9ZnVuY3Rpb24oayl7cmV0dXJuIGsuVj9rZihrLGsuRyk6R04oOCxrLHRydWUpfSx5aD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4pe1o9KGM9MCxEWzNdfDApO3tuPURbMl18MDt3aGlsZShjPGspUj1SPj4+OHxSPDwyNCxSKz1ofDAsWj1aPj4+OHxaPDwyNCxoPWg8PDN8aD4+PjI5LForPW58MCxSXj1uKzY1OSxuPW48PDN8bj4+PjI5LGhePVIsWl49Yys2NTksbl49WixjKyt9cmV0dXJuW2g+Pj4yNCZHLGg+Pj5rJkcsaD4+PjgmRyxoPj4+MCZHLFI+Pj4yNCZHLFI+Pj5rJkcsUj4+PjgmRyxSPj4+MCZHXX0sY2Q9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe0I9KGMuSnM9dFcoNzcsKGMuQ2o9Y1tBb10sYy5nSj14ZixjLllEPUpvLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19KSxjLlIpLGMudlY9eWZbYy5SXShjLkpzLHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e049W107d2hpbGUoQjwzODMpTltCXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpLEIrK31pZihjLlJhPShjLmN0PShjLkI9KGMuRno9W10sYy5WVD1mdW5jdGlvbihQKXtyZXR1cm4gb0IuY2FsbCh0aGlzLDEzLDEyLFApfSwoYy5FMj0oYy5QPVtdLDApLGMuWT1bXSxjLlc9ZmFsc2UsYy53Yj1bXSxjKS5OPShjLks9KGMuRz12b2lkIDAsYy5Eaz1bXSx2b2lkIDApLFQ9d2luZG93LnBlcmZvcm1hbmNlfHx7fSx2b2lkIDApLGMpLDApLFQudGltZU9yaWdpbil8fChULnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCx0cnVlKWMud0o9dm9pZCAwO2MudT0oYy55VD0oKGMuVGU9RyxjLmRKPTMwMDAxLGMpLkQ3PTAsKGMuWD0wLGMpLnZ0PShjLm89ZmFsc2UsYy5CVj0oYy5PXz1ELG0pLFtdKSwwKSxmYWxzZSk7d2hpbGUoLTA9PT0wKWlmKChjLnM5PTI1LFtdKSE9dHJ1ZSlicmVhaztpZihjLnluPSEoYy5TbT0oKGMuVTk9W10sYy5sPXZvaWQgMCxjLlM9bnVsbCxjLnVYPShjLkJ3PTAsYy5xbz0wLGMuaj0wLFtdKSxjLlY9dm9pZCAwLGMuSHQ9IShjLkU5PWZhbHNlLGMub289dm9pZCAwLDEpLGMpLmtOPShjLlRmPTAsYy5IPTEsYy5XdD12b2lkIDAsMCksW10pLDEpLFomJloubGVuZ3RoPT0yJiYoYy5Eaz1aWzFdLGMuVTk9WlswXSksUil0cnl7Yy5XdD1KU09OLnBhcnNlKFIpfWNhdGNoKFApe2MuV3Q9e319ZigoZigyNixmdW5jdGlvbihQLGQsSSxTLFgpe3tYPTA7d2hpbGUoWCE9NjYpWD09ODg/KEk9cSgyNSxQKSxTPVkoUCw3MyksUShQLFMsZnVuY3Rpb24oTSl7cmV0dXJuIGV2YWwoTSl9KHpOKFYoSSxQLkIpKSkpLFg9NjYpOlg9PTAmJihYPU5UKGZhbHNlLDMyLGQsZmFsc2UsUCx0cnVlKT82Njo4OCl9fSwoKGYoKGYoMTYsZnVuY3Rpb24oUCl7a2ooMyxQKX0sKEMoMTQsKGYoKEEoMjY0LChmKDIzLChmKDIwLCgoZigxNywoZigyNywoZigxOCwoKGYoMjEsZnVuY3Rpb24oKXt9LDMyMywoZigyMCwoZigyMyxmdW5jdGlvbihQLGQsSSxTKXtBKChJPShTPShkPXEoNzEsUCksUnYpKFApLFkoUCw3NykpLEkpLFAsVyhQLGQpPj4+Uyl9LChDKDQyLChBKDE1NixjLChRKGMsKFEoYyw0ODgsKEEoMTkxLGMsKEMoOTUsKEMoNTUsKGYoMjUsKEMoNTA2LFtdLCgoQSgoZigxMyxmdW5jdGlvbihQLGQsSSxTLFgpe2ZvcihYPTU1O1ghPTQyOylYPT0zNz8oZC0tLFg9OTIpOlg9PTkyP1g9ZD4wPzkzOjk3Olg9PTU1PyhJPVAuRnoucG9wKCksWD0yOSk6WD09ODc/KFEoUCwxNDIsUC5qKSxYPTQyKTpYPT03MD9YPTkyOlg9PTk3PyhJWzUwNl09UC5ZWzUwNl0sSVszMDJdPVAuWVszMDJdLFAuWT1JLFg9NDIpOlg9PTI5P1g9ST82Nzo4NzpYPT05Mz8oUz1xKDI1LFApLElbU109UC5ZW1NdLFg9MzcpOlg9PTY3JiYoZD1SdihQKSxYPTcwKX0sKGMud049KChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtmb3IoTT03MTtNIT00MDspTT09NzE/TT1OVChmYWxzZSw2NCxkLGZhbHNlLFAsdHJ1ZSk/NDA6OTc6TT09NDg/TT1QLkI9PVB8fEk9PVAuVlQmJlM9PVA/MTk6NDA6TT09OTc/KFg9cVQoNzEsNzQsUCwwLDEpLFM9WC5rZSxJPVguUFYsTT00OCk6TT09MTkmJihBKFgucW0sUCxJLmFwcGx5KFMsWC5MKSksUC5jdD1QLkooKSxNPTQwKX0sKGYoKGYoKChBKDE1NyxjLChmKChmKDI1LChDKDE2OCwoQSgxNDIsYywoZigoZigxOCwoZigyMixmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9MjQ7dyE9ODY7KXc9PTQ/KFEoUCxyLEkpLHc9ODYpOnc9PTQ0PyhkPShNPXEoMTIsNyxQKSwtMip+KGR8TSkrKGR8fk0pKyh+ZHxNKSklbCxJLnB1c2goU1tkXSksdz0yOSk6dz09MjQ/KHI9WShQLDc3KSxYPXEoMTEsNyxQKSxJPVtdLFM9VyhQLDM5MyksZD0wLGw9Uy5sZW5ndGgsdz03MCk6dz09MjM/dz1YLS0/NDQ6NDp3PT0yOT93PTIzOnc9PTcwJiYodz0yMyl9LDMxMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9NjY7dyE9MzU7KXc9PTYwP3c9bDxkLmxlbmd0aD83MjoyODp3PT03Mj8oWCs9U3RyaW5nLmZyb21DaGFyQ29kZShkW2xdXjEyMSksdz00Myk6dz09NDM/KGwrKyx3PTYwKTp3PT04ND93PTYwOnc9PTY2PyhJPXEoODksUCkscj1xKDcyLFApLE09WShQLDc3KSxkPVcoUCxyKSxTPWIoUCxJKSxsPTAsWD0iIix3PTg0KTp3PT0yOCYmKEMoTSxTW1hdLFApLHc9MzUpfSksMTM2LGMpLDI3KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyxFKXt7RT04NDt3aGlsZShFIT0xNClFPT0yND8oTSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoUz1kW3ddLDMqfihTJjEyMSktMip+Uy0gLTI0NCt+KFN8MTIxKSkpLEU9OTMpOkU9PTkzPyh3KyssRT0xOSk6RT09ODQ/KFg9WShQLDc0KSxJPVkoUCw3NCkscj1ZKFAsNzIpLGw9VyhQLEkpLGQ9VyhQLFgpLE09IiIsdz0wLEU9NDIpOkU9PTM0PyhBKHIsUCxNIGluIGx8MCksRT0xNCk6RT09MTk/RT13PGQubGVuZ3RoPzI0OjM0OkU9PTQyJiYoRT0xOSl9fSwyMjEsYyksMCkpLDApLGMpLGZ1bmN0aW9uKFAsZCxJKXtkPVkoKEk9WShQLDc2KSxQKSw3NiksQShkLFAsIiIrVyhQLEkpKX0pLDEwNixjKSwyMiksZnVuY3Rpb24oUCxkLEksUyxYLE0pe3tNPTM4O3doaWxlKE0hPTk3KU09PTE5PyhYKyssTT02OCk6TT09OD8oQShTLFAsZCksTT05Nyk6TT09Njg/TT1YPEk/MjY6ODpNPT04NT9NPTY4Ok09PTM4PyhTPXEoNjcsUCksST1xKDksNyxQKSxYPTAsZD1bXSxNPTg1KTpNPT0yNiYmKGQucHVzaChSdihQKSksTT0xOSl9fSwzMzUsYykse30pKSxjKS54ZT0wLDE2KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyKXtmb3Iocj05NDtyIT04OTspaWYocj09NjEpcj1YPFAudnQubGVuZ3RoPzc0Ojk4O2Vsc2UgaWYocj09OTQpe2ZvcihJIGluIGRlbGV0ZSAoZD0oUz1SdihQKSxXKShQLDU1KSxkKVtTXSxkKWlmKEkhPT0idCImJk9iamVjdC5oYXNPd24oZCxJKSlyZXR1cm47cj0oWD0wLDQ0KX1lbHNlIHI9PTY5PyhYKysscj02MSk6cj09ODU/KEguY2xlYXJUaW1lb3V0KE0uSWEpLGEoNDYsTS5RVCxQKSxhKDQ1LE0uYWEsUCkscj02OSk6cj09Nzg/cj1NLk1tPzY5Ojg1OnI9PTk4PyhQLnZ0Lmxlbmd0aD0wLHI9ODkpOnI9PTc0PyhNPVAudnRbWF0scj03OCk6cj09NDQmJihyPTYxKX0sMzI5LGMpLDI0KSxmdW5jdGlvbihQLGQsSSl7KGQ9YigoST1ZKFAsNzUpLFAuQiksSSksZFswXSkucmVtb3ZlRXZlbnRMaXN0ZW5lcihkWzFdLGRbMl0sb3YpfSwxMzcsYyksMzEwKSxjKSxuZXcgZ1UoIlN1Ym1pdCIpKS5kaXNwb3NlKCksMCksMzI3KSxjKSw0MSksYywxODMpLGYpKDE2LGZ1bmN0aW9uKFApe3VOKDQsUCl9LDEzNCxjKSxjKSksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGLCRuLEdvLEosdil7Zm9yKHY9MDt2IT0yNzspaWYodj09NjkpRT1yLmxlbmd0aCxGPUY+MD9GOjEsdz0wLHY9MTE7ZWxzZSBpZih2PT04NSl2PXc8RT83OjI3O2Vsc2UgaWYodj09NjYpbD1xKDczLFApLCRuPXEoNzYsUCksR289cSg0OSxQKSxJPXEoNTcsUCksUz1XKFAsJG4pLHI9VyhQLGwpLE09VihJLFApLEY9VihHbyxQKSx2PTM3O2Vsc2UgaWYodj09Mzcpdj1YWCgiYXJyYXkiLHIsIm51bGwiKT09Im9iamVjdCI/OTA6Nzk7ZWxzZSBpZih2PT0wKXY9TlQoZmFsc2UsMzIsZCx0cnVlLFAsdHJ1ZSk/Mjc6NjY7ZWxzZSBpZih2PT03KVMoci5zbGljZSh3LCh3fDApKyhGfDApKSxNKSx2PTU5O2Vsc2UgaWYodj09MTEpdj04NTtlbHNlIGlmKHY9PTkwKXtmb3IoWCBpbiBKPVtdLHIpSi5wdXNoKFgpO3Y9KHI9Siw3OSl9ZWxzZSB2PT03OT92PVAuQj09UD82OToyNzp2PT01OSYmKHcrPUYsdj04NSl9KSw3MyxjKSx7fSksYyksWzAsMCwwXSksYyksWWYoNCkpKSxbNTcsMCwwXSkpLDE2MyksW10pLEgpKSxZZig0KSksYyksNDU0KSxjKSxmdW5jdGlvbihQLGQsSSxTLFgpe0EoKGQ9WFgoImFycmF5IiwoST1iKFAsKFM9cSgxNywoWD1ZKFAsNzQpLFApKSxYKSksSSksIm51bGwiKSxTKSxQLGQpfSksNDQxLGMpLGMpKSxRKShjLDQ1OCwwKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwpe3tsPTY5O3doaWxlKGwhPTIyKWw9PTQ2PyhQLk49R04oMzIsUCxmYWxzZSksUC5sPXZvaWQgMCxsPTIyKTpsPT0xNz9sPVg9PTM2Mz80ODoyMjpsPT02ND9sPUk9PTI/NDY6MjI6bD09NDA/bD1QLkI9PVA/OTA6MjI6bD09NDg/KFAubD12b2lkIDAsbD02NCk6bD09OTA/KHI9YihQLFgpLFM9YihQLE0pLEk9VyhQLGQpLHJbSV09UyxsPTE3KTpsPT02OSYmKFg9WShQLDczKSxkPXEoODksUCksTT1xKDc4LFApLGw9NDApfX0pLDY3LGMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUpe2ZvcihFPTM7RSE9MTM7KUU9PTk3PyhYPXFUKDcxLDc0LFAuQiwwLDEpLE09WC5MLHc9WC5xbSxTPVguUFYsST1YLmtlLHI9TS5sZW5ndGgsbD1yPT0wP25ldyBJW1NdOnI9PTE/bmV3IElbU10oTVswXSk6cj09Mj9uZXcgSVtTXShNWzBdLE1bMV0pOnI9PTM/bmV3IElbU10oTVswXSxNWzFdLE1bMl0pOnI9PTQ/bmV3IElbU10oTVswXSxNWzFdLE1bMl0sTVszXSk6MigpLFEoUCx3LGwpLEU9MTMpOkU9PTMmJihFPU5UKGZhbHNlLDY1LGQsZmFsc2UsUCx0cnVlKT8xMzo5Nyl9KSwxMjcsYyksZnVuY3Rpb24oUCxkKXtwcigoZD1XKFAsWShQLDc2KSksNTA2KSwwLDE0MixkLDEwNCxQLkIpfSksMzEzLGMpLGYpKDE4LGZ1bmN0aW9uKFApe3VOKDEsUCl9LDEyMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSl7KEk9KGQ9KE09WShQLChYPXEoKFM9cSg3OSxQKSw2NyksUCksNzIpKSxiKShQLFgpLFYoUyxQKSksQykoTSxJW2RdLFApfSksMjEyLGMpLGYoMTUsZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGKXtmb3IoRj04MztGIT0yNDspRj09Nzg/KFg9WShmYWxzZSwxNiwyLE0sMSxyLFAsRSx3KSxFLmFkZEV2ZW50TGlzdGVuZXIodyxYLG92KSxWKDcxLFApLnB1c2goZnVuY3Rpb24oKXtFLnJlbW92ZUV2ZW50TGlzdGVuZXIodyxYLG92KX0pLEMoNDU4LFtFLHcsWF0sUCksRj0yNCk6Rj09ODM/KGw9cSg0OSxQKSxTPXEoNzQsUCksZD1xKDU3LFApLEk9cSg3MCxQKSx3PVcoUCxTKSxNPWIoUCxJKSxyPVYoZCxQKSxFPVYobCxQLkIpLEY9MzQpOkY9PTM0JiYoRj1FIT09MD83ODoyNCl9LDQ5MyxjKSxmdW5jdGlvbihQLGQsSSxTKXtRKFAsKGQ9cSg3NSwoST1xKDc3LChTPVkoUCw3MiksUCkpLFApKSxkKSxiKFAsUyl8fFcoUCxJKSl9KSwxMTEsYyksYyksW10pLDE5KSxmdW5jdGlvbihQKXtraig0LFApfSw1MDAsYyksWWYoNCkpLGMpLDM2NCksYyksMTMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtBKChkPShJPWIoUCwoTT1xKDQ5LChTPVkoUCwoWD1xKDE3LFApLDcyKSksUCkpLFgpKSxWKShTLFApLE0pLFAsKyhJPT1kKSl9LDQzMixjKSxjKS5aaj0wLDUwNCksYyksMTUpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCl7aWYoMD09IShJPShyPVcoKE09WShQLChYPVkoUCwobD1ZKChTPVkoUCw3NiksUCksNzMpLDcyKSksNzUpKSxQKSxsKSxXKFAsTSkpLFt0cnVlLnRydWVdKSlkPVYoWCxQKTtDKFMsWShmYWxzZSwxNywyLGQsSSxyLFApLFApfSw4MCxjKTt3aGlsZSghW10hPSh0cnVlPT1bXSE9bnVsbCkpaWYoZigyNixmdW5jdGlvbihQLGQsSSxTLFgsTSl7KFg9YihQLChkPShTPXEoKEk9cSg2OCwoTT1xKDgwLFApLFApKSw3MCksUCksYihQLEkpKSxNKSksQykoUyxYIGluIGR8MCxQKX0sMzcsYyksIWZhbHNlPT0hIiIpYnJlYWs7UkIoMjYsZmFsc2UsYywoYSg0NywoYSg0MSwoQSg3MSwoKEEoMzAyLGMsWyhmKDE1LGZ1bmN0aW9uKFAsZCxJLFMpe1YoKGQ9YihQLChJPXEoNjgsUCksUz1ZKFAsNzMpLFMpKSxJKSxQKSE9MCYmQygxNDIsZCxQKX0sKFEoYyw0NDYsKGYoMTMsZnVuY3Rpb24oUCl7WSg4LDU0LFAsNCl9LDc0LChRKChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKKXt7eT0xMzt3aGlsZSh5IT00MCl5PT0wP3k9ODp5PT0yMD8oZigyMSxmdW5jdGlvbih6LFB1LG03LGcsZU0sTCl7Zm9yKEw9NDI7TCE9NzU7KUw9PTIxPyhQdS5wdXNoKG03KSxMPTQ4KTpMPT0zOD8oZy5wdXNoKHEoMjUseikpLEw9OTgpOkw9PTUzP0w9bTc+PWcubGVuZ3RoPzM4OjI1Okw9PTI1PyhtNz1nW203XSxMPTIxKTpMPT02Nj8oei5WPXEoNTMsUy5zbGljZSgpLHopLHouRz1xKDUsUHUseiksTD03NSk6TD09MTE/KG03PU1bZU1dLEw9MTUpOkw9PTQ4PyhlTSsrLEw9NjApOkw9PTQyPyhlTT0wLFB1PVtdLGc9W10sTD05OSk6TD09MTU/TD1PW2VNXT8yMTo2ODpMPT05OD9MPTUzOkw9PTYwP0w9ZU08Sj8xMTo2NjpMPT05OT9MPTYwOkw9PTY4JiYoTD01Myl9LHIsUCkseT00MCk6eT09Mjc/KHc9MCx5PTE1KTp5PT01Mj8oT1tJXXx8KE1bSV09d0ooRikpLHk9NDYpOnk9PTI1PyhGPSgoR298MSkrfihHb3wxKS0ofkdvXjEpLTIqKH5HbyYxKSkudG9TdHJpbmcoMikubGVuZ3RoLE09W10sST0wLHk9Nik6eT09NDk/KFMucHVzaChWKFkoUCw3NSksUCkpLHk9MzMpOnk9PTQ2PyhJKysseT04Nik6eT09MTM/KHdKPWZ1bmN0aW9uKHosUHUpe2Zvcig7RTx6Oyl2fD1SdihQKTw8RSxFKz04O3JldHVybiB2Pj49KFB1PShFLT16LHYmKDE8PHopLTEpLHopLFB1fSxyPVkoUCw3NSksdj1FPTAsWD0od0ooMyl8MCkrMSxKPXdKKDUpLE89W10seT1Hbz1sPTApOnk9PTg2P3k9STxKPzUyOjI3Onk9PTY1Pyh3KysseT04Myk6eT09MzM/eT00Nzp5PT02P3k9ODY6eT09NTA/KE9bd10mJihNW3ddPVkoUCw3MikpLHk9NjUpOnk9PTcxPygkbj13SigxKSxPLnB1c2goJG4pLEdvKz0kbj8wOjEseT03Nik6eT09NDc/eT1kLS0/NDk6MjA6eT09OD95PWw8Sj83MToyNTp5PT04Mz95PXc8Sj81MDo2OTp5PT03Nj8obCsrLHk9OCk6eT09Njk/KGQ9WCxTPVtdLHk9NjYpOnk9PTE1P3k9ODM6eT09NjYmJih5PTQ3KX19LDMwMCwoZigoQygxMDMsMCxjKSwyNCksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcpe2Zvcih3PTkxO3chPTQ3Oyl3PT04MT8oZD0oTT1xKDgsNyxQKSwyKihkJk0pK34oZCZNKS1+KGR8TSkpJVMscis9TltsW2RdXSx3PTI1KTp3PT01MD93PTgzOnc9PTEyPyhBKFgsUCxyKSx3PTQ3KTp3PT05MT8oWD1ZKFAsNzUpLEk9cSgxMCw3LFApLHI9IiIsbD1XKFAsMzkzKSxTPWwubGVuZ3RoLGQ9MCx3PTUwKTp3PT04Mz93PUktLT84MToxMjp3PT0yNSYmKHc9ODMpfSw1MSxjKSxjKSksYyksMzksYyksYykpLFtdKSksMTcxKSxjKSwyMDQ4KV0pLGYpKDE5LGZ1bmN0aW9uKFAsZCxJLFMsWCl7USgoWD0oZD0oUz1xKDI1LChJPVkoUCw3NiksUCkpLGIpKFAsUyksVihJLFApKSxQKSxTLGQrWCl9LDEwNCxjKSxjKSxbXSksaHx8YSg1NixbeG5dLGMpLFtHdCxrXSksYyksW1JZLG5dKSxjKSx0cnVlKSx0cnVlKX0sVmg9ZnVuY3Rpb24oayxSKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDI0LGssUil9LGtmPWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz1SLmNyZWF0ZSgpLnNoaWZ0KCksay5WLmNyZWF0ZSgpLmxlbmd0aHx8ay5HLmNyZWF0ZSgpLmxlbmd0aCl8fChrLkc9dm9pZCAwLGsuVj12b2lkIDApLEd9LHFQPWZ1bmN0aW9uKGspe2Zvcih2YXIgUj04NztSIT0yOTspaWYoUj09MzIpRCs9ZW5jb2RlVVJJQ29tcG9uZW50KEdbaF0pK2tbaCsxXSxSPTM1O2Vsc2V7aWYoUj09MTgpcmV0dXJuIGUoMzYsbnVsbCxEKTtpZihSPT04Nyl2YXIgRz1Lci5hcHBseSgxLChSPTkzLGFyZ3VtZW50cykpO2Vsc2UgaWYoUj09MzUpaCsrLFI9NDY7ZWxzZSBpZihSPT04Myl2YXIgaD0oUj00LDApLEQ9a1swXTtlbHNlIGlmKFI9PTkzKVI9Ry5sZW5ndGg9PT0wPzUxOjgzO2Vsc2UgaWYoUj09NClSPTQ2O2Vsc2UgaWYoUj09NDYpUj1oPEcubGVuZ3RoPzMyOjE4O2Vsc2UgaWYoUj09NTEpcmV0dXJuIGUoMzUsbnVsbCxrWzBdKX19LFdZPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIE1QLmNhbGwodGhpcywyMixrLFIsRyxoLEQpfSxubj1mdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcywzKX0sYUI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gQVcuY2FsbCh0aGlzLDQxLGssOCxSKX0sWWY9ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTE5O0chPTY4OylpZihHPT03OSlSLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRz0xNTtlbHNlIGlmKEc9PTE5KVI9W10sRz05NztlbHNlIGlmKEc9PTk3KUc9MzA7ZWxzZSBpZihHPT0xNSlHPTMwO2Vsc2UgaWYoRz09MzApRz1rLS0/Nzk6NzE7ZWxzZSBpZihHPT03MSlyZXR1cm4gUn0sZWU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEksUyl7Zm9yKFo9KEI9KFQ9KEk9ay5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksW10pLDApLDApO1o8SS5sZW5ndGg7WisrKUQ9SS5jaGFyQ29kZUF0KFopLEQ8Uj9UW0IrK109RDooRDwyMDQ4P1RbQisrXT0oYz1EPj42LC1+KGMmMTkyKSsyKihjXjE5MiktKH5jJjE5MikrKH5jfDE5MikpOigoRCY2NDUxMik9PTU1Mjk2JiZaKzE8SS5sZW5ndGgmJihJLmNoYXJDb2RlQXQoWisxKSY2NDUxMik9PTU2MzIwPyhEPShtPShEJjEwMjMpPDwxMCwyKig2NTUzNiZtKSsoNjU1MzYmfm0pLSgtNjU1MzdebSkrKC02NTUzN3xtKSkrKGg9SS5jaGFyQ29kZUF0KCsrWiksKGh8MCktfihoJjEwMjMpK35oKSxUW0IrK109KGQ9RD4+MTgsMjQwKyhkJjI0MCkrLTI0MS0ofmReMjQwKSksVFtCKytdPShHPShQPUQ+PjEyLDYzLSh+UCY2MykpLDEyNy0ofkd8UikpKTpUW0IrK109KFM9RD4+MTIsMjIzLSh+U3wyMjQpKSxUW0IrK109KG49KE49RD4+Niwtfk4rKH5OXjYzKSsofk4mNjMpKSxSLSh+bl5SKSsobnwtMTI5KSkpLFRbQisrXT02My1+RCt+KER8NjMpfFIpO3JldHVybiBUfSxXPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTtmb3IoTmFOO0c9PT12b2lkIDA7ZmFsc2Upe3Rocm93W3dVLDMwLFJdO2lmKHRydWUpYnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoUioyKlIrLTMxKlIrNTgpLEcpLnByb3RvdHlwZX0sTHI9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssNSxSLEcsaCxEKX0sa2o9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7KCgoRz1iKFIsKFo9WShSLChjPVkoUiwoRD0oa3w0KS1+aysoaD1rJjMsfihrfDQpKS0oayYtNSksNzMpKSw3NykpLGMpKSxEKSYmKEc9ZWUoIiIrRywxMjgpKSxoKSYmamUoWixLKDIsRy5sZW5ndGgpLFIpLGplKShaLEcsUil9LGlOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXsoUi5wdXNoKChjPWtbMF08PDI0fGtbMV08PDE2LG49a1syXTw8OCwtfihjJm4pKy0yLSh+Y15uKSl8a1szXSksUi5wdXNoKChaPShoPWtbNF08PDI0fGtbNV08PDE2LE49a1s2XTw8OCwtMi1+Ti0ofmh8TikpLEQ9a1s3XSwyKihEfDApLTIqKFomRCktflorKFp8fkQpKSksUikucHVzaCgoVD0oQj1rWzhdPDwyNHxrWzldPDwxNixtPWtbMTBdPDw4LC1+KEImbSkrMiooQl5tKSsofkJebSkpLEc9a1sxMV0sLTEtflQrKH5UJkcpKSl9LGxOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3N3aXRjaCghKGguQj09aCkpe2Nhc2UgdHJ1ZTpmYWxzZTticmVhaztjYXNlICFbIiJdIT0wOntaPWIoaCxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8obT1mdW5jdGlvbihULE4sUCxkLEksUyxYLE0pe2ZvcihYPShTPTgsOTcpOzspdHJ5e2lmKFM9PTU1KWJyZWFrO2Vsc2UgaWYoUz09NzYpWD0zMyxaLkdmPXloKDE2LHEoMzQsOCwtMS0yKn4oSXw0KSsofkleNCksWiksMjU1LHEoNjYsOCxJLFopLGQpLFM9NzA7ZWxzZXtpZihTPT02Mil0aHJvdyBYPTk3LE07Uz09NzA/KFoucHVzaChaLkdmWy0oTnxHKS0yKn4oTnxHKSsoTnwtOCkrKH5OfEcpXV5UKSxTPTU1KTpTPT05MD9TPVoubUIhPVA/Mjk6NzA6Uz09OD8oTj1aLmxlbmd0aCxQPShOfDApLTQ+PjMsUz05MCk6Uz09MjkmJihJPShQPDwzKS00LGQ9WzAsMCxCWzFdLEJbMl1dLFoubUI9UCxTPTc2KX19Y2F0Y2gocil7aWYoWD09OTcpdGhyb3cgcjtYPT0zMyYmKE09cixTPTYyKX19LEI9Vig5NSxoKSk6bT1mdW5jdGlvbihUKXtaLnB1c2goVCl9LEQmJm0oKER8MCktIC01MTIrMip+KER8MjU1KSsoRCYtMjU2KSksYz1SLmxlbmd0aCxuPTA7d2hpbGUobjxjKW0oUltuXSksbisrfWJyZWFrfX0sQz1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKCEoaz09MTQyfHxrPT0xNjgpKXtjYXNlIHRydWU6d2hpbGUoRy55biYmayE9MzYzKXtyZXR1cm47aWYoZmFsc2U9PTApYnJlYWt9az09NDg4fHxrPT00Mnx8az09MjY0fHxrPT0xNHx8az09NTA2fHxrPT00NDZ8fGs9PTE2M3x8az09OTV8fGs9PTE5MXx8az09MzAyP0cuWVtrXXx8KEcuWVtrXT1ZKDIsMzIsRyxSLGssMzgpKTpHLllba109WSgyLDM1LEcsUixrLDEyOSk7YnJlYWs7Y2FzZSBmYWxzZTpHLllba10/Ry5ZW2tdLmNvbmNhdChSKTpHLllba109cSg4NSxSLEcpO2JyZWFrfWs9PTM2MyYmKEcuTj1HTigzMixHLGZhbHNlKSxHLmw9dm9pZCAwKX0scVQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Yz0oWj0oKG49cSgobT1HW3ZZXXx8e30sayksRyksbS5xbT1xKDE3LEcpLG0pLkw9W10sRykuQj09Rz8oUnYoRyl8aCktRDoxLFkoRyxSKSk7e0I9aDt3aGlsZShCPFopbS5MLnB1c2gocSg0OSxHKSksQisrfWZvcihtLlBWPWIoRyxuKTtaLS07KW0uTFtaXT1iKEcsbS5MW1pdKTtyZXR1cm4gbS5rZT1iKEcsYyksbX0sV3U9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDUpfSxRaD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIFcoRCwoQygxNDIsKGJOKDU3LGgsKChjPVcoRCwxNDIpLEQud2ImJmM8RC5qKT8oUShELDE0MixELmopLHByKDUwNixrLDE0MixSLDEwNCxEKSk6QygxNDIsUixEKSxEKSw0MSksYyksRCksRykpfSxGWD1mdW5jdGlvbigpe3JldHVybiBNUC5jYWxsKHRoaXMsMjApfSxYWD1mdW5jdGlvbihrLFIsRyxoLEQpe0Q9dHlwZW9mIFI7c3dpdGNoKCEoRD09Im9iamVjdCIpKXtjYXNlIE5hTiE9PU51bWJlcih1bmRlZmluZWQpOmZvcihbXSE9KCFbIiJdPT1OdW1iZXIoKSk7RD09ImZ1bmN0aW9uIiYmdHlwZW9mIFIuY2FsbD09InVuZGVmaW5lZCI7MCl7cmV0dXJuIm9iamVjdCI7aWYoIkYiKWJyZWFrfWJyZWFrO2Nhc2UgbnVsbD09KG51bGw9PWZhbHNlKTpzd2l0Y2goIVIpe2Nhc2UgIVtdPT0wOnJldHVybiBHO2JyZWFrO2Nhc2UgIVt1bmRlZmluZWRdIT0wOmlmKFIgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gaztzd2l0Y2goIShSIGluc3RhbmNlb2YgT2JqZWN0KSl7Y2FzZSB0cnVlOltdIT0odHJ1ZSE9W10pO2JyZWFrO2Nhc2UgIVtdPT0oLTA9PT0wKTpyZXR1cm4gRDticmVha31oPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSKTtmb3IoZmFsc2U7aD09IltvYmplY3QgV2luZG93XSI7ZmFsc2Upe3JldHVybiJvYmplY3QiO2lmKFtdPT0oIWZhbHNlPT0hIiIpIT1udWxsKWJyZWFrfWZvcihOdW1iZXIoKTtoPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgUi5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgUi5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKTtmYWxzZSl7cmV0dXJuIGs7aWYoIlkiKWJyZWFrfXN3aXRjaCghKGg9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBSLmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpKXtjYXNlIFtdIT10cnVlOjE7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4iZnVuY3Rpb24iO2JyZWFrfWJyZWFrfWJyZWFrfXJldHVybiBEfSxyVT1mdW5jdGlvbihrLFIpe3JldHVybiB0Vy5jYWxsKHRoaXMsMjgsayxSKX0seD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7bT10aGlzO3RyeXtjZChSLG4sYyxaLGssdGhpcyxoLEQsRyl9Y2F0Y2goQil7ZSg4OSwiOiIsdGhpcyxCKSxEKGZ1bmN0aW9uKFQpe1QobS5LKX0pfX0sWnk9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5uPSh0aGlzLlQ9W10sMCl9cmV0dXJuW2Z1bmN0aW9uKGgpe2sueE4oaCksUi54TihoKX0sKFI9KGs9KEcucHJvdG90eXBlLnhOPShHLnByb3RvdHlwZS5POT1mdW5jdGlvbigpe3JldHVybiBSQi5jYWxsKHRoaXMsMyl9LGZ1bmN0aW9uKGgsRCl7cmV0dXJuIGNZLmNhbGwodGhpcywzMyxoLDExLEQpfSksbmV3IEcpLG5ldyBHKSxmdW5jdGlvbihoLEQpe3JldHVybiBEPShoPWg9PT12b2lkIDA/dHJ1ZTpoLGsuTzkoKS5jb25jYXQoUi5POSgpKSksaCYmKFI9bmV3IEcpLER9KV19LGtuPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFApe209a1swXTtzd2l0Y2goIShtPT0kZikpe2Nhc2UgZmFsc2U9PSFbXTppZihtPT1CZCloLlc9RyxoLnM5PTI1LGgueVQ9aC5SbygpLWtbUl0saC5pKGspO2Vsc2UgaWYobT09QW8pe0I9a1sxXVszXTt0cnl7Yz1oLkt8fGguaShrKX1jYXRjaChkKXtlKDU4LCI6IixoLGQpLGM9aC5LfShuPWguSigpLEIoYyksaCkuWCs9aC5KKCktbn1lbHNlIHN3aXRjaCghKG09PW1jKSl7Y2FzZSBOYU4hPT1OdW1iZXIodW5kZWZpbmVkKTpzd2l0Y2goIShtPT1HdCkpe2Nhc2UgMD09PS0wOnN3aXRjaCghKG09PVJZKSl7Y2FzZSBOdW1iZXIoKT09PS1OdW1iZXIoKTppZihtPT1NVClyZXR1cm4gRD1rW1JdLEEoNDUxLGgsa1s2XSksQygxNTcsRCxoKSxoLmkoayk7bT09ZHI/KGguaShrKSxoLlk9bnVsbCxoLnVYPVtdLGgud2I9W10pOm09PXhuJiZILmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihoLlM9ZnVuY3Rpb24oZCxJKXtmdW5jdGlvbiBTKFgpe2ZvcihYPTk3O1ghPTU2OylYPT05Nz9YPUk/NTY6ODY6WD09ODYmJihJPUcsSC5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTLG92KSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpLGQoKSxYPTU2KX1ILmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChJPWZhbHNlLFMpLG92KSxILmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpfSk7YnJlYWs7Y2FzZSBmYWxzZTp0cnl7e1A9MDt3aGlsZShQPGguU20ubGVuZ3RoKXt0cnl7Wj1oLlNtW1BdLFpbMF1bWlsxXV0oWltSXSl9Y2F0Y2goZCl7fVArK319fWNhdGNoKGQpe30oMCxrWzFdKShmdW5jdGlvbihkLEkpe2gucFgoZCxHLEkpfSxmdW5jdGlvbihkKXthKDQ0LChkPSFoLlAubGVuZ3RoJiYhaC5vLFtkcl0pLGgpLGQmJlJCKDMwLGZhbHNlLGgsZmFsc2UsRyl9LChoLlNtPVtdLFQ9aC5KKCksZnVuY3Rpb24oZCl7cmV0dXJuIGgudHgoZCl9KSxmdW5jdGlvbihkLEksUyl7cmV0dXJuIGguZWkoZCxJLFMpfSksaC5YKz1oLkooKS1UO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2U6aC51PUcsaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgW109PShmYWxzZT09IVtdKTprWzNdJiYoaC51PUcpLGtbNF0mJihoLlc9RyksaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgTmFOPT09TmFOOmlmKE49aC5pKGspKU4uSWE9SC5zZXRUaW1lb3V0KGZ1bmN0aW9uKGQpeyhhKChhKDQwLE4uUVQsKGQ9KE4uTW09RywhaC5QLmxlbmd0aCYmIWgubyksaCkpLDU4KSxOLmFhLGgpLGQpJiZSQigyNSxmYWxzZSxoLEcsRyl9LE4udGltZW91dCksaC52dC5wdXNoKE4pO2JyZWFrfX0sU009ZnVuY3Rpb24oayxSLEcpeyJzdGFjayJpbih0aGlzLm1lc3NhZ2U9KEc9RXJyb3IuY2FsbCh0aGlzLGsrIiBjYW5ub3QgYmUgdXNlZCB3aXRoIGludGVudCAiK21EW1JdKSxHLm1lc3NhZ2UpLEcpJiYodGhpcy5zdGFjaz1HLnN0YWNrKSx0aGlzLnR5cGU9ayx0aGlzLm5hbWU9IlR5cGVDYW5ub3RCZVVzZWRXaXRoSWZyYW1lSW50ZW50RXJyb3IifSxnVT1mdW5jdGlvbihrLFIsRyl7cmV0dXJuIEFXLmNhbGwodGhpcyw0MSxrLDI5LFIsRyl9LEE9ZnVuY3Rpb24oayxSLEcpe2lmKGs9PTE0Mnx8az09MTY4KVIuWVtrXT9SLllba10uY29uY2F0KEcpOlIuWVtrXT1xKDM3LEcsUik7ZWxzZXtpZihSLnluJiZrIT0zNjMpcmV0dXJuO2s9PTQ4OHx8az09NDJ8fGs9PTI2NHx8az09MTR8fGs9PTUwNnx8az09NDQ2fHxrPT0xNjN8fGs9PTk1fHxrPT0xOTF8fGs9PTMwMj9SLllba118fChSLllba109WSgyLDQwLFIsRyxrLDM4KSk6Ui5ZW2tdPVkoMiwzMixSLEcsaywxMjkpfWs9PTM2MyYmKFIuTj1HTigzMixSLGZhbHNlKSxSLmw9dm9pZCAwKX0sbng9ZnVuY3Rpb24oayxSLEcsaCxEKXt3aGlsZShrLmxlbmd0aD09Myl7e2g9MDt3aGlsZShoPDMpUltoXSs9a1toXSxoKyt9RD1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdO3tHPTA7d2hpbGUoRzw5KVJbM10oUixHJTMsRFtHXSksRysrfWlmKHt9KWJyZWFrfX0sS3I9ZnVuY3Rpb24oKXt7dmFyIGs9OTM7d2hpbGUoayE9Mzkpe2lmKGs9PTkwKXJldHVybiBoO2lmKGs9PTc3KWs9Rzxhcmd1bWVudHMubGVuZ3RoPzE2OjkwO2Vsc2UgaWYoaz09OTMpdmFyIFI9KGs9MTEsTnVtYmVyKSh0aGlzKSxHPVIsaD1bXTtlbHNlIGs9PTExP2s9Nzc6az09OTI/KEcrKyxrPTc3KTprPT0xNiYmKGhbRy1SXT1hcmd1bWVudHNbR10saz05Mil9fX0scHI9ZnVuY3Rpb24oayxSLEcsaCxELGMpe3doaWxlKGZhbHNlPT0wKWlmKGMuRnoubGVuZ3RoPkQ/YXYoayxjLFIsW3dVLDM2XSk6KGMuRnoucHVzaChjLlkuc2xpY2UoKSksYy5ZW0ddPXZvaWQgMCxBKEcsYyxoKSksIVtdPT0wKWJyZWFrfSxiPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTt3aGlsZShHPT09dm9pZCAwKXt0aHJvd1t3VSwzMCxSXTtpZigwPT0hW3RydWUudHJ1ZV0pYnJlYWt9c3dpdGNoKCFHLnZhbHVlKXtjYXNlIDA9PSFbXTpbXSE9KHRydWUhPVtdKTticmVhaztjYXNlIG51bGw9PShmYWxzZT09bnVsbCk6cmV0dXJuIEcuY3JlYXRlKCk7YnJlYWt9cmV0dXJuKEcuY3JlYXRlKFIqMipSKy0zMSpSKzU4KSxHKS5wcm90b3R5cGV9LE5ELHRvPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4gRjEuY2FsbCh0aGlzLDk0LCJvbiIsMjQsayxSLEcsaCxELGMpfSxUdD1mdW5jdGlvbihrLFIsRyxoLEQpe3JldHVybiBMbi5jYWxsKHRoaXMsMyxrLEcsMTIsRCxSLGgpfSxEWj1mdW5jdGlvbigpe3JldHVybiBLbi5jYWxsKHRoaXMsMCwxLDUpfSxnSj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssMTIsUixHLGgsRCxjLFosbixtLEIpfSxWPWZ1bmN0aW9uKGssUixHKXtHPVIuWVtrXTtzd2l0Y2goIShHPT09dm9pZCAwKSl7Y2FzZSAwPT0hWyIiXTowPT0hWyIiXTticmVhaztjYXNlIDAhPT0tTnVtYmVyKCk6dGhyb3dbd1UsMzAsa107YnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoayoyKmsrLTMxKmsrNTgpLEcpLnByb3RvdHlwZX0sUzg9ZnVuY3Rpb24oayxSLEcsaCl7dHJ5e2g9a1soKFJ8MCkrMiklM10sa1tSXT0oa1tSXXwwKS0oa1soLTIqfihSJjEpKy0yKyhSJi0yKSsoflImMSkpJTNdfDApLShofDApXihSPT0xP2g8PEc6aD4+PkcpfWNhdGNoKEQpe3Rocm93IEQ7fX0sSVk9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDgpfSxRZj1mdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyw1MSl9LFgxPWZ1bmN0aW9uKGspe3JldHVybiBOUC5jYWxsKHRoaXMsNCxrLDMpfSx1Tj1mdW5jdGlvbihrLFIsRyxoKXtoPXEoNTcsKEc9WShSLDczKSxSKSksamUoaCxLKGssVihHLFIpKSxSKX0sYk49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2lmKCFHLkspe0cuRDcrKzt0cnl7RD1HLmo7d2hpbGUoIW51bGwpaWYoYz12b2lkIDAsdHJ1ZSE9IVtdKWJyZWFrO2ZvcihaPTA7LS1SOyl0cnl7aWYobT12b2lkIDAsRy5WKWM9a2YoRyxHLlYpO2Vsc2V7aWYoKFo9VigxNDIsRyksWik+PUQpYnJlYWs7Yz1iKEcsKG09cSg4OSwoUShHLDE2OCxaKSxHKSksbSkpfU5UKGZhbHNlLDMzLChjJiYobj1jW2RyXSwobnwwKSsyMDQ4LShufDIwNDgpKT9jKEcsUik6YXYoNTA2LEcsMCxbd1UsMjEsbV0pLFIpLGZhbHNlLEcsZmFsc2UpfWNhdGNoKEIpe1coRyxoKT9hdig1MDYsRywyMixCKTpBKGgsRyxCKX1mb3IodHJ1ZSsobnVsbCE9KDAhPSFbXSkpOyFSOzEpe2Zvcih2b2lkIDA7Ry5ObTshW109PWZhbHNlKXtiTig1NywoRy5ENy0tLDYwMzE5ODAwNTkzMCksRyw0MSk7cmV0dXJuO2lmKDMpYnJlYWt9aWYoYXYoNTA2LEcsMCxbd1UsMzNdKSwxKWJyZWFrfX1jYXRjaChCKXt0cnl7YXYoNTA2LEcsMjIsQil9Y2F0Y2goVCl7ZShrLCI6IixHLFQpfX1HLkQ3LS19fSxwbj1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDI0LGspfSx1O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlICEiIj09IWZhbHNlOnZhciBYUTthOnt2YXIgTUQ9e30sb1k9e2E6dHJ1ZX07dHJ5e01ELl9fcHJvdG9fXz1vWTt3aGlsZShOdW1iZXIoKT09ZmFsc2UpaWYoWFE9TUQuYSx0cnVlIT1bXSlicmVhazticmVhayBhfWNhdGNoKGspe31YUT1mYWxzZX1ORD1YUT9mdW5jdGlvbihrLFIsRyl7Zm9yKEc9MTU7RyE9NTI7KXtpZihHPT02NilyZXR1cm4gaztpZihHPT0xNSlrLl9fcHJvdG9fXz1SLEc9Nzg7ZWxzZSBpZihHPT03OClHPWsuX19wcm90b19fIT09Uj80MTo2NjtlbHNlIGlmKEc9PTQxKXRocm93IG5ldyBUeXBlRXJyb3IoaysiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIDAhPSFbXTpORD1PYmplY3Quc2V0UHJvdG90eXBlT2Y7YnJlYWt9dmFyIEg9dGhpc3x8c2VsZix0MD1ORCxFUj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxIdT0wLFpaLGZuPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtEPTgxO3toPTU0O3doaWxlKFtdKXRyeXtpZihEPT0zNSlicmVhaztlbHNlIGlmKEQ9PTgwKVI9ZmFsc2UsRz1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtSPXRydWV9fSksRD01MDtlbHNlIGlmKEQ9PTMwKWg9NTQsRD0zMjtlbHNle2lmKEQ9PTMyKXJldHVybiBoPTU0LFI7aWYoRD09MzMpcmV0dXJuIGZhbHNlO0Q9PTUwPyhoPTM4LGs9ZnVuY3Rpb24oKXt9LEguYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsayxHKSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGssRyksRD0zMik6RD09ODEmJihEPUguYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzgwOjMzKX19Y2F0Y2goWil7aWYoaD09NTQpdGhyb3cgWjtoPT0zOCYmKGM9WixEPTMwKX19fSgpLGRKPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKCgoKEJZKDIsNDUsclUsKGFCLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD0oV3UucHJvdG90eXBlW1d1LnByb3RvdHlwZS5kaXNwb3NlPShXdS5wcm90b3R5cGUuZz1mYWxzZSxmdW5jdGlvbihrKXt7az05NTt3aGlsZShrIT0xMilrPT01Mj8odGhpcy5nPXRydWUsdGhpcy5VKCksaz0xMik6az09OTUmJihrPXRoaXMuZz8xMjo1Mil9fSksKGFCLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLlB0PXRydWV9LFN5bWJvbCkuZGlzcG9zZV09KFd1LnByb3RvdHlwZS5VPWZ1bmN0aW9uKGspe3trPTc2O3doaWxlKGshPTQ2KWs9PTU4P2s9ODA6az09MzY/KHRoaXMubFguc2hpZnQoKSgpLGs9NDEpOms9PTgwP2s9dGhpcy5sWC5sZW5ndGg/MzY6NDY6az09NDE/az04MDprPT03NiYmKGs9dGhpcy5sWD81ODo0Nil9fSxmdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfSksZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0pLGFCKSksclUucHJvdG90eXBlKS5pbml0PWZ1bmN0aW9uKGssUixHLGgsRCxjKXtmb3IoYz0zOTtjIT05NjspYz09MTY/Yz1EPT0ibW91c2VvdmVyIj8yMjoyMzpjPT0yMz9jPUQ9PSJtb3VzZW91dCI/MTI6ODQ6Yz09OTk/KHRoaXMub2Zmc2V0WD1rLm9mZnNldFgsdGhpcy5vZmZzZXRZPWsub2Zmc2V0WSx0aGlzLmNsaWVudFg9ay5jbGllbnRYIT09dm9pZCAwP2suY2xpZW50WDprLnBhZ2VYLHRoaXMuY2xpZW50WT1rLmNsaWVudFkhPT12b2lkIDA/ay5jbGllbnRZOmsucGFnZVksdGhpcy5zY3JlZW5YPWsuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ay5zY3JlZW5ZfHwwLGM9MjApOmM9PTg0Pyh0aGlzLnJlbGF0ZWRUYXJnZXQ9aCxjPTgxKTpjPT01ND8odGhpcy5jbGllbnRYPUcuY2xpZW50WCE9PXZvaWQgMD9HLmNsaWVudFg6Ry5wYWdlWCx0aGlzLmNsaWVudFk9Ry5jbGllbnRZIT09dm9pZCAwP0cuY2xpZW50WTpHLnBhZ2VZLHRoaXMuc2NyZWVuWD1HLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUcuc2NyZWVuWXx8MCxjPTIwKTpjPT0yMD8odGhpcy5idXR0b249ay5idXR0b24sdGhpcy5rZXlDb2RlPWsua2V5Q29kZXx8MCx0aGlzLmtleT1rLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1rLmNoYXJDb2RlfHwoRD09ImtleXByZXNzIj9rLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PWsuY3RybEtleSx0aGlzLmFsdEtleT1rLmFsdEtleSx0aGlzLnNoaWZ0S2V5PWsuc2hpZnRLZXksdGhpcy5tZXRhS2V5PWsubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1rLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPWsucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1rLnN0YXRlLHRoaXMudGltZVN0YW1wPWsudGltZVN0YW1wLHRoaXMuWU49ayxrLmRlZmF1bHRQcmV2ZW50ZWQmJnJVLk8ucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxjPTk2KTpjPT02OD9jPWg/ODQ6MTY6Yz09MjI/KGg9ay5mcm9tRWxlbWVudCxjPTg0KTpjPT04MT9jPUc/NTQ6OTk6Yz09MTI/KGg9ay50b0VsZW1lbnQsYz04NCk6Yz09MzkmJihEPXRoaXMudHlwZT1rLnR5cGUsRz1rLmNoYW5nZWRUb3VjaGVzJiZrLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9rLmNoYW5nZWRUb3VjaGVzWzBdOm51bGwsdGhpcy50YXJnZXQ9ay50YXJnZXR8fGsuc3JjRWxlbWVudCx0aGlzLmN1cnJlbnRUYXJnZXQ9UixoPWsucmVsYXRlZFRhcmdldCxjPTY4KX0sclUpLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXsoclUuTy5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLllOLnN0b3BQcm9wYWdhdGlvbik/dGhpcy5ZTi5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLllOLmNhbmNlbEJ1YmJsZT10cnVlfSxyVSkucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKGspeyhrPShyVS5PLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcy5ZTiksaykucHJldmVudERlZmF1bHQ/ay5wcmV2ZW50RGVmYXVsdCgpOmsucmV0dXJuVmFsdWU9ZmFsc2V9LE1hdGgucmFuZG9tKCkpKjFFNnwwKSxIWT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEl2PTAsbDk9KCgoak0ucHJvdG90eXBlLmFkZD0oak0ucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIHJKKDEwLHRydWUsZmFsc2UsKEc9KGg9KEQ9ayE9PXZvaWQgMCk/ay50b1N0cmluZygpOiIiLFIhPT12b2lkIDApLHRoaXMuWiksZnVuY3Rpb24oYyxaLG4pe2ZvcihuPTM4O24hPTgzOylpZihuPT04OCkrK1osbj0zMjtlbHNle2lmKG49PTE4KXJldHVybiBmYWxzZTtpZihuPT03NyluPTMyO2Vsc2UgaWYobj09ODkpbj1EJiZjW1pdLnR5cGUhPWh8fEcmJmNbWl0uY2FwdHVyZSE9Uj84ODoxNDtlbHNle2lmKG49PTE0KXJldHVybiB0cnVlO249PTMyP249WjxjLmxlbmd0aD84OToxODpuPT0zOCYmKFo9MCxuPTc3KX19fSl9LGZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3tCPTczO3doaWxlKEIhPTI5KWlmKEI9PTEwKW0uYW89ZmFsc2UsQj01MTtlbHNlIGlmKEI9PTIxKUI9Yz4tMT8wOjcxO2Vsc2UgaWYoQj09NDMpQj1HPzUxOjEwO2Vsc2V7aWYoQj09NTEpcmV0dXJuIG07Qj09MD8obT1uW2NdLEI9NDMpOkI9PTk0PyhuPXRoaXMuWltaXT1bXSx0aGlzLkp4KyssQj0zMik6Qj09NzE/KG09bmV3IFR0KEQsdGhpcy5zcmMsWixSLCEhaCksbS5hbz1HLG4ucHVzaChtKSxCPTUxKTpCPT0zMj8oYz1ySigyMSwwLGgsRCxuLFIpLEI9MjEpOkI9PTczPyhaPWsudG9TdHJpbmcoKSxuPXRoaXMuWltaXSxCPTQ4KTpCPT00OCYmKEI9bj8zMjo5NCl9fX0pLGpNKS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7e249MjI7d2hpbGUobiE9NDIpaWYobj09MzkpaFcoMjMsdHJ1ZSxEW2NdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRCxjLDEpLG49NzQ7ZWxzZSBpZihuPT05OSluPWM+LTE/Mzk6NTk7ZWxzZXtpZihuPT0yKXJldHVybiB0cnVlO2lmKG49PTUpZGVsZXRlIHRoaXMuWltaXSx0aGlzLkp4LS0sbj0yO2Vsc2UgaWYobj09NzQpbj1ELmxlbmd0aD09MD81OjI7ZWxzZSBpZihuPT04MyluPVogaW4gdGhpcy5aPzg0OjA7ZWxzZXtpZihuPT01OXx8bj09MClyZXR1cm4gZmFsc2U7bj09MjI/KFo9ay50b1N0cmluZygpLG49ODMpOm49PTg0JiYoRD10aGlzLlpbWl0sYz1ySigyMCwwLEcsaCxELFIpLG49OTkpfX19fSxqTSkucHJvdG90eXBlLkNYPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4oRD10aGlzLlpbay50b1N0cmluZygpXSxjPS0xLEQmJihjPXJKKDIyLDAsaCxHLEQsUikpLGMpPi0xP0RbY106bnVsbH0sImNsb3N1cmVfbG1fIikrKE1hdGgucmFuZG9tKCkqMUU2fDApLGk5PTAsVE49e30sZFU9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsoKCgoKEJZKDIsNDMsRFosV3UpLERaLnByb3RvdHlwZSlbZEpdPXRydWUsdT1EWi5wcm90b3R5cGUsdSkuemY9ZnVuY3Rpb24oayl7dGhpcy5Obz1rfSx1KS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe3Z1KDU2LGZhbHNlLFIsRyx0aGlzLHRydWUsaywzLGgpfSx1KS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe0J1KDE2LDAsIm9iamVjdCIsRyxSLGgsayx0aGlzKX0sdS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXtmb3IoTj03NDtOIT02MTspaWYoTj09ODYpQj1SLmN1cnJlbnRUYXJnZXQ9bixoPVBZKDUsMCxCLG0sdHJ1ZSxSKSYmaCxSLlB0fHwoaD1QWSgzLDAsQixtLGZhbHNlLFIpJiZoKSxOPTY0O2Vsc2UgaWYoTj09OTEpTj05O2Vsc2UgaWYoTj09NilOPVIuUHQ/NjQ6ODY7ZWxzZSBpZihOPT0yKUI9Ui5jdXJyZW50VGFyZ2V0PWNbWl0saD1QWSg3LDAsQixtLHRydWUsUikmJmgsTj0yNDtlbHNlIGlmKE49PTY4KUQ9W10sTj00O2Vsc2UgaWYoTj09NzMpRC5wdXNoKEcpLE49NzE7ZWxzZSBpZihOPT02NClOPWM/NDc6MjU7ZWxzZSBpZihOPT01MyloPXRydWUsTj0xMjtlbHNlIGlmKE49PTkpTj0hUi5QdCYmWj49MD8yOjY7ZWxzZSBpZihOPT0xNSlOPXR5cGVvZiBSPT09InN0cmluZyI/Mzc6ODtlbHNlIGlmKE49PTQ3KVo9MCxOPTk5O2Vsc2V7aWYoTj09MjUpcmV0dXJuIGg7Tj09OTk/Tj05NzpOPT00MD8oWisrLE49OTcpOk49PTY5PyhSLnRhcmdldD1SLnRhcmdldHx8bixOPTUzKTpOPT0zNz8oUj1uZXcgYUIoUixuKSxOPTUzKTpOPT0zMz9OPUc/Njg6NzU6Tj09MjQ/KFotLSxOPTkpOk49PTQ/Tj04OTpOPT03ND8oRz10aGlzLk5vLE49MzMpOk49PTg1PyhCPVIuY3VycmVudFRhcmdldD1jW1pdLGg9UFkoNiwwLEIsbSxmYWxzZSxSKSYmaCxOPTQwKTpOPT0xND8oVD1SLFI9bmV3IGFCKG0sbiksQ3IoUixUKSxOPTUzKTpOPT03NT8oUj1rLG09Ui50eXBlfHxSLG49dGhpcy5scSxjPUQsTj0xNSk6Tj09NDM/KFo9Yy5sZW5ndGgtMSxOPTkxKTpOPT04OT9OPUc/NzM6NzU6Tj09NzE/KEc9Ry5ObyxOPTg5KTpOPT04P049UiBpbnN0YW5jZW9mIGFCPzY5OjE0Ok49PTEyP049Yz80Mzo2Ok49PTk3JiYoTj0hUi5QdCYmWjxjLmxlbmd0aD84NToyNSl9fSx1KS5VPWZ1bmN0aW9uKCl7dGhpcy5Obz0oRFouTy5VLmNhbGwodGhpcyksdGhpcy5JJiZCdSg3MiwwLHRydWUsdGhpcy5JKSxudWxsKX0sdS5DWD1mdW5jdGlvbihrLFIsRyxoKXtyZXR1cm4gdGhpcy5JLkNYKFN0cmluZyhrKSxSLEcsaCl9LHUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gdGhpcy5JLmhhc0xpc3RlbmVyKGshPT12b2lkIDA/U3RyaW5nKGspOnZvaWQgMCxSKX07dmFyIHNSLFVSLHJyPShYMS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaisiIn0sRXJyb3IpLG1EPXtGaTowLEFzOjEsemU6MiwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifTtTTS5wcm90b3R5cGU9RHkocnIucHJvdG90eXBlKSxTTS5wcm90b3R5cGUuY29uc3RydWN0b3I9U007c3dpdGNoKCF0MCl7Y2FzZSAhW10hPShudWxsIT1mYWxzZSk6Zm9yKHZhciB3ciBpbiBycilpZih3ciE9InByb3RvdHlwZSIpaWYoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpe3ZhciBlOD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJyLHdyKTtlOCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFNNLHdyLGU4KX1lbHNlIFNNW3dyXT1yclt3cl07YnJlYWs7Y2FzZSBmYWxzZTp0MChTTSxycik7YnJlYWt9aWYoTmFOIT09KCgodT0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoKFNNLk89cnIucHJvdG90eXBlLCIgIikpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLG5uKS5wcm90b3R5cGUsdSkuRj1mdW5jdGlvbihrKXtyZXR1cm4gdHlwZW9mIGs9PT0ic3RyaW5nIj90aGlzLk1vLmdldEVsZW1lbnRCeUlkKGspOmt9LHUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oayxSKXtyZXR1cm4oUnx8dGhpcy5NbykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGspKX0sdS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz0oUj10aGlzLk1vLFN0cmluZyhrKSksUi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoRz1HLnRvTG93ZXJDYXNlKCkpLFIpLmNyZWF0ZUVsZW1lbnQoRyl9LHUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oayl7cmV0dXJuIHRoaXMuTW8uY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGspKX0sdS5hcHBlbmRDaGlsZD1mdW5jdGlvbihrLFIpe2suYXBwZW5kQ2hpbGQoUil9LHUpLmFwcGVuZD1mdW5jdGlvbihrLFIpe3RXKDE4LGZhbHNlLCJudW1iZXIiLCIiLDAsay5ub2RlVHlwZT09OT9rOmsub3duZXJEb2N1bWVudHx8ay5kb2N1bWVudCxhcmd1bWVudHMsayl9LHUuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKGssUil7e1I9MDt3aGlsZShSIT01NSlpZihSPT0wKVI9ay5ub2RlVHlwZSE9MT85ODoyODtlbHNle2lmKFI9PTI4KXtzd2l0Y2goay50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfWlmKFI9PTk4KXJldHVybiBmYWxzZX19fSx1LnJlbW92ZU5vZGU9UGQsdS5jb250YWlucz1mdW5jdGlvbihrLFIsRyxoKXtmb3IoaD05OTtoIT0xODspe2lmKGg9PTUxKXJldHVybiBrPT1SfHxrLmNvbnRhaW5zKFIpO2lmKGg9PTg3KWg9ay5jb250YWlucyYmUi5ub2RlVHlwZT09MT81MToyNDtlbHNlIGlmKGg9PTI3KWg9MjA7ZWxzZSBpZihoPT00NylSPVIucGFyZW50Tm9kZSxoPTI3O2Vsc2UgaWYoaD09NjgpaD0yMDtlbHNle2lmKGg9PTYwKXJldHVybiBrPT1SfHwhIShHPWsuY29tcGFyZURvY3VtZW50UG9zaXRpb24oUiksLX4oRyYxNikrKEdeMTYpKyh+R14xNikpO2lmKGg9PTk5KWg9ayYmUj84Nzo1NztlbHNle2lmKGg9PTM3KXJldHVybiBSPT1rO2lmKGg9PTI0KWg9dHlwZW9mIGsuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzYwOjY4O2Vsc2UgaWYoaD09MjApaD1SJiZrIT1SPzQ3OjM3O2Vsc2UgaWYoaD09NTcpcmV0dXJuIGZhbHNlfX19fSxOdW1iZXIodW5kZWZpbmVkKSkpaFcoNzQsSVkpOygodT0oQlkoMiwoSVkucHJvdG90eXBlLmJxPShJWS5wcm90b3R5cGUuR2U9MCwiIiksNDEpLERELERaKSxERC5wcm90b3R5cGUpLHUub2E9SVkublgoKSx1LkY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfSx1LmdldFBhcmVudD1mdW5jdGlvbigpe2lmKCFbXSE9KCFbXT09MCkpcmV0dXJuIHRoaXMuWjd9LHUuQnQ9ZnVuY3Rpb24oKXsoSUIoMyx0aGlzLGZ1bmN0aW9uKGspe2suam0mJmsuQnQoKX0pLHRoaXMpLnMyJiZCdSg3MSwwLHRydWUsdGhpcy5zMiksdGhpcy5qbT1mYWxzZX0sdS5VPWZ1bmN0aW9uKGspe3trPTcxO3doaWxlKGshPTY1KWs9PTQzP2s9dGhpcy5zMj8xMDo5MTprPT0xMD8odGhpcy5zMi5kaXNwb3NlKCksZGVsZXRlIHRoaXMuczIsaz05MSk6az09NzE/KHRoaXMuam0mJnRoaXMuQnQoKSxrPTQzKTprPT05MSYmKElCKDcsdGhpcyxmdW5jdGlvbihSKXtSLmRpc3Bvc2UoKX0pLCF0aGlzLlhpJiZ0aGlzLkEmJlBkKHRoaXMuQSksdGhpcy5LWD10aGlzLlFuPXRoaXMuQT10aGlzLlo3PW51bGwsREQuTy5VLmNhbGwodGhpcyksaz02NSl9fSx1KS56Zj1mdW5jdGlvbihrLFIpe3tSPTM0O3doaWxlKFIhPTIpe2lmKFI9PTM2KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO1I9PTM0P1I9dGhpcy5aNyYmdGhpcy5aNyE9az8zNjo5NDpSPT05NCYmKERELk8uemYuY2FsbCh0aGlzLGspLFI9Mil9fX0sdSkucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe3tOPTMzO3doaWxlKE4hPTcxKXtpZihOPT01OSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09NDcpYz10aGlzLktYLEI9KGMhPT1udWxsJiZoIGluIGM/Y1toXTp2b2lkIDApfHxudWxsLE49Mzg7ZWxzZSBpZihOPT04MilaPXRoaXMuS1gsaCBpbiBaJiZkZWxldGUgWltoXSx0VygxMywwLGssdGhpcy5RbiksTj04NztlbHNlIGlmKE49PTkxKU49KEQ9ay5jVik/MDo3ODtlbHNle2lmKE49PTkpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09MCluPUQsTj04MDtlbHNlIGlmKE49PTc1KW09ayxOPTE2O2Vsc2UgaWYoTj09MTYpTj1tPT1udWxsPzU5Ojk4O2Vsc2UgaWYoTj09OTgpbS5aNz1udWxsLERELk8uemYuY2FsbChtLG51bGwpLE49NTQ7ZWxzZSBpZihOPT0zMSlOPXR5cGVvZiBrPT09InN0cmluZyI/ODE6OTE7ZWxzZSBpZihOPT00MylOPWgmJms/ODI6NTQ7ZWxzZSBpZihOPT03OClHPWsub2EsVD1HLmJxKyI6IisoRy5HZSsrKS50b1N0cmluZygzNiksRD1rLmNWPVQsTj0wO2Vsc2UgaWYoTj09NylOPXRoaXMuS1gmJmg/NDc6Mjk7ZWxzZSBpZihOPT0yOSlCPW51bGwsTj0zODtlbHNlIGlmKE49PTgxKW49ayxOPTgwO2Vsc2UgaWYoTj09NTYpay5CdCgpLGsuQSYmUGQoay5BKSxOPTc1O2Vsc2UgaWYoTj09ODcpTj1SPzU2Ojc1O2Vsc2V7aWYoTj09NDYpcmV0dXJuIGs7Tj09Mzg/KGs9QixOPTQzKTpOPT0zMz9OPWs/MzE6NTQ6Tj09ODA/KGg9bixOPTcpOk49PTU0JiYoTj1rPzQ2OjkpfX19fX07dmFyIGx6LGo4PSh1PShoVyg3NSxmciksZnIucHJvdG90eXBlKSx1LklvPWZ1bmN0aW9uKGssUixHLGgpeyhoPWsuRj9rLkYoKTprKSYmKEc/THI6VmgpKGgsW1JdKX0sdS5BeD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Wj03Mzt7bj0yNDt3aGlsZSgibyIpdHJ5e2lmKFo9PTQpYnJlYWs7ZWxzZSBaPT01Mj8oYy50YWJJbmRleD0wLFo9NCk6Wj09OD8obj0yNCxaPTIxKTpaPT0yMT8obj0yNCxaPTY3KTpaPT0yOD9aPUQhPVI/NjM6NDpaPT0yNT8oRz1oLnRhYkluZGV4LEQ9dHlwZW9mIEc9PT0ibnVtYmVyIiYmRz49MCYmRzwzMjc2OCxaPTI4KTpaPT05MD8oYy50YWJJbmRleD0tMSxjLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSxaPTQpOlo9PTI5P1o9KEQ9aC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzI1OjI4Olo9PTk4P1o9Uj81Mjo5MDpaPT0xMT9aPSFSJiZNUCg1LDMyLGspPzk5OjI5Olo9PTY3P1o9TVAoNywzMixrKT84MDoyOTpaPT04MD8oay5ZZSY0JiZrLnJiJjQmJmsuc2V0QWN0aXZlKGZhbHNlKSxrLlllJjMyJiZrLnJiJjMyJiZJQigxNCw0LGssZmFsc2UsMzIpJiZrLnYoZmFsc2UsMzIpLFo9MjkpOlo9PTk5PyhuPTEyLGguYmx1cigpLFo9MjEpOlo9PTYzPyhjPWgsWj05OCk6Wj09NzMmJihaPWsucmImMzImJihoPWsuaVgoKSk/MTE6NCl9Y2F0Y2goQil7aWYobj09MjQpdGhyb3cgQjtuPT0xMiYmKG09QixaPTgpfX19LHtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSk7dS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifTt3aGlsZSgwPT09LU51bWJlcigpKWlmKHUuYlg9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXsoKGg9KG49KGx6fHwobHo9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxseltSXSksay5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCkpPyhEPWo4W2hdfHxuLFo9bj09ImNoZWNrZWQifHxuPT0ic2VsZWN0ZWQiP0Q6bik6Wj1uLGM9WikmJk9SKDEyLDgsZmFsc2UsImhpZGRlbiIsayxHLGMpfSx0cnVlKWJyZWFrO2lmKHUuaVg9KHUudj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaKXt7Wj03OTt3aGlsZShaIT0xKVo9PTA/KGg9dGhpcy5maigpLGgucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLlprPXsxOmgrIi1kaXNhYmxlZCIsMjpoKyItaG92ZXIiLDQ6aCsiLWFjdGl2ZSIsODpoKyItc2VsZWN0ZWQiLDE2OmgrIi1jaGVja2VkIiwzMjpoKyItZm9jdXNlZCIsNjQ6aCsiLW9wZW4ifSxaPTU2KTpaPT03OT8oRD1SLkYoKSxaPTIwKTpaPT0yMD9aPUQ/MTM6MTpaPT01Nj8oKGM9dGhpcy5aa1trXSkmJnRoaXMuSW8oUixjLEcpLHRoaXMuYlgoRCxrLEcpLFo9MSk6Wj09MTMmJihaPXRoaXMuWms/NTY6MCl9fSxmdW5jdGlvbihrKXtyZXR1cm4gay5GKCl9KSxbXSlCWSgyLDQ0LEZYLGZyKTt2YXIgbnI9KChoVyg3MixGWCksRlgpLnByb3RvdHlwZS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LEZYLnByb3RvdHlwZS5iWD1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKFIpe2Nhc2UgODpjYXNlIDE2Ok9SKDEyLDUsZmFsc2UsImhpZGRlbiIsayxHLCJwcmVzc2VkIik7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTpGWC5PLmJYLmNhbGwodGhpcyxrLFIsRyl9fSx7fSk7aWYoKCgoKCgoKCh1PShCWSgyLDQyLGI5LEREKSxiOSkucHJvdG90eXBlLHUpLmppPXRydWUsdSkuSW89ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTU2O0chPTI0OylHPT04Mj8odGhpcy5EP2UoNDMsMCxrLHRoaXMuRCl8fHRoaXMuRC5wdXNoKGspOnRoaXMuRD1ba10sdGhpcy5DLklvKHRoaXMsayx0cnVlKSxHPTI0KTpHPT03Mz8odGhpcy5DLklvKHRoaXMsayxmYWxzZSksRz0yNCk6Rz09MTk/Rz10aGlzLkQubGVuZ3RoPT0wPzQwOjczOkc9PTQwPyh0aGlzLkQ9bnVsbCxHPTczKTpHPT01Nj9HPVI/MTM6NzE6Rz09MTM/Rz1rPzgyOjI0Okc9PTcxJiYoRz1rJiZ0aGlzLkQmJnRXKDYsMCxrLHRoaXMuRCk/MTk6MjQpfSx1KS5pWD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkMuaVgodGhpcyl9LHUucmI9MzksdSkuaXE9MCx1KS5ZZT0yNTUsdS5CdD1mdW5jdGlvbigpeygoYjkuTy5CdC5jYWxsKHRoaXMpLHRoaXMuVTIpJiZ0aGlzLlUyLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkpJiZ0aGlzLkMuQXgodGhpcyxmYWxzZSl9LHUuVT1mdW5jdGlvbihrKXt7az03NTt3aGlsZShrIT02MilrPT03MD8oZGVsZXRlIHRoaXMuQyx0aGlzLkQ9bnVsbCxrPTYyKTprPT01Mz9rPXRoaXMuVTI/OTE6NzA6az09OTE/KHRoaXMuVTIuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLlUyLGs9NzApOms9PTc1JiYoYjkuTy5VLmNhbGwodGhpcyksaz01Myl9fSx1KS5EPW51bGwsdS5PMj0wLHUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaml9LHUpLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiFNUCgxMCwxLHRoaXMpfSx1LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIE1QKDksNCx0aGlzKX0sdS5zZXRBY3RpdmU9ZnVuY3Rpb24oayl7SUIoMTAsNCx0aGlzLGssNCkmJnRoaXMudihrLDQpfSx1KS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk8yfSx1LnY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9Nzg7WiE9ODk7KVo9PTgzPyhEPSFrLGM9dGhpcy5nZXRQYXJlbnQoKSxaPTM1KTpaPT0xNj9aPUQ/MTQ6NzQ6Wj09NzQ/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxJQigxMiw0LHRoaXMsZmFsc2UsMikmJnRoaXMudihmYWxzZSwyKSxaPTE0KTpaPT0yNT8odGhpcy5DLnYoUix0aGlzLGspLHRoaXMuTzI9az8oaD10aGlzLk8yLC0xLX5oLShoJn5SKSsoaF5SKSk6dGhpcy5PMiZ+UixaPTg5KTpaPT00Mj9aPXRoaXMucmImUiYmayE9TVAoMyxSLHRoaXMpPzI1Ojg5Olo9PTM1P1o9YyYmdHlwZW9mIGMuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhYy5pc0VuYWJsZWQoKXx8IUlCKDMyLDQsdGhpcywhRCwxKT84OToxNjpaPT03OD9aPUd8fFIhPTE/NDI6ODM6Wj09MTQmJih0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkMuQXgodGhpcyxEKSx0aGlzLnYoIUQsMSx0cnVlKSxaPTg5KX0sdHlwZW9mIGI5IT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitiOSk7aWYodHlwZW9mIGZyIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2ZyKTt2YXIgYVk9Q24oNjQsMTcsYjkpOygoQlkoMiw0MCxnVSwoKEJZKDIsNDYsUWYsKGEoNixmdW5jdGlvbigpe3JldHVybiBuZXcgYjkobnVsbCl9LChuclthWV09ZnIsImdvb2ctY29udHJvbCIpKSxGWCkpLGhXKDczLFFmKSxRZi5wcm90b3R5cGUuQXg9ZnVuY3Rpb24oKXt9LFFmLnByb3RvdHlwZSkudj1mdW5jdGlvbihrLFIsRyxoLEQpe3tEPTkxO3doaWxlKEQhPTQyKUQ9PTkxPyhRZi5PLnYuY2FsbCh0aGlzLGssUixHKSxoPVIuRigpLEQ9NjEpOkQ9PTgzPyhoLmRpc2FibGVkPUcsRD00Mik6RD09NjEmJihEPWgmJms9PTE/ODM6NDIpfX0sUWYucHJvdG90eXBlLmJYPWZ1bmN0aW9uKCl7fSxiOSkpLGdVLnByb3RvdHlwZSkuVT1mdW5jdGlvbigpe2RlbGV0ZSAoZGVsZXRlIChnVS5PLlUuY2FsbCh0aGlzKSx0aGlzKS5KMyx0aGlzKS5kTn0sYSkoNSxmdW5jdGlvbigpe3JldHVybiBuZXcgZ1UobnVsbCl9LCJnb29nLWJ1dHRvbiIpO3ZhciBaRCx1OT1ILnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oayl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe2soKX0se3RpbWVvdXQ6NH0pfTpILnNldEltbWVkaWF0ZT9mdW5jdGlvbihrKXtzZXRJbW1lZGlhdGUoayl9OmZ1bmN0aW9uKGspe3NldFRpbWVvdXQoaywwKX0sb3Y9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LFZmPW9CKDEzLDEwLFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSksdlk9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksd1U9e30sJGY9W10sUlk9KHgucHJvdG90eXBlLlB3PXZvaWQgMCx4LnByb3RvdHlwZS5MWD0oeC5wcm90b3R5cGUuTm09ZmFsc2UsInRvU3RyaW5nIiksW10pLGRyPVtdLEFvPSh4LnByb3RvdHlwZS5mUT12b2lkIDAsW10pLEJkPVtdLG1jPVtdLEd0PVtdLE1UPVtdLHhuPVtdLHpOPWZ1bmN0aW9uKGssUil7d2hpbGUoIVtdPT1mYWxzZSl7cmV0dXJuKFI9QVcoNDEsImFkIiwxNykpJiZrLmV2YWwoUi5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBSLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR307aWYoImEiKWJyZWFrfX0oSCkseXI9ZnVuY3Rpb24oayl7cmV0dXJuKGs9QVcoNDEsImFkIiwxNikpP2Z1bmN0aW9uKFIpe3JldHVybiBrLmNyZWF0ZVNjcmlwdFVSTChSKX06ZnVuY3Rpb24oUil7cmV0dXJuIFJ9fSgpLEVlPWZ1bmN0aW9uKGspe3JldHVybihrPUFXKDQxLCJhZCIsMTkpKT9mdW5jdGlvbihSKXtyZXR1cm4gay5jcmVhdGVIVE1MKFIpfTpmdW5jdGlvbihSKXtyZXR1cm4gUn19KCkseWY9KCgoKChpTixZZixTOCxueCxaeSxmdW5jdGlvbigpe30pKEU1KSxmdW5jdGlvbigpe30pKFdZKSxmdW5jdGlvbigpe30pKHM1KSx5cixmdW5jdGlvbigpe30pKEVlKSx3VSkuY29uc3RydWN0b3IsU2U9KCgoKCgoKHgucHJvdG90eXBlLkxqPTAseC5wcm90b3R5cGUuUj0odT14LnByb3RvdHlwZSwiY3JlYXRlIiksdSkuSj0od2luZG93LnBlcmZvcm1hbmNlfHx7fSkubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmErd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sdSkuaHM9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gQ24uY2FsbCh0aGlzLDY0LDMyLGssUixHLGgsRCl9LHUpLlJvPWZ1bmN0aW9uKCl7cmV0dXJuIGhXLmNhbGwodGhpcyw1Nil9LHUpLnNfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7cmV0dXJuIE1QLmNhbGwodGhpcyw1NixrLFIsRyxoLEQsYyxaLG4pfSx1KS50cz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gUkIuY2FsbCh0aGlzLDIxLGssUixHLGgsRCxjLFosbixtLEIpfSx1LnBqPWZ1bmN0aW9uKCl7cmV0dXJuIFJCLmNhbGwodGhpcyw2NCl9LHUpLnBYPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIFkuY2FsbCh0aGlzLGssOSxSLEcsaCxEKX0sdS5IVj0wLHZvaWQgMCksSm89KHU9eC5wcm90b3R5cGUsdS5pPWZ1bmN0aW9uKGssUil7cmV0dXJuIFI9KGs9e30sU2U9ZnVuY3Rpb24oKXtyZXR1cm4gaz09Uj81ODoxMDZ9LHt9KSxmdW5jdGlvbihHLGgsRCxjLFosbixtLEIsVCxOLFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKLHosUHUsbTcsZyxlTSxMLFU1LHQsVSxPNSxZbixwLEN4KXtmb3IodD0zMixVPXVuZGVmaW5lZCxwPTIwLEN4PWZhbHNlOzspdHJ5e2lmKHQ9PTY1KWJyZWFrO2Vsc2UgaWYodD09NDQpdD1CPzc3OjEwO2Vsc2UgaWYodD09OTEpcD00NyxiTig1NywzMDAwMSx0aGlzLDQxKSx0PTM3O2Vsc2UgaWYodD09ODcpcD00Nyxhdig1MDYsdGhpcywxNyxPNSksVT02NSx0PTM3O2Vsc2UgaWYodD09MjcpVSE9PXVuZGVmaW5lZD8odD1VLFU9dW5kZWZpbmVkKTp0PTY1O2Vsc2UgaWYodD09MjkpcD00Nyx0PTk1O2Vsc2UgaWYodD09MTcpcD01NSxHbygpLHQ9OTU7ZWxzZSBpZih0PT00MSl0PVA9PW1jPzI0OjIxO2Vsc2UgaWYodD09NzApdD0zOTtlbHNlIGlmKHQ9PTU3KXQ9Zy5sZW5ndGg+ND81NjozNjtlbHNlIGlmKHQ9PTI4KU4ubGVuZ3RoPTAsdD0zNztlbHNlIGlmKHQ9PTYpcD03MCx0aGlzLndiPU5UKDI1NSw0MCwwLGF0b2IoJG4pKSx0aGlzLmo9dGhpcy53Yi5sZW5ndGg8PDMsQSgzNjMsdGhpcyxbMCwwLDBdKSx0PTkxO2Vsc2UgaWYodD09MjIpe2lmKEU9KE49Vyh0aGlzLDcxKSx0eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yKSYmTltTeW1ib2wuaXRlcmF0b3JdKXo9RS5jYWxsKE4pO2Vsc2UgaWYodHlwZW9mIE4ubGVuZ3RoPT0ibnVtYmVyIil6PXtuZXh0Ok9SKDEyLDcyLDAsTil9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKE4pKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO3Q9KFQ9KHk9eix5Lm5leHQoKSksNDgpfWVsc2UgaWYodD09Nyl0PUdbNF0/NjQ6NTk7ZWxzZSBpZih0PT02NCl7Zm9yKFggaW4gQj1mYWxzZSxoKWlmKFghPT0idCImJk9iamVjdC5oYXNPd24oaCxYKSl7Qj10cnVlO2JyZWFrfXQ9NDR9ZWxzZSBpZih0PT01Myl0PVA9PUJkPzgyOjQzO2Vsc2UgaWYodD09MzgpSj0wLE89IiIsdD03MDtlbHNlIGlmKHQ9PTU2KXQ9Zy5sZW5ndGg+MUU2Pzg4Ojk3O2Vsc2UgaWYodD09MTUpWW49UWgoMCxHWzFdLDE1NywzMDAwMSx0aGlzKSxVPTk5LHQ9Mzc7ZWxzZSBpZih0PT00Myl0PVA9PUFvPzgxOjQxO2Vsc2UgaWYodD09MjUpdD1QPT1kcj8yMjozNztlbHNlIGlmKHQ9PTMyKWVNPWssaz1SLHQ9MztlbHNlIGlmKHQ9PTk2KWg9e30sdj0wLHQ9ODtlbHNlIGlmKHQ9PTg4KWc9Zy5zbGljZSgwLDFFNiksbE4oNDg4LFtdLDcsdGhpcywxMDIpLGplKDQ4OCxbXSx0aGlzLDEzNSksdD05NztlbHNlIGlmKHQ9PTY4KSRuPUdbMV0sdD02O2Vsc2UgaWYodD09NjYpSisrLHQ9Mzk7ZWxzZSBpZih0PT03NCl0PU8/Nzk6Mzg7ZWxzZSBpZih0PT04MSlyPUdbMV1bMV0sYz1LKDIsKG09Yih0aGlzLDQ4OCkubGVuZ3RoLC0yKn4obSYyKSstMisobV4yKSkpLHdKPXRoaXMuQix0aGlzLkI9dGhpcyx0PTExO2Vsc2UgaWYodD09MjQpUWgoMCxHWzFdLDE1NyxHWzJdLHRoaXMpLHQ9Mzc7ZWxzZSBpZih0PT0xOSl0PVUhPT11bmRlZmluZWQ/Mzc6NDtlbHNlIGlmKHQ9PTQpcD00NyxTPVlmKDIpLmNvbmNhdChiKHRoaXMsNDg4KSksU1sxXT0oTT1TWzBdLC0oTXwwKSsoTXwxNTkpKyhNJi0xNjApKSxTWzNdPVNbMV1eY1swXSxTWzRdPVNbMV1eY1sxXSxPPXRoaXMubmooUyksdD03NDtlbHNlIGlmKHQ9PTM2KXA9NDcsdGhpcy5CPXdKLHQ9MTk7ZWxzZSBpZih0PT05NSlUPXkubmV4dCgpLHQ9NDI7ZWxzZSBpZih0PT01MSl0PVA9PSRmPzk2OjUzO2Vsc2UgaWYodD09NTkpdGhpcy5QLnB1c2gobCksdGhpcy5QLnB1c2godyksVT02NSx0PTM3O2Vsc2UgaWYodD09MzkpdD1KPFMubGVuZ3RoPzYwOjYyO2Vsc2UgaWYodD09NzcpWW49e1FUOncsYWE6bCx0aW1lb3V0OnYsTW06ZmFsc2UsSWE6MH0sVT02Myx0PTM3O2Vsc2UgaWYodD09MzMpdD1QPT1HdD82ODo1MTtlbHNlIGlmKHQ9PTQyKXQ9VC5kb25lPzI4Ojk4O2Vsc2UgaWYodD09ODIpbj1HWzFdLG5bMV0ucHVzaChWKDE5MSx0aGlzKS5sZW5ndGgsVyh0aGlzLDE0KS5sZW5ndGgsVyh0aGlzLDQ4OCkubGVuZ3RoLGIodGhpcyw0NDYpLmxlbmd0aCxiKHRoaXMsMTYzKS5sZW5ndGgsYih0aGlzLDMwMilbMF0sVigyNjQsdGhpcykubGVuZ3RoLFcodGhpcyw0MikubGVuZ3RoKSxRKHRoaXMsMTU3LG5bMl0pLHRoaXMuWVs0NjldJiZRaCgwLFYoNDY5LHRoaXMpLDE1NywzMDAwMSx0aGlzKSx0PTM3O2Vsc2UgaWYodD09OTgpR289VC52YWx1ZSx0PTE3O2Vsc2UgaWYodD09NDApcD00Nyx3PVtCZCxHLHRoaXMuUm8oKV0sbD1bQW8sR10sdD03O2Vsc2UgaWYodD09MylwPTQ3LFA9R1swXSx0PTMzO2Vsc2UgaWYodD09MzcpcD0yMCxrPWVNLHQ9Mjc7ZWxzZXtpZih0PT00NylyZXR1cm4gWW47aWYodD09OClwPTc3LGg9Yih0aGlzLDU1KXx8e30sdj1oLnR8MCx0PTQwO2Vsc2UgaWYodD09NjApZD1TW0pdW3RoaXMuTFhdKDE2KSxkLmxlbmd0aD09MSYmKGQ9IjAiK2QpLE8rPWQsdD02NjtlbHNlIGlmKHQ9PTk3KWplKDQ4OCxLKDIsZy5sZW5ndGgpLmNvbmNhdChnKSx0aGlzLDUpLHQ9MzY7ZWxzZSBpZih0PT0xMSlwPTc2LG03PWIodGhpcyw1MDYpLG03Lmxlbmd0aD4wJiZsTig0ODgsSygyLG03Lmxlbmd0aCkuY29uY2F0KG03KSw3LHRoaXMsMTQ3KSxsTig0ODgsSygxLHRoaXMuSCsxPj4xKSw3LHRoaXMsMjQ0KSxqZSg0ODgsSygxLHRoaXNbQW9dLmxlbmd0aCksdGhpcyksUHU9dGhpcy5IdD9WKDE2Myx0aGlzKTpiKHRoaXMsNDQ2KSxQdS5sZW5ndGg+MCYmbE4oMTQsSygyLFB1Lmxlbmd0aCkuY29uY2F0KFB1KSw3LHRoaXMsMjI3KSxGPVYoMTQsdGhpcyksRi5sZW5ndGg+NCYmamUoNDg4LEsoMixGLmxlbmd0aCkuY29uY2F0KEYpLHRoaXMsMjI2KSxJPTAsSSs9Yih0aGlzLDEwMykmMjA0NyxJLT0oWj1WKDQ4OCx0aGlzKS5sZW5ndGgsLTItMip+KFp8NSktKFpeNSkpLGc9Vig0Mix0aGlzKSxnLmxlbmd0aD40JiYoSS09KGcubGVuZ3RofDApKzMpLEk+MCYmamUoNDg4LEsoMixJKS5jb25jYXQoWWYoSSkpLHRoaXMsMTUwKSx0PTU3O2Vsc2UgaWYodD09NzkpTz0iJCIrTyx0PTYyO2Vsc2V7aWYodD09OTkpcmV0dXJuIFluO2lmKHQ9PTEwKXRoaXMuUC5wdXNoKGwpLHRoaXMuUC5wdXNoKHcpLFU9NjUsdD0zNztlbHNlIGlmKHQ9PTIxKXQ9UD09TVQ/MTU6MjU7ZWxzZSBpZih0PT02MilEPU8sYih0aGlzLDE5MSkubGVuZ3RoPXIuc2hpZnQoKSxiKHRoaXMsMTQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQ4OCkubGVuZ3RoPXIuc2hpZnQoKSxXKHRoaXMsNDQ2KS5sZW5ndGg9ci5zaGlmdCgpLFYoMTYzLHRoaXMpLmxlbmd0aD1yLnNoaWZ0KCksVigzMDIsdGhpcylbMF09ci5zaGlmdCgpLFcodGhpcywyNjQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQyKS5sZW5ndGg9ci5zaGlmdCgpLFluPUQsVT00Nyx0PTM3O2Vsc2V7aWYodD09NjMpcmV0dXJuIFluO2lmKHQ9PTQ4KXQ9NDI7ZWxzZSBpZih0PT05MCl0aHJvdyBVNTt9fX19Y2F0Y2goaG8pe2lmKHA9PShVNT1obywyMCkpdGhyb3cgaG87cD09NDc/KFU9OTAsdD0zNyk6cD09NzA/KE81PWhvLHQ9ODcpOnA9PTc2PyhVPTkwLHQ9MzYpOnA9PTc3PyhVPTkwLHQ9NDApOnA9PTU1JiYoTD1obyx0PTI5KX19fSgpLHUudXE9ZnVuY3Rpb24oayl7cmV0dXJuIEJZLmNhbGwodGhpcyxrLDcyKX0sLy4vKTtpZih0cnVlKXUubmo9ZnVuY3Rpb24oayl7cmV0dXJuIENuLmNhbGwodGhpcyw2NCw4LGspfTt2YXIgeGY7aWYodS5TaT0odS50eD1mdW5jdGlvbigpe3JldHVybiBDbi5jYWxsKHRoaXMsNjQsNDgpfSwwKSx0cnVlKXUuck49MDt2YXIgSGQ9R3QucG9wLmJpbmQoeC5wcm90b3R5cGVbeC5wcm90b3R5cGVbUlldPSh1LmVpPWZ1bmN0aW9uKCl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiwxNCl9LFswLDAsMSwxLDAsMSwxXSksQmRdKTsoWkQ9KHhmPXRXKDkzLChKb1t4LnByb3RvdHlwZS5MWF09SGQse2dldDpIZH0pLHgucHJvdG90eXBlLlIpLHgucHJvdG90eXBlLldWPXZvaWQgMCxILnRyYXlyaWRlKXx8KEgudHJheXJpZGU9e30pLFpELm0+NDB8fChaRC5tPTQxLFpELmFkPWgwLFpELmE9Z0opLFpEKS5ScnZfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3JldHVybltmdW5jdGlvbihUKXtyZXR1cm4gTG4oMyxmYWxzZSxCLDcsVCl9LChCPW5ldyB4KGgsayxELGMsUixtLG4sWiksZnVuY3Rpb24oVCl7Qi50eChUKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs="}},"time_used":40,"timings":{"blocked":-1,"dns":3,"connect":23,"send":0,"wait":9,"receive":4,"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":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%5D%2C%22colorTheme%22%3A%22dark%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.740Z","timestamp":1785120763740,"http_version":"","security_state":"","security_info":null,"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/forex-cross-rates/?locale=en\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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=horizontal_v2\u0026theme=dark\u0026pref_coin_id=1505\u0026invert_hover=no","date":"2026-07-27T02:52:41.809Z","timestamp":1785120761809,"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=dark\u0026pref_coin_id=1505\u0026invert_hover=no\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: 3808278\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 02:52:41 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=AiiSeKBFWsp5UaPOtz25TVgquvd%2FlB%2BENJpNHdRTZGnR%2F22ZyRmgcaps1KqkbfKyuJBFXmCWLK8a%2BJ4LWFYLBnAiVtRHV26kvlULFxjZQSTIfjMFo5brhY30EVNL\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21859794bd40daa-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":"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"]}],"data":{"size":224417,"size_decoded":73403,"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-07-27T05:24:59.874743Z","times_seen":1359,"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":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":2,"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.099Z","timestamp":1785120763099,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: f2471c1efd4de77354cdb8633bd4f797\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-07-27T05:26:55.607441Z","times_seen":218,"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":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/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/market-overview/?locale=en#%7B%22colorTheme%22%3A%22dark%22%2C%22dateRange%22%3A%2212M%22%2C%22showChart%22%3Atrue%2C%22largeChartUrl%22%3A%22%22%2C%22isTransparent%22%3Afalse%2C%22showSymbolLogo%22%3Atrue%2C%22showFloatingTooltip%22%3Afalse%2C%22width%22%3A%22100%25%22%2C%22height%22%3A500%2C%22plotLineColorGrowing%22%3A%22rgba(0%2C%20255%2C%200%2C%201)%22%2C%22plotLineColorFalling%22%3A%22rgba(255%2C%200%2C%200%2C%201)%22%2C%22gridLineColor%22%3A%22rgba(42%2C%2046%2C%2057%2C%200.5)%22%2C%22scaleFontColor%22%3A%22rgba(106%2C%20109%2C%20120%2C%201)%22%2C%22belowLineFillColorGrowing%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorFalling%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22belowLineFillColorGrowingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22belowLineFillColorFallingBottom%22%3A%22rgba(41%2C%2098%2C%20255%2C%200)%22%2C%22symbolActiveColor%22%3A%22rgba(41%2C%2098%2C%20255%2C%200.12)%22%2C%22tabs%22%3A%5B%7B%22title%22%3A%22Indices%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22d%22%3A%22US%20100%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3ADJI%22%2C%22d%22%3A%22Dow%2030%22%7D%2C%7B%22s%22%3A%22INDEX%3ANKY%22%2C%22d%22%3A%22Nikkei%20225%22%7D%2C%7B%22s%22%3A%22INDEX%3ADEU40%22%2C%22d%22%3A%22DAX%20Index%22%7D%2C%7B%22s%22%3A%22FOREXCOM%3AUKXGBP%22%2C%22d%22%3A%22UK%20100%22%7D%5D%2C%22originalTitle%22%3A%22Indices%22%7D%2C%7B%22title%22%3A%22Futures%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME_MINI%3AES1!%22%2C%22d%22%3A%22S%26P%20500%22%7D%2C%7B%22s%22%3A%22CME%3A6E1!%22%2C%22d%22%3A%22Euro%22%7D%2C%7B%22s%22%3A%22COMEX%3AGC1!%22%2C%22d%22%3A%22Gold%22%7D%2C%7B%22s%22%3A%22NYMEX%3ACL1!%22%2C%22d%22%3A%22Crude%20Oil%22%7D%2C%7B%22s%22%3A%22NYMEX%3ANG1!%22%2C%22d%22%3A%22Natural%20Gas%22%7D%2C%7B%22s%22%3A%22CBOT%3AZC1!%22%2C%22d%22%3A%22Corn%22%7D%5D%2C%22originalTitle%22%3A%22Futures%22%7D%2C%7B%22title%22%3A%22Bonds%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22CME%3AGE1!%22%2C%22d%22%3A%22Eurodollar%22%7D%2C%7B%22s%22%3A%22CBOT%3AZB1!%22%2C%22d%22%3A%22T-Bond%22%7D%2C%7B%22s%22%3A%22CBOT%3AUB1!%22%2C%22d%22%3A%22Ultra%20T-Bond%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBL1!%22%2C%22d%22%3A%22Euro%20Bund%22%7D%2C%7B%22s%22%3A%22EUREX%3AFBTP1!%22%2C%22d%22%3A%22Euro%20BTP%22%7D%2C%7B%22s%22%3A%22EUREX%3AFGBM1!%22%2C%22d%22%3A%22Euro%20BOBL%22%7D%5D%2C%22originalTitle%22%3A%22Bonds%22%7D%2C%7B%22title%22%3A%22Forex%22%2C%22symbols%22%3A%5B%7B%22s%22%3A%22FX%3AEURUSD%22%2C%22d%22%3A%22EUR%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AGBPUSD%22%2C%22d%22%3A%22GBP%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDJPY%22%2C%22d%22%3A%22USD%2FJPY%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCHF%22%2C%22d%22%3A%22USD%2FCHF%22%7D%2C%7B%22s%22%3A%22FX%3AAUDUSD%22%2C%22d%22%3A%22AUD%2FUSD%22%7D%2C%7B%22s%22%3A%22FX%3AUSDCAD%22%2C%22d%22%3A%22USD%2FCAD%22%7D%5D%2C%22originalTitle%22%3A%22Forex%22%7D%5D%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22market-overview%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.519Z","timestamp":1785120763519,"http_version":"HTTP/2","security_state":"","security_info":null,"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/market-overview/?locale=en\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 02:52:43 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: be4108d0ed4bce6acaa8553b9b5008ab\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-07-27T05:14:11.3544Z","times_seen":17556491,"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.tradingview.com/external-embedding/embed-widget-market-overview.js","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":"script","requested_by":"https://360trustwealthavenue.stglen.com/","date":"2026-07-27T02:52:40.962Z","timestamp":1785120760962,"http_version":"HTTP/2","security_state":"secure","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 /external-embedding/embed-widget-market-overview.js 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://360trustwealthavenue.stglen.com/\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\ndate: Mon, 27 Jul 2026 02:52:41 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"4da1b674340092915d8702d72bbe37b0\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:24 GMT\r\nx-amz-id-2: rkxjDwVa+BZGcmw6UeRl0QCk6QrxrYZ5+G3Y8TMcbEasggoMjLV7hySaRDfZlrrrZV4fW63Zvco=\r\nx-amz-request-id: 0C15HPBP7X7NEA7R\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: OXuJOoplCN1LBLnAR5KiXPT6J2yxzvDE\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:29:58\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9db8b3ac218507af905d529f7a583280\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":13439,"size_decoded":6122,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"4da1b674340092915d8702d72bbe37b0","sha1":"ce34f4674f2388596b084664c821b5250567b1b5","sha256":"1f6b07878dd267a707f5bb13e3a0134826e90cec748b3d157a5d5c825425d808","sha512":"3321f820f80a9e2c194db19056ee00ee2760604f76843711d9b6f1d2684cda9e54d923c356489f24bbd6cacf8990882c9228b4f66f2c9362a095be087c3448a5","ssdeep":"384:gf6uCWoofYkFdj9uA222tEVSdDmMasVBvSFTXu:uDluA222tEVSdDmMaEYJXu","tlshash":"da52e76af660dcbd51d946cfa07a2720b61e3944f203aca4b9acd4c450adccca431f7e","first_seen":"2026-07-16T22:06:47.054006Z","last_seen":"2026-07-27T05:24:15.762217Z","times_seen":791,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsbzshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KG98fChvPXt9KSk7Y29uc3Qgcz0iX19GQUlMX18iLG49Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpufWNhdGNoKHQpe3JldHVybiBzfX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBoPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGM9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxvPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e28uaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6cyxyYXdTZXR0aW5nczpuLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksYz1sfHxmdW5jdGlvbih0LGU9aCl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPXMucGFyZW50Tm9kZTtuJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihuLmxvY2FsZT0iZW4iKTtjb25zdCBnPXMubm9uY2V8fHMuZ2V0QXR0cmlidXRlKCJub25jZSIpLG09ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSx1PWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9bXx8dTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobikpLG4mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9dT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGMsYSxBLGspLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoYyksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgTD10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoTD8odChMLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxMKSxzPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLHM/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQocykpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIG8oZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbywhMSl9KG8uTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLG0pe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9bS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09Yy5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLG8pe2NvbnN0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKHMuaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fHMuc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLHMuc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxzLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIikscy5zdHlsZS51c2VyU2VsZWN0PSJub25lIixzLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIscy5zdHlsZS5kaXNwbGF5PSJibG9jayIscy5zdHlsZS5oZWlnaHQ9dCxzLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBuPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobiksdGhpcy5fc2V0SGFzaFN0cmluZyhuLGkpLHMuc2V0QXR0cmlidXRlKCJzcmMiLG4udG9TdHJpbmcoKSkscy50aXRsZT1yLHMubGFuZz1vLHN9X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IG89ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihvKXRyeXtjb25zdCBzPW5ldyBVUkwobyk7cy5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxzLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLHMuc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIscy50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7b30iYCl9fSkpfX19bmV3IGNsYXNzIGV4dGVuZHMgZHtnZXQgd2lkZ2V0SWQoKXtyZXR1cm4ibWFya2V0LW92ZXJ2aWV3In1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Xb3JrV2l0aCgpewpyZXR1cm5bImJlbG93TGluZUZpbGxDb2xvckZhbGxpbmciLCJiZWxvd0xpbmVGaWxsQ29sb3JHcm93aW5nIiwiYmVsb3dMaW5lRmlsbENvbG9yRmFsbGluZ0JvdHRvbSIsImJlbG93TGluZUZpbGxDb2xvckdyb3dpbmdCb3R0b20iLCJjaGFuZ2VEb3duQ29sb3IiLCJjaGFuZ2VOZXV0cmFsQ29sb3IiLCJjaGFuZ2VVcENvbG9yIiwiY29sb3JUaGVtZSIsImN1c3RvbWVyIiwiZGlzYWJsZUxhc3RGYWxsaW5nRmxhc2giLCJkaXNhYmxlTGFzdEdyb3dpbmdGbGFzaCIsImdyaWRMaW5lQ29sb3IiLCJoZWlnaHQiLCJoaWRlQWJzb2x1dGVDaGFuZ2UiLCJpbmRleE5hbWVCb2xkIiwiZGF0ZVJhbmdlIiwiZGF0ZVJhbmdlT3B0aW9ucyIsImlzVHJhbnNwYXJlbnQiLCJsYXJnZUNoYXJ0VXJsIiwibGFzdENvbG9yIiwibGFzdEZhbGxpbmdGbGFzaENvbG9yIiwibGFzdEdyb3dpbmdGbGFzaENvbG9yIiwibG9jYWxlIiwib25seURlc2NyaXB0aW9uIiwicGFpbnRMYXN0V2l0aENoYW5nZUNvbG9ycyIsInBsb3RMaW5lQ29sb3JGYWxsaW5nIiwicGxvdExpbmVDb2xvckdyb3dpbmciLCJzY2FsZUZvbnRDb2xvciIsInNob3dDaGFydCIsInNob3dTeW1ib2xMb2dvIiwic2hvd0Zsb2F0aW5nVG9vbHRpcCIsInN5bWJvbEFjdGl2ZUNvbG9yIiwic3ltYm9sRGVzY3JpcHRpb25Db2xvciIsInN5bWJvbFNlcGFyYXRvckNvbG9yIiwic3ltYm9sU2hvcnROYW1lQ29sb3IiLCJ0YWJBY3RpdmVDb2xvciIsInRhYkluYWN0aXZlQ29sb3IiLCJ0YWJzIiwidGFiU2xpZGVyQ29sb3IiLCJ0aWNrZXJDb2xvckZhbGxpbmciLCJ0aWNrZXJDb2xvckdyb3dpbmciLCJ2YWx1ZUJvbGQiLCJ2YWx1ZVRpdGxlTWFya2VkIiwid2lkdGgiXX19fSkoKTs="}},"time_used":80,"timings":{"blocked":-1,"dns":33,"connect":33,"send":0,"wait":2,"receive":-1,"ssl":8},"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%22mainSeriesProperties.candleStyle.upColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.downColor%22%3A%22%23f6465d%22%2C%22mainSeriesProperties.candleStyle.wickUpColor%22%3A%22%230ecb81%22%2C%22mainSeriesProperties.candleStyle.wickDownColor%22%3A%22%23f6465d%22%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_750a0%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22MASimple%40tv-basicstudies%5Cu001fRSI%40tv-basicstudies%5Cu001fMACD%40tv-basicstudies%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22withdateranges%22%3A%221%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22360trustwealthavenue.stglen.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22page-uri%22%3A%22360trustwealthavenue.stglen.com%2F%22%7D","date":"2026-07-27T02:52:43.067Z","timestamp":1785120763067,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","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 02:52:43 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: 1c6042d1f8691585794e39e46ec18231\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-07-27T05:15:36.98548Z","times_seen":4555,"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}}]}
